《数据库原理及应用》实验指导书

“数据库原理与应用”实验指导书

北京信息科技大学

计算机学院

《数据库原理与应用》

实验指导书

实验一 创建数据库及关系表 ............................................................................................................... 1 实验二 数据操作语句 ........................................................................................................................... 3 实验三 触发器 ....................................................................................................................................... 5 实验四 视图 ........................................................................................................................................... 7 实验五 事务 ........................................................................................................................................... 9 实验六 安全管理 ................................................................................................................................. 11 实验七 数据库设计 ............................................................................................................................. 12

1

“数据库原理与应用”实验指导书

实验一 创建数据库及关系表

一、实验目的

1. 掌握SQL Server数据库管理系统的使用,能够在该环境中通过图形化方法创建数据库; 2. 掌握建立关系表的SQL语句,掌握声明完整性的定义方法及作用; 3. 掌握修改表结构SQL的语句。

二、实验要求

1. 了解SQL Server数据库数据库管理系统的使用,会使用图形化工具一个新的创建数据库。 2. 编写建立关系表及主键、外键、默认值、唯一值、限制列取值范围约束的T-SQL语句,并

执行这些语句,在新建数据库中建立符合要求的关系表。 3. 编写并执行修改表结构的T-SQL语句。 4. 查看每一步的执行结果。

三、实验内容和步骤

注:请按顺序执行下述各题,前步执行成功后再执行后续步骤。 1.创建符合如下要求的数据库: 数据库的名字为:学生数据库

数据文件的逻辑文件名为:Students_dat,存放在D:\\Test目录下(若D:盘中无此子目录,可先建立此目录,然后再创建数据库。); 文件的初始大小为:5MB;

日志文件的逻辑文件名字为:Students_log,也存放在D:\\Test目录下; 日志文件的初始大小为:2MB;

日志文件的增长方式为自动增长,每次增加10%。

2.在已建立的“学生数据库”中,写出创建满足下述条件的四张表的SQL语句,将这些语句保存到文件中,并查看语句的执行结果。

Student表结构 列名 Sno Sname Ssex Sage Sdept Sid Sdate 说明 学号 姓名 性别 年龄 所在系 身份证号 入学日期 数据类型 普通编码定长字符串,长度为7 普通编码定长字符串,长度为10 普通编码定长字符串,长度为2 微整型(tinyint) 普通编码不定长字符串,长度为20 普通编码定长字符串,长度为10 小日期时间 1

主键 非空 取值范围:{男,女} 取值范围:15-45 默认值为“计算机系” 取值不重 默认为系统当前日期 约束 增长方式为自动增长,每次增加1MB。

“数据库原理与应用”实验指导书

Course表结构

列名 Cno Cname Credit Semester 说明 课程号 课程名 学时数 学分 数据类型 普通编码定长字符串,长度为10 普通编码不定长字符串,长度为20 整型 小整型 SC表结构

列名 Sno Cno Grade 说明 学号 课程号 成绩 数据类型 普通编码定长字符串,长度为7 普通编码定长字符串,长度为10 小整型 Teacher表结构 列名 Tno Tname Salary 说明 教师号 教师名 工资 数据类型 普通编码定长字符串,长度为8 普通编码定长字符串,长度为10 定点小数,小数点前4位,小数点后2位 约束 非空 非空 约束 主键,引用Student的外键 主键,引用Course的外键 主键 非空 取值大于0 约束

3. 写出实现如下操作的SQL语句,并查看执行结果:

(1) 在Teacher表中添加一个新的职称列:列名为:Title,类型为nchar(4)。

(2) 为Teacher表的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。 (3) 将Course表中Credit列的类型改为:tinyint。 (4) 删除Student表的Sid和Sdate列。

(5) 为Teacher表添加主键约束,其主键列为:Tno。

4. 执行下列数据插入语句,查看哪些语句能成功,哪些不能成功?请简单说明理由。对执行成功

的语句,请查看表中插入的数据。

(1) INSERT INTO Teacher VALUES('T01', '张一', 6000, '教授') (2) INSERT INTO Teacher VALUES('T01', '张二', 4000, '讲师') (3) INSERT INTO Teacher VALUES('T02', '张二', 4000, '工程师') (4) INSERT INTO Teacher VALUES('T03', '张三', 4000, '讲师') (5) INSERT INTO SC VALUES('S001', 'C01', 88)

(6) INSERT INTO Student VALUES('S001', '王一', '男', 19, '信息系',

'1234567890', '2014-9-1')

(7) INSERT INTO Student VALUES('S002', '王二', '男', 19, '信息系',

'1234567890', '2014-9-1')

(8) INSERT INTO Student(Sno, Sname, Ssex, Sage, Sid)

VALUES('S003', '王三', '男', 19, '1234567891') (9) INSERT INTO SC VALUES('S001', 'C01', 88)

2

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4