0


数据库实验——通过SQL Server Management Studio创建及管理数据库

一、实验目的

(1)熟悉SQL Server Management Studio。
(2)掌握通过SQL Server Management Studio管理数据库的方法。
(3)掌握数据库及其物理文件的结构关系。
(4)掌握通过SQL Server Management Studio管理数据表的方法。

二、实验内容

1.通过SQL Server Management Studio创建数据库
创建一个名称为学生管理信息Student_info数据库,创建数据库Student_info的具体参数如表B.1所示。
表B.1 数据库参数
参 数 名 称参 考 参 数数据库名称Student_info数据库逻辑文件名称Student_info_data数据库物理文件名称Student_info_data.mdf数据文件初始大小20MB数据文件大小最大值300MB数据文件增长增量5MB日志逻辑文件名称Student_info_log日志物理文件名称Student_info_log.ldf日志文件初始大小5MB日志文件大小最大值50MB日志文件增长增量1MB
2.查看、验证创建的数据库
方法1:执行sp_helpdb系统存储过程查看Student_info数据库的信息。
方法2:在SQL Server Management Studio中查看。

3.修改数据库的属性
通过SQL Server Management Studio查看数据库,将数据库Student_info数据文件的初始大小改为30MB,最大值改为300MB,数据增长改为5%,日志文件的初始大小改为20MB,最大值改为30MB,数据增长改为6%。
4.数据库的分离及附加 (1)将Student_info数据库从数据库服务器分离。 (2)将Student_info数据库再次附加到服务器中。 5.通过SQL Server Management Studio在Student_info数据库中创建表 Student_info数据库包含三张表:Student表、Course表及SC表,分别代表学生信息、课程信息及学生选课信息。三张表的结构及其约束见表B.2、表B.3和表B.4。 表B.2 Student表结构和约束
列 名 称类 型宽度允许空值默认值约束主键说 明SnoChar8否是学号SnameVarchar8否学生姓名SexChar2否男性别BirthSmalldatetime否出生年月ClassnoChar3否班级号Entrance_dateSmalldatetime否入学时间Home_addrVarchar40是家庭地址
表B.3 Course表结构和约束
列 名 称类 型宽度允许空值默认值约 束主键说明CnoChar3否是课程号CnameVarchar20否课程名称Total_periorSmallint是大于0总学时CreditTinyint是大于0,小于等于6学分
表B.4 SC表结构和约束

列 名 称类 型宽度允许空值默认值约 束主键外键说明SnoChar8否是是学号CnoChar3否是是课程号GradeTinyint是大于等于0,小于等于100否成绩
6.通过SQL Server Management Studio管理表结构
(1)添加和删除列
a.给Student表增加身高(以米单位)stature列,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。
b.给Student表增加所在系Sdept列,字符型,长度为20,允许为空值。
请读者考虑:如果Sdept列不允许为空值,结果会如何?如何才能实现Sdept列不允许为空值?

答:没有系别的学生无法添加进去;所有学生都有一个系别号。

c.给Student表增加邮政编码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其他字符。
d.删除Student表中身高stature列。

 在设置约束时发现,当一个约束设置好后,需要将不需要再次设置的约束删除,否则会出现弹框提醒。


(2)添加和删除约束

a.在Student表添加约束:入学时间必须在出生年月之后。

b.给SC表的成绩grade列增加默认值约束,默认值为0。

c.删除grade列的默认值约束。

7.通过SQL Server Management Studio对表添加、修改、删除数据

(1)插入数据,Student表、Course表、SC表的记录见表B.5、表B.6、表B.7。

表B.5 Student表
SnoSnameSexBirthClassnoEntrance_dateHome_addrSdept Postcode20110001张虹男1992/09/110512011/09/01南京计算机系20110002林红女1991/11/120512011/09/01北京计算机系20110103赵青男1993/05/110612011/09/01上海软件工程
表B.6 Course表
CnoCnameTotal_periorCredit001高数966002C语言程序设计805003Java语言程序设计483004Visual_Basic484
表B.7 SC表
SnoCnoGrade20110001001892011000100278201100010038920110002002602011010300180
其他数据可自行添加。要求Student表和SC表中数据包括了每位同学自己的学号。

(2)修改数据
a.将Student表中的学号为’20110103’的同学的出生年月改为1993年10月1日。
b.将Course表中的课程号为’002’的学分改为4,总学时改为64。
(3)删除数据(请注意约束的限制)
a.删除SC表中20110103同学的选课记录。
b.删除Course表中课程号为002的记录。如果不能成功删除该记录,请分析原因。

答:不能公共删除该记录,因为受到FK_SC_Course的约束,会发生冲突。

三、疑难问题的解决和感想

在实验过程中,首先是学会了如何配置环境,其次,在设置表和约束中最明显的感受就是利用sql server进行实验的过程比起语句而言较为繁琐,在设置约束的时候,我的实验中出现了报错以及不会设置外键的问题,所以第一点要注意设置时只添加需要的约束即可,不要添加空约束,否则会报错;第二点外键是在处理关系当中设置的。


本文转载自: https://blog.csdn.net/CoralBiber/article/details/129644908
版权归原作者 玄九Coral 所有, 如有侵权,请联系我们删除。

“数据库实验——通过SQL Server Management Studio创建及管理数据库”的评论:

还没有评论