一. 实验目的
熟悉SQL Server 2017 中SQL Server Management Studio的环境
了解SQL Server 2017数据库的逻辑结构和物理结构
掌握使用向导方式和SQL方式来创建和删除数据库及数据表的方法
二. 实验内容
( 设有一学籍管理系统,其数据库名为“EDUC”,初始大小为
10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名为“student_data”(如不修改则默认为数据库名EDUC_data),存放路径为“E:\sql_data”(可自己选择存放路径),
物理文件名为“student_data.mdf(自动生成,无需设置),创建完成后可在存放路径下查看物理文件。日志文件的逻辑文件名为“student_log”,存放路径为“E:\sql_data”
(可自己选择存放路径),物理文件名为“student_log.ldf”,(自动生成,无需设置),创建完成后可在存放路径下查看物理文件。
(1) 分别使用向导和SQL语句两种方式创建上述描述的数据库EDUC。
使用SQL Server Management Studio(简称SSMS)创建数据库。
(2)创建EDUC数据库中的三个基本表(见教材教学管理数据库 三个表结构)。
(3)删除上面建立的SC表。
(4)删除上面建立的数据库EDUC。
三、实验程序
1、向导不需要程序
2、SQL语言
(1)创建数据库
create database EDUC
on
(name=student_data,
filename='d:\SQL_data\student_data.mdf',/*路径要存在*/
size=10,
maxsize=50,
filegrowth=5%)
log on
(name=student_log,
filename='d:\SQL_data\student_log.ldf',
size=2,
maxsize=5,
filegrowth=1)
(2)创建student表
CREATE TABLE Student
(Sno char(9) PRIMARY KEY,
Sname char(20) UNIQUE,
Ssex char(10),
Sage smallint,
Sdept char(20)/*学院*/
);
(3)创建course表
CREATE TABLE Course
(Cno char(4) PRIMARY KEY,
Cname char(40) NOT NULL,
Cpno char(4),/*先修课*/
Grade smallint,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)
);
/*表级完整性的约束条件,Cpno是外码,被参照表是Student*/
(4)创建SC表
CREAT TABLE SC
(Sno char(9),
Cno char(4),
Grade smallint,
PRIMARY KEY(Sno,Cno),
/*主码由两个属性构成,必须作为表级完整性定义*/
FOREIGN KEY(Sno)REFERENCES Student(Sno)
FOREIGN KEY(Cno)REFERENCES Student(Cno)
(5)删除表或者库
Drop table 表名;
或Drop database 库名;
四、实验结果和说明
建立库
建立student表
建立course表
建立SC表
删除表或者库
分离数据库
(更新统计信息那里不用打勾,截了图就不重新截了)
五、实验总结
通过这个实验,我大致了解了创建数据库、删除数据库、分离数据库和附加数据库的流程。需要注意的问题有备注不可以用//,要用/**/。不清楚的是primary
key和unique这两个键的区别。