数据库原理及应用实验报告
学号:  姓名:
实验1
一、实验目的:
熟悉SQL Server使用界面,掌握使用SSMSSQL语句创建并设置数据库。
二、实验原理:
1.使用SSMS创建数据库
2.创建数据库语句:
CREATE  DATABASE 数据库名
    [ON  [PRIMARY]  //指定一个文件为主要文件
    [<文件格式>[,…n]]
    [<文件组格式>[,…n]] ]
    [LOG  ON {<文件格式>[,…n]}]
    <文件格式>::=
    ([NAME=逻辑文件名,]
    FILENAME=‘操作系统下的文件名和路径’
    [SIZE=文件初始容量]
    [MAXSIZE={文件最大容量|UNLIMITED}]
    [FILEGROWTH=递增值])[,…n]
<文件组格式>::=FILEGROUP 文件组名<文件格式>[,…n]
3.修改数据库语句:
ALTER  DATABASE  数据库名
    {ADD FILE <文件格式>[,n] [TO FILEGROUP  文件组名]
    |ADD  LOG  FILE<文件格式>[,…n]
    |REMOVE  FILE 逻辑文件名
    |ADD  FILEGROUP 文件组名
    |REMOVE  FILEGROUP 文件组名
    |MODIFY  FILE<文件格式>
    |MODIFY  FILEGROUP 文件组名  文件组属性}
<filespec>::=
    (NAME=逻辑文件名
    [FILENAME=‘实际文件名和路径’]
    [SIZE=容量]
    [MAXSIZE={最大容量|UNLIMITED}]
    [FILEGROWTH=递增量]
三、实验内容:
1. 使用SQL语句完成下题
(1) 使用CREATE  DATABASE语句创建一个名为“st”数据库,要求①主要数据文件:逻辑文件名为“stdata1,实际文件名为“stdata1.mdf”②事务日志文件:逻辑文件名为“stlog1,实际文件名为“stlog1.ldf”③初始容量均为3MB,最大容量均为10MB,递增量均为1MB
(2) 使用CREATE  DATABASE语句创建一个名为“student”数据库,要求①主要数据文件:逻辑文件名为“studentdata1,实际文件名为“studentdata1.mdf”②非主要数据文件:逻辑文件名为“studentdata2,实际文件名为“studentdata2.ndf”③事务日志文件:逻辑文件名为“studentlog1,实际文件名为“studentlog1.ldf”④初始容量均为3MB,最大容量均为10MB,递增量均为1MB
(3) 使用ALTER  DATABASE语句在“st 数据库中添加一个数据文件和一个事务日志文件,其逻辑文件名分别为“studentdata3”和“studentlog2”,其实际文件名分别为“studentdata3.ndf”和“studentlog2.ldf”,初始容量均为1MB,最大容量均为10MB,递增量均为1MB;然后将数据文件studentdata3的初始容量增加到5MB,上限增加到20MB
  解:(1)create  database  st  on  primary
          (name=stdata1,
          filename='d:\xs\stdata1.mdf',
          size=3mb, maxsize=10mb, filegrowth=1mb)
            log on
            (name='stlog1',
            filename='d:\xs\stlog1.ldf',
            size=1mb, maxsize=10mb, filegrowth=1mb)
            go                           
      (2)create  database  student  on  primary
            (name=studentdata1,
            filename='d:\xs\studentdata1.mdf',
            size=3mb, maxsize=10mb, filegrowth=1mb),
            (name=studentdata3,
            filename='d:\xs\studentdata2.ndf',
            size=1mb, maxsize=10mb, filegrowth=1mb)
            log on
            (name='studentlog1',
            filename='d:\xs\studentlog1.ldf',
            size=1mb, maxsize=10mb, filegrowth=1mb)
            go
      (3)alter  database  st
            add  file
            (name=studentdata3,
            filename='d:\xs\studentdata3.ndf',
            size=1mb, maxsize=10mb, filegrowth=1mb),
            (name='studentlog2',
            filename='d:\xs\studentlog2.ldf',
            size=1mb, maxsize=10mb, filegrowth=1mb)                 
        alter database st
            modify file
            (name=studentdata3,
            size=5mb,maxsize=20mb)             
  实验2  
一、实验目的:掌握使用SSMSSQL语句创建并管理数据库表.
二、实验原理:
1.SSMS上创建数据库表
2.创建数据库表语句:
CREATE TABLE[数据库名.拥有者]表名
            <字段定义>[,n]
            <字段定义>::={字段名 数据类型}
            [[DEFAULT 常量表达式]|[IDENITY[(种子,增量)]]]
[<字段定义>][,n]
3.创建约束
[CONSTRAINT  约束名]  NULL|NOT NULL
[CONSTRAINT  约束名] PRIMARY EY[CLUSTERED|NONCLUSTERED]
[(字段名[,16])]]
[CONSTRAINT  约束名]DEFAULT 默认值[FOR字段名]
[CONSTRAINT  约束名] UNIQUE[CLUSTERED|NONCLUSTERED] [(字段名[,16])]]
[CONSTRAINT  约束名] FOREIGN  KEY[(字段名[,16])]  REFERENTCES  引用表名(引用字段名[,16])
[CONSTRAINT  约束名]CHECK(条件表达式)
4.修改数据库表
ALTER  TABLE
ALTER  COLUMN 字段名 新数据类型[(精度[,小数位数])]    [NULL|NOT NULL]增加字段的sql语句
ALTER  TABLE 表名
ADD{字段定义|字段名AS计算机字段表达式}[,n]
ALTER  TABLE 表名
DROP  COLUMN 字段名[,n]
ALTER  TABLE 表名
ADD  CONSTRAINT 约束定义[,n]
ALTER  TABLE 表名
DROP  CONSTRAINT 约束名[,n]
三、实验内容
1.使用SQL语句完成下题:
(1) 使用CREATE  TABLE语句创建一个学生表,其中包含以下字段:学号(int,自动编号,种子为200001,增量为1,定义为主键);姓名(varchar(8)not  null);专业(varchar(20)null)
(2) 使用CREATE  TABLE语句创建一个成绩表其中包含以下字段:学号(intnot null);课程号(intnot  null);成绩(realnull)
(3) 使用alter table语句新增学生表和成绩表之间的外键联系,并新增对成绩的检查性约束。
解:(1 create table 学生表
        (学号 int  identity (200001,1)  primary key ,
        姓名 varchar(8)  not null,
        专业 varchar(20)  null )
    2 create table 成绩表
        (学号 int  not null,
        课程号 int  not null,
        成绩 real  null)
    3 alter table 成绩表
        add
        constraint gjmg foreign key(学号) references 学生表(学号),
        constraint fhjg check (成绩>=0 and 成绩<=100)
实验3
一、实验目的:熟练掌握SELECT语句对数据库表的各项操作.
二、实验原理:
1.选择查询语句:
SELECT 字段列表 (指定输出字段)
  [INTO  新表]      (将检索结果存储到一张新表)
  From  数据源  (指定检索的数据来源)
  [WHERE 搜索条件](指定对记录的过滤条件   
  [GROUP BY 分组表达式](对检索到的记录分组)