数据库系统概论实验指导(第七版)

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

数据库系统概论实验指导
(第七版)
计算机学院
2013/09
改版履历
目录
目录 (3)
1.实验概要 (4)
1.1.实验说明 (4)
1.2.实验环境和配置 (4)
1.3.上机要求 (5)
2.实验1:数据库/表的基本操作和表级约束 (5)
2.1.目的和要求 (5)
2.2.实验准备 (5)
2.3.实验内容 (5)
3.实验2:库级约束和基本表的数据操作 (8)
3.1.目的和要求 (8)
3.2.实验准备 (8)
3.3.实验内容 (8)
4.实验3:视图操作和安全性控制 (10)
4.1.目的和要求 (10)
4.2.实验准备 (10)
4.3.实验内容 (10)
5.实验4:存储过程/触发器/ODBC数据库编程 (12)
5.1.目的与要求 (12)
5.2.实验准备 (12)
5.3.实验内容 (12)
6.实验5:数据库综合实验 (14)
6.1.目的与要求 (14)
6.2.实验准备 (14)
6.3.实验内容 (15)
5.3.1.题目一:零件交易中心管理系统 (15)
5.3.2.题目二:图书管理系统 (15)
5.3.3.题目三:民航订票管理系统 (15)
5.3.4.题目四:学生学籍管理系统 (16)
5.3.5.题目五:车站售票管理系统 (16)
5.3.6.题目六:企业人事管理系统 (16)
5.3.7.题目七:电话交费管理系统 (16)
5.3.8.题目八:医药销售管理系统 (17)
7.附录:实验报告格式 (18)
1.实验概要
1.1.实验说明
内容:本课程实验分5次完成,每次完成一部分。

具体内容参考本指导的后半部分。

成绩:每次实验100分,最后取5次实验的加权平均分作为实验的总成绩,其中第五次实验占40%,其余各次占15%。

每次实验中各个环节的评分标准如下:
上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。

实验报告
每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。

每次实验结束时,将写好的实验报告,提交给各班辅导老师。

如果确有困难没有完成的情况下,课后自己完成之后提交到辅导老师的邮箱里。

由辅导老师根据课堂上机实验检查状况和实验报告的内容给出每次实验的成绩。

实验报告的内容包括:实验内容、实验步骤、程序源码、运行结果(可以是程序的输出,也可以是运行画面的抓屏,抓屏图片要尽可能的小,否则文件太大)。

每份实验报告是一个WORD文档。

实验报告命名规则如下:DBx(实验次数)_XXXXXX(学号)_姓名例如:20052978的学生的第一次实验报告文件名: DB1_20052978_李宁注意:请每个人保存好自己的实验报告的电子版,直到该门课考试成绩公布之后。

1.2.实验环境和配置
SQL Server 2008(Microsoft SQL Server 2008 Express With Advance Service)
1.3.上机要求
●上机之前,请做好预习,需要写一个简单的预习报告,格式不限。

●严格遵守实验室的各项规定。

2.实验1:数据库/表的基本操作和表级约束2.1.目的和要求
1.了解SQL Server数据库的逻辑结构和物理结构,基本数据类型以及基本使用方法。

2.学会使用图形用户界面以及命令行方式(SQL语言)创建数据库和表。

3.学会使用不同的方法备份和还原数据库。

4.掌握表级约束的定义、使用和删除方法。

2.2.实验准备
1.要明确能够创建数据库的用户必须是系统管理员,或是被授权可以使用CREATE DATABASE语句的用户。

2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。

3.了解常用的创建数据库和表的方法。

4.了解数据库备份和还原的基本方法。

5.了解表级约束的定义、使用和删除方法。

2.3.实验内容
1.利用图形用户界面创建,备份,删除和还原数据库和数据表(30分,每小题5分)
●数据库和表的要求
(1)依据课本P127(第四版教材,下同)的第三题,创建一个名为SPJ的数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增
长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文
件名和物理文件名均采用默认值。

(2)数据库SPJ包含供应商表,零件表,工程项目表,供应情况表。

具体每张表的定义以及数据参看课本P74页的第五题。

●完成以下具体操作:
(1)创建的SPJ数据库。

(2)在SPJ数据库中分别创建上述的四张表(只输入一部分数据示意即可)。

(3)备份SPJ数据库。

(4)删除已经创建的工程项目表(J表)。

(5)删除SPJ数据库。

(6)还原刚才删除的SPJ数据库。

2.利用SQL语言创建和删除数据库和数据表(30分,每小题5分)
数据库和表的要求
(1)创建用于学生信息的数据库,数据库名为Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为
2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名和物理文件名,日
志文件名请自定义。

(2)数据库Student包含学生信息,课程信息和学生选课的信息。

包含下列3个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。

各表的结构
以及数据如下所示:
表 2.1 学生基本信息表(表名:S)
表 2.2 课程基本信息表(表名:C)
表 2.3 学生选课信息表(表名:SC)
完成以下实际操作:
(1)用T-SQL语句创建数据库Student。

(2)用T-SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。

不用输入数据,只要表的结构就可以。

(3)用T-SQL语句备份数据库Student。

(提示:backup database student to disk ')
(4)用T-SQL语句删除创建的表。

(5)用T-SQL语句删除创建的数据库。

(6)用T-SQL语句还原刚才备份的数据库Student。

(提示:restore database student from disk)
3.利用图形用户界面对上题中创建的Student库的S表中,增加以下的约束和索引。

(25分,每小题5分)
(1)将学号(sno)设置为主键,主键名为pk_sno。

(2)为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。

(3)为出生日期(sbirth)添加CHECK约束,约束名为ck_sbirth,其检查条件为:出
生日期大于1986年1月1日。

(4)为sbirth创建一个降序排列的UNIQUE索引,索引名为IX_Sbirth。

(5)为性别(ssex)添加默认值,其值为“男”。

4.用SQL语言为Student数据库中的SC表添加外键约束,要求如下:将sno,cno设
置为外键,其引用表为分别是S表和C表,外键名称分别为fk_sno,fk_cno。

(2分)
5.利用图形用户界面根据上面的外键定义画出由S,C,SC表构成的数据库关系图。

(3分)
6.用SQL语言删除S表中所创建的约束或者索引(第3小题中的(1)-(4))。

(10分,每小题2.5分)
3.实验2:库级约束和基本表的数据操作3.1.目的和要求
1.掌握规则的创建、使用和删除方法。

2.掌握默认对象的创建、使用和删除方法。

3.学会在图形用户界面中对表进行插入、修改和删除数据操作。

4.学会使用T-SQL语句对表进行插入、修改和删除数据操作。

5.掌握SELECT语句的各种查询语句。

3.2.实验准备
1.了解规则/默认对象的创建和删除的方法。

2.了解绑定规则/默认对象的具体使用方法。

3.了解图形用户界面中对表的各种操作方法。

4.了解T-SQL中用于对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE)命令的用法。

5.了解SELECT语句的各种查询语句。

3.3.实验内容
1.利用SQL语言创建,验证和删除规则。

(10分,每小题5分)
(1)创建一个ssex_rule规则(create rule),将其绑定(sp_bindrule)到S表的ssex
性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”)。

(2)删除ssex_rule规则(注意:规则已绑定到ssex表的性别字段上,需要先解除
原有的绑定sp_unbindrule, drop rule)。

2.利用SQL语言创建,验证和删除默认值。

(10分,每小题5分)
(1)创建一个ssex_def默认对象(create default),将其绑定(sp_bindefault)到S
表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效)。

(2)删除ssex_def(注意:默认对象已绑定到S表的ssex性别字段上,需要先解除原
有的绑定sp_unbindefault, drop default)。

3.在图形用户界面中对表中的数据进行更新操作。

(6分,每小题2分)
(1)按照P75页所示数据,输入四张表中的数据。

(2)修改S表的任意一条数据
(3)删除S表的任意一条数据。

4.用T-SQL语句对表中的数据进行更新操作。

(12分,每小题3分)
(1)P127页 5题的8-11小题。

5.用T-SQL语句完成下面的数据查询(52分,每小题4分)
(1)P127页第4题。

(5道小题)
(2)P127页第5题的1-7小题。

(7道小题)
(3)查询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J1的任何一
种零件的最大供应量。

6.针对实验一创建的Student数据库进行下面的数据查询(10分,每小题5分)
(1)求不选修C语言课程的学生学号。

(2)求这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上。

4.实验3:视图操作和安全性控制
4.1.目的和要求
1.掌握使用图形用户界面和SQL语言创建,操作和删除视图的方法。

2.掌握SQL Server中的安全性相关的登录名,角色以及用户的创建以及使用方法。

3.学会使用T-SQL语句对数据库和表操作的灵活控制功能。

4.2.实验准备
1.了解与视图相关的各种SQL语句。

2.了解登录名,角色以及用户的创建以及使用方法。

3.了解T-SQL语句在对数据库和表的控制权限相关命令(GRANT/REVOKE)的用法。

4.3.实验内容
1.在Student数据库中,利用图形用户界面,创建一个选修了数据库课程并且是1986年出生的学生的视图,视图中包括学号,性别,成绩这三个信息。

(5分)
2.用两种不同的SQL语句创建课本128页第11题中要求的视图(视图名:V_SPJ)(6分,每种方法3分)。

3.用SQL语句完成课本128页第11题中对视图V_SPJ的查询(4分,每小题2分)。

4.用T-SQL语句操作视图的数据。

(15分,每题5分)
(1)给视图V_SPJ中增加一条数据。

提示:
-SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO 为NULL,所以视图中没有该条数据。

-SPJ表中JNO不能为空时,可以使用instead of触发器实现。

(2)修改视图V_SPJ中的任意一条数据的供应数量。

(3)删除视图V_SPJ中的任意一条数据(注意所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用instead of触发器实现)。

5.在图形用户界面中创建新登录名以及用户。

(20分,每题10分)
(1)对于数据库company创建P148页第 8题中所需要用到的各个用户以及相关的关的登录名。

(假定有数据库company,库中有两个表e(职工表)和d(部门表))。

(2)用图形用户界面完成以下的权限勇赋予:
a)用户王明对两个表有Select和Insert的权力。

b)用户李勇对职工表具有Select权力,对工资字段具有更新权力
6.用T-SQL语句授权和收回权限并加以验证。

(50分,每题5分)
(1)P148页 8题。

(除过(a),(e))
(2)P148页 9题的c),d),f),g)。

(提示:P148页第9题的(c)和(g)小题可以创建合适的视图,针对视图进行授权,
(c)小题用CURRENT_USER)
5.实验4:存储过程/触发器/ODBC数据库编程5.1.目的与要求
1.掌握查看一些系统存储过程的用法。

2.掌握存储过程的创建和使用方法以及步骤。

3.掌握触发器的创建和使用方法以及步骤。

4.掌握ODBC数据源的配置,了解ODBC编程技术。

5.2.实验准备
1.了解存储过程(系统存储过程以及用户自定义存储过程)基本概念和类型。

2.了解创建存、查看、执行、修改和删除储过程的SQL语句的基本语法。

3.了解触发器的基本概念和类型。

4.了解创建、查看、修改和删除触发器触发器的SQL语句的基本语法。

5.了解ODBC数据库配置和编程知识。

5.3.实验内容
1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。

(5分)
2.存储过程的创建与使用:(共计45分)
(1)使用SPJ数据库中的S表、P表、J表、SPJ表,创建一个带参数的存储过程—jsearch。

该存储过程的作用是:当任意输入一个工程代号时,将返回供应该
工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称
(JNAME)。

执行jsearch存储过程,查询“J1”对应的信息。

(10分)(2)创建一个带有输出游标参数的存储过程jsearch2,功能同1),执行jsearch2,查询“J1”对应信息,并且将得到的结果用print语句输出到控制台。

(10分)(3)使用SPJ数据库中的S表,为其创建一个加密的存储过程—jmsearch。

该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。

(10分)(4)使用系统存储过程sp_helptext查看存储过程jsearch, jmsearch的文本信息。

(5分)
(5)执行jmsearch存储过程,查看北京供应商的情况。

(5分)
(6)删除jmsearch存储过程。

(5分)
3.触发器的创建与使用:(共计30分,每小题5分)
(1)在student数据库中建立一个名为insert_s的INSERT触发器,存储在S表中。

该触发器的作用是:当用户向S表中插入记录时,如果插入的sdept值
为’CS’,’IS’,’MA’以外的值,则提示用户“不能插入记录这样的纪录”,否
则提示“记录插入成功”。

触发器创建成功之后,向S表插入记录,验证触发
器是否正常工作。

(2)为student数据库中的S表创建一个名为dele_s1的DELETE触发器,该触发器的作用是禁止删除S表中的记录。

触发器创建成功之后,删除S表中的记录,
验证触发器是否正常工作。

(3)为student数据库中的S表创建一个名为dele_s2的DELETE触发器,该触发器的作用是删除S表中的记录时删除SC表中该学生的选课纪录。

触发器创建成
功之后,删除S表中的记录删除S表中的记录,验证触发器是否正常工作(SC
表中的数据被正常删除)。

(4)为student数据库中的S表创建一个名为update_s的UPDATE触发器,该触发器的作用是禁止更新S表中“sdept”字段的内容。

触发器创建成功之后,更
新S表中“sdept”字段的内容,验证触发器是否正常工作。

(5分)(5)禁用update_s触发器。

禁用之后,更新S表中的“sdept”字段的内容,验证触发器是否还继续正常工作。

(6)删除update_s触发器。

4.ODBC配置以及程序调试:(20分)
(1)配置一个ODBC数据源,要求数据源名称:student,其中包含s(学生信息)表。

(2)阅读并运行实验给出的程序,理解ODBC编程,要求简单写出自己对这段程序的理解或者流程图,并且请给出程序运行结果示例图。

6.实验5:数据库综合实验
从下列实验中选取一个或者自己选题进行实验,并书写实验报告。

6.1.目的与要求
1.目的:通过完成从用户需求分析、概念结构设计,逻辑结构设计等一系列的数据库设
计到上机编程、调试和应用等全过程,进一步理解和掌握教材中的相关内容。

2.要求:
(1)先对选定的实验做简单的需求分析;
(2)做出数据流图和数据字典;
(3)在数据流图和字典的基础上做出E-R图(概念结构设计);
(4)在E-R图基础上进行关系模式设计(至少满足3NF)(逻辑结构设计);
(5)根据需求分析中的各种数据请求得出各种视图以及各种约束、规则、触发器脚本描述;
(6)根据第(5)的内容在SQL-SERVER中设计中实例的数据库;
(7)用自己熟悉的一门语言进行设计的功能的实现
(最低要求:实现设计中的一部分与数据库操作相关的功能,包括查询、增删改等)。

(8)整理前面几步的文档和程序源码,可执行程序。

(9)实验报告的最后写出本次实验完成中遇到的问题及解决方法
3.提交成果物:
(1)完整的实验报告(报告中包括上述要求中的1)-5)和9),注意不需要将客户端程序源代码贴入实验报告中,但可以将触发器、存储过程等数据库端的代码加以
说明写入实验报告中,另外请将开发环境(包括语言、平台、所使用数据库的名
称以及版本号)写入实验报告中;
(2)备份好的数据库备份文件,以及相关的SQL语句;
(3)源代码以及可执行程序;
(4)配置运行说明文档:说明程序该如何配置使之能正常运行
(5)其他:安装包、帮助文件、演示视频等(可选)
6.2.实验准备
1.了解数据库设计的全过程。

2.了解数据流图与数据字典的描述方法。

3.了解E-R图的画法以及E-R图向关系模式转化的方法。

4.了解数据库关系理论的基础,特别是范式的概念与判断。

5.事先进行思考,选定题目,进行需求调查与分析。

6.学习数据库编程的知识。

6.3.实验内容
评分标准:
需求分析:10分(数据流图与数据字典)
概念设计:10分(E-R图)
逻辑设计:5分(关系模式,包括函数依赖,码等优化、表设计)
物理设计:5分(表中的索引选择等)
程序源代码:60分
其他:10分(文档完整性,环境配置等)
5.3.1.题目一:零件交易中心管理系统
零件交易中心管理系统主要提供顾客和供应商之间完成零件交易的功能,其中包括供应商信息、顾客信息以及零件信息。

供应商信息包括供应商号、供应商名、地址、电话、简介;顾客信息包括顾客号、顾客名、地址、电话;零件信息包括零件号、零件名、重量、颜色、简介等。

此系统可以让供应商增加、删除和修改所提供的零件产品,还可以让顾客增加、删除和修改所需求的零件。

交易员可以利用顾客提出的需求信息和供应商提出的供应信息来提出交易的建议,由供应商和顾客进行确认后即完成交易。

5.3.2.题目二:图书管理系统
一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。

此系统功能分为面向学生和面向管理员两部分,其中面向学生部分可以进行借阅、续借、归还和查询书籍等操作;面向管理员部分可以完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认。

5.3.3.题目三:民航订票管理系统
民航订票系统主要分为机场、航空公司和客户三方的服务。

航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有查询航班路线和剩余票数,以及网上订票等功能。

客户又可以分为两类:一类是普通客户,对于
普通客户只有普通的查询和订票功能,没有相应的机票优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。

机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。

5.3.4.题目四:学生学籍管理系统
学生学籍管理系统主要可以进行学生档案和成绩管理的功能。

要求可以完成下列功能:
1.建立学生档案,可以输入,修改和查询学生的学籍信息。

2.可以输入,修改和查询学生的各科成绩和平均成绩等信息。

5.3.5.题目五:车站售票管理系统
考察本市的长途汽车站或者火车站的售票业务,设计车站售票管理系统。

要求可以完成下列功能:
1.具有方便,快速的售票功能,包括车票的预定和退票功能,支持团体的预定和退票。

2.可以方便的查询时刻表或者是车次,票价等信息。

3.可以更改系统中存储的各种信息。

5.3.
6.题目六:企业人事管理系统
调查一些企业,根据具体情况设计企业人事管理系统。

主要功能有:
1.员工的招聘与转正。

2.考勤加班出差管理。

3.人事变动:新进员工登记,员工离职登等。

4.员工培训记录。

5.员工考核奖惩记录。

5.3.7.题目七:电话交费管理系统
根据目前的电信,移动,联通等具体情况设计电话交费管理系统。

主要功能有:
1.电话用户信息的登记与管理。

2.电话费的缴纳。

3.各种话费的修改。

4.电话费的各种查询。

5.各种信息的统计功能。

5.3.8.题目八:医药销售管理系统
调查从事医药产品的零售,批发等相关的企业,根据具体情况设计医药销售管理系统。

主要功能有:
1.基础信息管理:药品信息,员工信息,客户信息,供应商信息等。

2.进货管理:入库登记,入库查询与修改等。

3.库房管理:库存查询,库存盘点,退货处理等。

4.销售管理:销售登记,销售退货,销售查询等。

5.财务统计:当日统计,当月统计等信息。

7.附录:实验报告格式
一. 实验内容、步骤以及结果
(1)。

具体步骤:
运行结果:
二. 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)
除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

批阅者:
批阅日期:
实验成绩:
批注:。

相关文档
最新文档