实验目的
1、学会在企业管理器中对表进行插入、修改和删除数据的操作;
2、掌握使用T-SQL语句对表进行插入、修改和删除数据的操作;
3、向表中输入数据,观察违反列级和表级完整性约束时出现的情况;
4、删除表中的数据,观察违反列级和表级完整性约束时出现的情况。
5、了解SQL Server数据库的操作环境;
6、了解SQL Server的基本数据类型、表的结构和空值的概念;
7、掌握在企业管理器中创建数据库和表;
8、熟练掌握使用T-SQL语句创建数据库和表;
9、熟悉主码、外码、Check约束和索引的建立和删除操作。
实验内容与步骤
创建用于教学管理的学生数据库,数据库名为student + 学号(假设学号为000,则数据库应该命名为student000,注意命名数据库时不能以数字开头),包含学生的信息、课程信息以及学生的选课信息。数据库包含下列三个表:
(1)student表:学生信息表;
(2)course表:课程信息表;
(3)sc表:学生选课信息表。
各表的结构如以下表格所示:
学生(student)表
列(属性)名 数据类型 特殊要求 主码
sno Char(5) 非空、唯一 *
sname Char(8) 非空
ssex Char(2) 取‘男’或‘女’
sage Int 默认值为20
sdept Char(20)
课程(course)表
列(属性)名 数据类型 特殊要求 主码
课程号 Char(5) 非空 *
课程名 Char(20)
先修课 Char(5)
学分 SmallInt
选课(sc)表
列(属性)名 数据类型 特殊要求 主码
学号 Char(5) 非空、外码
*
课程号 Char(5) 非空、外码
成绩 Int 0到100之间
其中选课表中的学号以及课程号分别为学生表和课程表的外码。
1、创建数据库student + 学号(假设学号为000,则数据库应该命名为student000,注意命名数据库时不能以数字开头)。
(1)打开服务管理器SQL Server Management Studio服务器名称输入“.” 表示本地点击“连接”启动后台服务。
(2)在企业管理器中选择“数据库”一栏点击鼠标右键新建数据库输入数据库名称在该面板上方的“数据文件”和“事务日志”选项卡中按以下要求设置数据库的特性:
要求:数据库初始大小为10MB,最大为40MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始大小为1MB,最大为5MB。数据库文件的路径采用默认值C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\,数据文件命名为student000.mdf,日志文件命名为student000_log.ldf。
2、分别创建以上三个表:student、course和sc。
(1)在企业管理器中创建表
① 打开企业管理器选择数据库student000表单击鼠标右键新建表输入student表中的各个字段信息单击保存图标输入表名student,即创建了表student。
② 按同样的操作过程创建表course和sc。
(2)在企业管理器中删除创建的student、course和sc表。
(3)使用T-SQL语句创建student、course和sc表
① 在SQL Server Management Studio左上角的“新建查询(N)”窗口中输入以下T-SQL语句:
use student000 --指定数据库
go
create table student
(学号 char(5) primary key,
姓名 char(8) not null,
性别 char(2) check(性别=’男’ or 性别=’女’),
年龄 int default 20,
所在系 char(20)
)
go
单击快捷工具栏的执行图标,执行上述语句,即可创建表student。
② 按同样的操作过程创建course和sc,并在企业管理器中查看结果。
3、修改表。分别在企业管理器和查询分析器中实现以下操作:
(1)在sc表中最后一列增加一个新列:课时,数据类型为smallint(半字长整型),然后再删除该列。
(2)在学生表的学号上建立唯一索引。
4、数据库的备份和恢复。
(1)创建student000的备份文件
在SQL Server Management Studio中选择student000数据库点击鼠标右键任务(T)备份(B)目标备份到磁盘在“添加(D)”一栏中选择备份文件存放的路径单击“确定”返回单击“确定”完成备份。
(2)删除数据库student000。
(3)还原数据库student000
在SQL Server Management Studio中选择“数据库”一栏点击鼠标右键还原数据库®在还原的源中选择“源设备”点击右侧对应的省略号按钮添加(A)输入刚才备份文件的路径点选“确定”返回选择设备添加文件名需指定为备份文件的路径确认目标数据库为student000单击“确定”按钮完成。
(4)使用U盘或者以邮件附件的形式保存好自己的数据库备份文件,为下一次实验使用数据库做好准备。
5、(1)尝试利用Alter语句将学生表中的年龄改为半字长整型。
提示:由于年龄有默认值为20的约束条件,所以不能修改该列的数据类型,可以设法先删除该列的约束条件再修改数据类型。
ALTER TABLE student drop DF_Student_sage
ALTER TABLE student ALTER column sage smallint
(2)尝试利用Alter语句删除学生表中对年龄默认值的约束条件。
提示:学会查看表中的约束条件名称,通过上网检索相关命令,找到年龄默认值的约束名后再删除该约束。
分别使用企业管理器和T-SQL语句,向数据库student000的3个表student000、course和sc中,插入如下表所示的数据记录,然后修改和删除一些数据记录。
学生(student)表
学号 姓名 性别 年龄 所在系
95001 李勇 男 20 计算机
95002 刘晨 女 19 应用数学
95003 王敏 女 18 电子机械
95004 张立 男 19 计算机
课程(course)表
课程号 课程名 先修课 学分
1 数据结构 5 4
2 高等数学 4
3 面向对象 1 3
4 操作系统 6 3
5 数据库 7 4
6 计算机文化基础 2
7 C语言 6 4
选课(sc)表
学号 课程号 成绩
95001 1 92
95001 2 82
95001 3 88
95002 2 90
95003 3 80
5、在SQL Server Management Studio中向数据库student000中的表插入数据。在企业管理器SQL Server Management Studio中选择表student单击鼠标右键编辑前200行逐列(字段)输入数据记录值,输入完后关闭表窗口。
用同样的操作过程在企业管理器中向course和sc表插入数据。
6、在SQL Server Management Studio中删除表student的第4行和sc表的第2行数据。选择表student单击鼠标右键编辑前200行选择要删除的行右键删除关闭表窗口。
用同样的操作过程在企业管理器中删除表course的第7行记录。
7、在企业管理器中将表student中学生95002的年龄改为22。
8、使用T-SQL语句更新数据库的表数据
(1)使用T-SQL语句分别向student、course和sc表中插入一行记录。在SQL Server Management Studio左上角的“新建查询(N)”窗口中输入以下语句:
use student000
go
insert into student
values(‘95005’, ‘李冬’, 20, ‘男’, ‘电子机械’)
go
单击快捷工具栏的分析图标以检查T-SQL的语法,再单击执行图标执行语句。试分析出现错误的原因,并通过修改以上T-SQL语句完成插入记录的操作。
(2)利用同样的方法向表course和sc表插入任意一行带有空值的记录,并同时在企业管理器中观察三个表的数据的变化。
9、使用T-SQL语句修改表中的某个记录的字段值。
(1)在“新建查询(N)”窗口中输入如下T-SQL语句:
use student000
go
update student
set 年龄=19
where 学号=’95002’
go
单击快捷工具栏的分析图标以检查T-SQL的语法,再单击执行图标将学号为95002的学生年龄改为19。
(2)用同样的操作过程修改sc表中95002选修的高等数学课程的成绩为100,并同时在企业管理器中观察其的变化。
10、使用T-SQL语句修改表student中所有记录的值。
(1)启动查询分析器,在“查询”窗口中输入如下T-SQL语句:
use student000
go
update student
set 年龄=年龄+2
go
单击快捷工具栏的分析图标以检查T-SQL的语法,再单击执行图标将所有学生的年龄增加2岁。
(2)用同样的操作过程修改course表中的数学课程学分乘以2。
11、使用T-SQL语句删除表中的记录。
在“新建查询(N)”窗口中输入如下T-SQL语句:
use student000
go
delete from course
where 课程号=’6’
go
单击快捷工具栏的分析图标以检查T-SQL的语法,再单击执行图标将删除course表中课程号为6的记录。
12、违反约束条件,观察出现的情况
对数据库student000中的表进行插入记录和删除记录的操作,观察当这些操作破坏了表的列级完整性约束或表级完整性约束时所出现的情况。例如:插入一个姓名为空的学生记录,或删除student表中学号为95001的学生记录。
实验过程原始记录