福建工程学院《实验指导书(数据库系统原理及应用)》

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库系统原理

实验指导书

(本科)

目录

实验一数据定义语言 (1)

实验二SQL Sever中的单表查询 (3)

实验三SQL Serve中的连接查询 (4)

实验四SQL Serve的数据更新、视图 (5)

实验五数据控制(完整性与安全性) (7)

实验六语法元素与流程控制 (9)

实验七存储过程与用户自定义函数 (11)

实验八触发器 (12)

实验一数据定义语言

一、实验目的

1.熟悉SQL Server2000/2005查询分析器。

2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表

的定义、删除与修改,掌握索引的建立与删除方法。

3.掌握SQL Server2000/2005实现完整性的六种约束。

二、实验内容

1.启动SQL Server2000/2005查询分析器,并连接服务器。

2.创建数据库: (请先在D盘下创建DB文件夹)

1)在SQL Server2000中建立一个StuDB数据库:

有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;

有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%

2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。

3.设置StuDB为当前数据库。

4.在StuDB数据库中作如下操作:

设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE),

其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。

写出实现下列功能的SQL语句。

(1)创建表S;

(2)刷新管理器查看表是否创建成功;

(3)右击表S插入3个记录:95031班25号李明,男性,21岁;

95101班10号王丽,女性,20岁;

95031班座号为30,名为郑和的学生记录;

(4)将年龄的数据类型改为smallint;

(5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);

(6)对表S,按年龄降序建索引(索引名为inxage);

(7)删除S表的inxage索引;

(8)删除S表;

5.在StuDB数据库中,

(1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。

并输入相关数据。

(2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。

6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据

库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。

三、实验要求:

1.学会使用SQL Server2000/2005的查询分析器,企业管理器和联机丛书。

2.根据实验内容认真写好实验报告,记录每个步骤的脚本和结果的截图。

3.报告内容:实验内容1~5

四、实验总结

实验二SQL Sever中的单表查询

一、实验目的:

1.掌握SQL语言的DML子语言,在SQL Server2000/2005环境下采用Transact-SQL的

SELECT语句熟练掌握各种单表查询方法。

二、实验内容:

(一) 附加上次实验备份的StuDB数据库和SPJ数据库。

(二) 按照《数据库系统概论》P82页中的学生课程数据库及数据实现以下查询:

1.查询所有课程的课号,课程名。

2.查询计算机系年龄不到21岁的所有男生的姓名和出生年份。

3.查询已被学生所选课程的课程号。

4.查询所有有成绩的学生学号和课程号,并为各列分别取相应的中文别名。

(三) 按照《数据库系统概论》P75页中的SPJ数据库及数据实现以下查询:

1.查询地点在‘北京’、‘上海’的供应商代码和供应商名字。

2.查询供应商名中包含‘方’这个汉字的供应商信息。

3.查询零件名以‘刀’字结尾,包含三个汉字的零件信息。

4.查询使用了供应商S1所供应零件的工程项目数。

5.查询各个供应商所供应的零件的总数,要求对查询结果降序显示。

6.查询供应了3个以上项目的供应商代码和供应的项目总数。

三、实验要求:

1.根据实验内容认真写好实验报告,记录每个步骤正确的Transact-SQL命令。

2.无须记录正确的查询结果。但要求记录实验过程中发生的有学习意义的错误及错误信

息。

四、实验小结

实验三SQL Serve中的连接查询

一、实验目的:

1.掌握采用Transact-SQL实现连接查询。

2.掌握等值连接(自然连接)、自身连接、外连接和复合条件连接的查询方法。

二、实验内容:

按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下查询

(1)查询使用红色零件的工程名称。

(2)查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。

(3)查询供应工程J1红色零件的供应商号SNO,请用两种方法实现。

(4)求供应工程J1零件的供应商的完整信息。

(5)查询使用北京供应商供应零件的工程信息。

(6)查询选修3号课程且成绩在85分以上的所有学生。

(7)查询先行课的学分为4的课程信息。

(8)查询课程与其间接先行课的名称。

(9)查询其他系中比计算机科学系所有学生年龄都小的学生完整信息,用两种方法实现。

(10)查询其他系中比计算机科学系某一学生年龄大的学生姓名与年龄,用两种方法实现。

(11)(可选)查询至少用了供应商S1所供应的所有零件的工程号JNO,用带EXISTS谓

词的子查询实现。

(12)(可选)查询使用了全部零件的工程号JNO,用带EXISTS谓词的子查询实现。

(13)(可选)查询所有使用了P3零件的工程号JNO,用带EXISTS谓词的子查询实现。

三、实验要求:

1.写出正确的Transact-SQL命令。

2.无须记录正确的查询结果。要求记录实验过程中发生的有学习意义的错误及错误信息。

四、实验小结

相关文档
最新文档