实验内容
1、创建数据库
(1)创建一个学生课程数据库,数据库名Student_DB,包含主数据文件,日志文件和辅助数据文件Student_DB1,所有文件路径均存放在F:\My_database\ 下。其中,数据库主数据文件初始大小为5MB,最大大小为30MB,数据库自动增长,增长方式是按5%比例增长。日志文件初始为3MB,最大可增长到10MB,按2MB增长。
2、数据表的设计
用SSMS方式为数据库Student_DB添加如下3个表(即是教材P79页的图3.2中对应的表):
l 学生表:Student(Sno, Sname, Ssex, Sage, Sdept);
l 课程表:Course(Cno, Cname, Cpno, Ccredit);
l 学生选课表:SC(Sno, Cno, Grade)
学生表的逻辑设计:
字段名 |
类型 |
长度 |
主码/外码 |
允许空值 |
说明 |
Sno |
char |
9 |
主码 |
非空 |
学号 |
Sname |
char |
20 |
|
非空 |
姓名 |
Ssex |
char |
2 |
|
空 |
性别 |
Sage |
smallint |
|
|
空 |
年龄 |
Sdept |
char |
20 |
|
空 |
系别 |
课程表的逻辑设计:
字段名 |
类型 |
长度 |
主码/外码 |
允许空值 |
说明 |
Cno |
char |
4 |
主码 |
非空 |
课程号 |
Cname |
char |
40 |
|
非空 |
课程名 |
Cpno |
char |
4 |
外码 |
空 |
先修课程号 |
Ccredit |
smallint |
|
|
空 |
学分 |
选课表的逻辑设计:
字段名 |
类型 |
长度 |
主码/外码 |
允许空值 |
说明 |
Sno |
char |
9 |
外码 |
非空 |
学号 |
Cno |
char |
4 |
外码 |
非空 |
课程号 |
Grade |
smallint |
|
|
空 |
成绩 |
说明:选课表的主码:(Sno, Cno)
3、用SSMS方式进行数据表记录的“增删改”操作
参照教材P79页的图3.2为各个表添加相应的元组。并做如下的操作:
(1) 删除选修1号课程的学生选修课的记录。
(2) 修改刘晨的信息系统课程分数为89。
(3) 增加王敏同学选修数据库课程的信息,得分为90分。
(4) 为Student表增加列Sbirthday,数据类型为datetime型,初始为NULL。
(5) 修改SC表的成绩列,将其数据类型改为INT。
4、数据库备份
磁盘备份:直接将Student_DB数据库备份到F盘backup下,备份数据库名为Student_DB.bak。
5、数据库的删除
将数据库Student_DB用SSMS方式或T-SQL方式进行删除。
6、还原数据库
用所得到的备份数据库对数据库进行还原。
7、分离附加数据库
对Student_DB进行分离并附加到当前的SQL Server服务器中。
实验过程、存在的问题及解决办法:
1.打开SQL Server服务:
2. 连接服务
选择“数据库引擎”及本地计算机名或IP
3. 新建数据库,命名为“Student_DB_10”
并将“主数据文件”与“日志文件”设置完毕:
4.数据表的设计
用SSMS方式为数据库Student_DB_10添加如下3个表
并将Ssex初始值设置为“男”,Cdept初始值设置为“CS”:
设置各个表中的主键与外键,如下所示:
5.添加各个表中的数据元组,如下所示:
6.对数据元组及图标式样的操作:
(1)删除选修1号课程的学生选修课的记录
(2)修改刘晨的信息系统课程分数为89。
(3)增加王敏同学选修数据库课程的信息,得分为90分。
(4)为Student表增加列Sbirthday,数据类型为datetime型,初始为NULL。
(5)修改SC表的成绩列,将其数据类型改为INT。
7.数据库备份
(1)磁盘备份:直接将Student_DB数据库备份到F盘backup下,备份数据库名为Student_DB.bak。
(2)数据库的删除
将数据库Student_DB用SSMS方式或T-SQL方式进行删除。
(3)还原数据库
用所得到的备份数据库对数据库进行还原。
(4)分离附加数据库
对Student_DB进行分离并附加到当前的SQL Server服务器中。
实验总结:
此次实验,初步了解了数据库SQL的基本概念,并学会了建立简单“学生-课程数据库”。掌握数据库的创建与删除;掌握SSMS方式下的数据表设计方法;掌握SSMS方式下数据表记录的“增删改”方法;初步掌握数据库简单备份和还原的方法及分离附加的方法。