实验一一、实验目的(1)熟悉SQLServerManagementStudio(2)掌握通过SQLServerManagementStudio管理数据库的方法。(3)掌握数据库及其物理文件的结构关系。(4)掌握通过SQLServerManagementStudio管理数据表的方法二、实验内容1、通过SQLServerManagementStudio创建数据库创建一个名称为学生管理信息Student_info数据库,创建数据库Student_info的具体参数如表1。表B.1数据库参数步骤:1、打开SQLServerManagementStudio2、如下图所示,右击“数据库”,选择“新建数据库”参数名称参考参数数据库名称数据库逻辑文件名称数据物理文件名称数据文件初始大小数据文件大小最大值数据文件增长增量日志逻辑文件名称日志物理文件名称日志文件初始大小日志文件大小最大值日志文件增长增量Student_infoStudent_info_dataStudent_info_data.mdf20MB300MB5MBStudent_info_logStudent_info_log.ldf5MB50MB1MB3、新建数据库后,出现如下界面把题目中要求的参考参数填入上面的界面中最后形成的界面为:4、最后点击“确定”,创建完成2、查看、验证创建的数据库方法1:执行sp_helpdb系统存储过程查看Student_info数据库的信息。步骤:1、在Student_info数据库中“新建查询”2、输入SQL语句:sp_helpdbStudent_info,单击“执行”方法2:在企业管理器中查看步骤:1、右击Student_info数据库,单击“属性”2、在“数据库属性”中选择“文件”,查看数据库信息3、修改数据库的属性通过SQLServerManagementStudio查看数据库(注意),将数据库Student_info数据文件的初始大小改为30MB,最大值改为500MB,数据增长改为5%,日志文件的初始大小改为20MB,最大值改为60MB,数据增长改为6%。步骤:1、右击Student_info数据库,单击“属性”;在“数据库属性”中选择“文件”,并修改信息最后的界面信息如下,单击“确定”,修改完成4、数据库的分离及附加1)将Student_info数据库从数据库服务器分离1、选中Student_info数据库,右击选择“属性”;出现如下界面,选择“选项”2、在“选项”中找到“限制访问”,将其内容改为“SINGLE_USER”单击“确定”,出现如下对话框:单击“是”,则出现:3、选择Student_info数据库,右击选择“任务”,继续选择“分离”出现如下界面:选中“更新统计信息”复选框。若“消息”列中没有显示存在活动连接,则“状态”列显示为“就绪”,否则显示“未就绪”,此时必须勾选“删除连接”列的复选框单击“确定”,分离成功如下图,已不存在Student_info数据库2)将Student_info数据库再次附加到服务器中1、选中左边“数据库”,右击选择“附加”出现如下界面,单击“添加”出现如下界面,选择以“.mdf”为后缀名的Student_info_data,单击“确定”单击“确定”,完成附加操作5、通过SQLServerManagementStudio在Student_info数据库中创建表Student_info数据库包含3张表:Student表、Course表及SC表,分别代表学生信息、课程信息及学生选课信息。3张表的结构及其约束见表2、表3、表4.表2Student表结构和约束列名称类型宽度允许空值缺省值约束主键说明Snochar8否是学号Snamevarchar8否学生姓名Sexchar2否男性别Birthsmalldatetime否出生年月Classnochar3否班级号Entrance_datesmalldatetime否入学时间Home_addrvarchar40是家庭地址步骤:1、单击Student_info数据库,展开;选择“表”右击,选择“新建表”出现如下界面,根据表格信息,向界面中插入信息2、在列表中插入详细信息设置主键:选中Sno,右击,选择“设置主键”设置缺省值:选中Sex,在“列属性”中选择“默认类型或绑定”,填写“’男’”3、保存,并命名为“Student”,创建完成表3Course表结构和约束列名称类型宽度允许空值缺省值约束主键说明Cnochar3否是课程号Cnamevarchar20否课程名称Total_periorsmallint是大于0总学时Credittinyint是大于0,小于等于6学分步骤同创建“Student”表大致相同:1、新建表2、填入信息;设置主键;添加约束添加check约束:选中Total_perior,右击,选择“CHECK约束”;单击“添加”单击“添加”后,出现如下所示界面:“表达式”为约束条件,可自行写上去;“名称”可自定义单击“确定”完成单击“关闭”即可同理可对Credit添加check约束3、保存,并命名为“Course”,创建完成表4SC表结构和约束列名称类型宽度允许空值缺省值约束主键外键说明Snochar8否是是学号Cnochar3否是课程号Gradetinyint是大于等于0,小于等于100否成绩步骤同创建“Student”表大致相同:1、新建表2、填入信息设置主键:同时选中”Sno和Cno”,右击,选择“设置主键”设置check约束:选中“Grade”,右击,选择“CHECK约束”;单击“添加”,在表达式中写入约束条件,名称可自定义改变。单击关闭即可完成3、保存,并命名为“SC”6、通过SQLServerManagementStudio管理表结构(1)添加和删除列a.给Student表增加身高(以米单位)Stature列,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。1、选中Student表,右击,选择“设计”,出现表Student2、在Student表中直接添加Stature等一行信息3、对“Stature”添加check约束单击“关闭”完成b.给Student表增加所在系Sdept列,字符型,长度2,不允许为空值。同a理,直接添加:c.给Student表增加邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其它字符。1、同a理,直接添加:2、“若不为空时,则要求其值只能出现数字,不能是其它字符”此步骤无法用企业管理器实现d.删除Student表中身高Stature列。在Student表中选中Stature,右击,选择“删除列”,完成。最后保存修改后的表(2)添加和删除约束a.在Student表添加约束:入学时间必须在出生年月之后。1、选择Student表,右击“设计”打开;选择表中的任一行,右击选择“CHECK约束”;选择“添加”,在表达式中添加约束条件,名称可自定义单击“关闭”完成保存修改后的表,但可能会出现如下情况这时候,选择“取消”;单击菜单栏中的“工具”,选择“选项”,展开如下界面将“√”去掉即可单击“确定”,然后保存即可b.给SC表的成绩Grade列增加默认值约束,默认值为0.1、选择SC表,右击“设计”打开;2、选择Grade列,在下方列属性中添加默认值约束默认值0需用单引号c.删除Grade列的默认值约束在Grade列的列属性中,将“默认值或绑定”中的“‘0’”删除即可7、通过SQLServerManagementStudio对表添加、修改、删除数据(1)插入数据,Student表、Course表、SC表的记录见表5、表6、表7。表5Student表SnoSnameSexBirthClassnoEntrance_dateHome_addrSdeptPostcode20110001张虹男1992/09/010512011/09/01南京计算机系20041320110002林红女1991/11/120512011/09/01北京计算机系10001020110103赵青男1993/05/110612011/09/01上海软件工程2000131、选中Student表,右击选择“编辑前200行”;出现如下界面2、根据表中信息添加至界面中注意:Sdept是char(2)类型表6Course表CnoCnameTotal_periorCredit001高数966002C语言程序设计805003JAVA语言程序设计483004Visual_Basic4841、选中Course表,右击选择“编辑前200行”;出现如下界面2、根据表中信息添加至界面中输入完毕即可表7SC表SnoCnoGrade20110001001892011000100278201100010038920110002002602011010300180同上理:点击“编辑前200行”打开SC表,添加表中数据即可其它数据可自行添加。要求Student表和SC表中数据包括了每位同学自己的学号。(2)修改数据a.将Student表中的学号为’20050103’的同学的出生年月改为1993年10月1日。1、选中Student表,右击选择“编辑前200行”打开表2、点中需要更改信息的位置,直接修改数据即可b.将Course表中的课程号为’002’的学分改为4,总学时改为64。同a理:打开Course表,直接修改数据(3)删除数据(请注意约束的限制)a.删除SC表中20110103同学的选课记录选择“编辑前200行”打开SC表,选中20110103同学的那一行数据,右击,选择“删除”即可单击“是”b.删除Course表中课程号为002的记录。如果不能成功删除该记录,请分析原因。选择“编辑前200行”打开Course表,选中002课程的那一行数据,右击,选择“删除”如果不能成功删除,应先删除约束:选择“设计”打开Course表,任选一行右击选择“CHECK约束”,打开后删除约束即可