实验一(雷景生)通过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

的具体参数如表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

步骤:

1、打开SQL Server Management Studio 2、如下图所示,右击“数据库”,选择“新建数据库”

3、新建数据库后,出现如下界面

把题目中要求的参考参数填入上面的界面中

最后形成的界面为:

4、最后点击“确定”,创建完成

2、查看、验证创建的数据库

方法1:执行sp_helpdb系统存储过程查看Student_info数据库的信息。

步骤:

1、在Student_info数据库中“新建查询”

2、输入SQL语句:sp_helpdb Student_info,单击“执行”

方法2:在企业管理器中查看

步骤:

1、右击Student_info数据库,单击“属性”

2、在“数据库属性”中选择“文件”,查看数据库信息

3、修改数据库的属性

通过SQL Server Management Studio查看数据库(注意),将数据库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、通过SQL Server Management Studio在Student_info数据库中创建表

Student_info数据库包含3张表:Student表、Course表及SC表,分别代表学生信息、课程信息及学生选课信息。3张表的结构及其约束见表2、表3、表4.

表 2 Student表结构和约束 列名称 Sno Sname Sex Birth Classno Entrance_date Home_addr 类型 char varchar char smalldatetime char smalldatetime varchar 宽度 允许缺省值 约束 空值 8 8 2 3 40 否 否 否 否 否 否 是 男 主键 是 说明 学号 学生姓名 性别 出生年月 班级号 入学时间 家庭地址 步骤: 1、单击Student_info数据库,展开;选择“表”右击,选择“新建表”

出现如下界面,根据表格信息,向界面中插入信息

2、在列表中插入详细信息

设置主键:选中Sno,右击,选择“设置主键”

设置缺省值:选中Sex,在“列属性”中选择“默认类型或绑定”,填写“’男’”

3、保存,并命名为“Student”,创建完成

表 3 Course表结构和约束

列名称 Cno Cname 类型 char varchar 宽度 允许空值 缺省值 3 20 否 否 是 是 约束 大于0 大于0,小于等于6 主键 是 说明 课程号 课程名称 总学时 学分 Total_perior smallint Credit tinyint 步骤同创建“Student”表大致相同: 1、新建表

2、填入信息;设置主键;添加约束

添加check约束:选中Total_perior,右击,选择“CHECK约束”;单击“添加”

单击“添加”后,出现如下所示界面:“表达式”为约束条件,可自行写上去;“名称”可自定义

单击“确定”完成

单击“关闭”即可

同理可对Credit添加check约束

3、保存,并命名为“Course”,创建完成

表 4 SC表结构和约束

列名称 Sno Cno Grade 类型 char char tinyint 宽度 8 3 允许空值 否 否 是 缺省值 约束 大于等于0,小于等于100 主键 外键 是 是 否 说明 学号 课程号 成绩 是 步骤同创建“Student”表大致相同: 1、新建表 2、填入信息

设置主键:同时选中”Sno和Cno”,右击,选择“设置主键”

设置check约束:选中“Grade”,右击,选择“CHECK约束”;

单击“添加”,在表达式中写入约束条件,名称可自定义改变。

单击关闭即可完成

3、保存,并命名为“SC”

6、通过SQL Server Management Studio管理表结构 (1)添加和删除列

a. 给Student表增加身高(以米单位)Stature列 ,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。

1、选中Student表,右击,选择“设计”,出现表Student

2、在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、通过SQL Server Management Studio对表添加、修改、删除数据

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

表 5 Student表 Sno Sname Sex 男 女 男 Birth 1992/09/01 1991/11/12 1993/05/11 Classno Entrance_date Home_addr Sdept Postcode 051 051 061 2011/09/01 2011/09/01 2011/09/01 南京 北京 上海 计算机系 计算机系 软件工程 200413 100010 200013 20110001 张虹 20110002 林红 20110103 赵青 1、选中Student表,右击选择“编辑前200行”;出现如下界面

2、根据表中信息添加至界面中

注意:Sdept是char(2)类型

表 6 Course表 Cno 001 002 004 Cname 高数 C语言程序设计 Visual_Basic Total_perior Credit 96 80 48 48 6 5 3 4 003 JAVA语言程序设计 1、选中Course表,右击选择“编辑前200行”;出现如下界面

2、根据表中信息添加至界面中

输入完毕即可

表 7 SC表 Sno 20110001 20110001 20110001 20110002 20110103 Cno Grade 001 002 003 002 001 89 78 89 60 80 同上理:点击“编辑前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约束”,打开后删除约束即可