数据库系统概论实验指导(第六版)计算机学院2010/09改版履历目录目录 (3)1.实验概要 (4)1.1.实验说明 (4)1.2.实验环境和配置 (4)1.3.上机要求 (4)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.实验内容 (14)5.3.1.题目一:零件交易中心管理系统 (15)5.3.2.题目二:图书管理系统 (15)5.3.3.题目三:民航订票管理系统 (15)5.3.4.题目四:学生学籍管理系统 (15)5.3.5.题目五:车站售票管理系统 (16)5.3.6.题目六:企业人事管理系统 (16)5.3.7.题目七:电话交费管理系统 (16)5.3.8.题目八:医药销售管理系统 (16)7.附录:实验报告格式 (17)1.实验概要1.1.实验说明内容:本课程实验分5次完成,每次完成一部分。
具体内容参考本指导的后半部分。
成绩:每次实验100分,最后取所有实验的平均分作为实验的总成绩。
评分标准如下:上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。
实验报告每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。
每次实验结束时,将写好的实验报告,提交给各班辅导老师。
如果确有困难没有完成的情况下,课后自己完成之后提交到辅导老师的邮箱里。
由辅导老师根据课堂上机实验检查状况和实验报告的内容给出每次实验的成绩。
实验报告的内容包括:实验内容、实验步骤、程序源码、运行结果(可以是程序的输出,也可以是运行画面的抓屏,抓屏图片要尽可能的小,否则文件太大)。
每份实验报告是一个WORD文档。
实验报告命名规则如下:DBx(实验次数)_XXXXXX(学号)_姓名例如:052978的学生的第一次实验报告文件名: DB1_052978_李宁注意:请每个人保存好自己的实验报告的电子版,直到该门课考试成绩公布之后。
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。
(4)用T-SQL语句删除创建的表。
(5)用T-SQL语句删除创建的数据库。
(6)用T-SQL语句还原刚才备份的数据库Student。
3.利用图形用户界面对上题中创建的Student库的S表中,增加以下的约束和索引。
(25分,每小题5分)(1)将学号(sno)设置为主键,主键名为pk_sno。
(2)为性别(ssex)添加默认约束(默认值),其值为“男”。
(3)为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。
(4)为出生日期(sbirth)添加CHECK约束,约束名为ck_sbirth,其检查条件为:出生日期大于1986年1月1日。
(5)为sbirth创建一个降序排列的UNIQUE索引,索引名为IX_Sbirth。
4.用SQL语言为Student数据库中的SC表添加外键约束,要求如下:将sno,cno设置为外键,其引用表为分别是S表和C表,外键名称分别为fk_sno,fk_cno。
(2分)5.利用图形用户界面根据上面的外键定义画出由S,C,SC表构成的数据库关系图。
(3分)6.用SQL语言删除S表中所创建的约束或者索引(第3小题中的(1)-(5))。
(10分,每小题2分)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规则,将其绑定到S表的ssex性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”)。
(2)删除ssex_rule规则(注意:规则已绑定到ssex表的性别字段上,需要先解除原有的绑定)。
2.利用SQL语言创建,验证和删除默认值。
(10分,每小题5分)(1)创建一个ssex_def默认对象,将其绑定到S表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效)。
(2)ssex_def(注意:默认对象已绑定到S表的ssex性别字段上)。
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中增加一条数据(基本表中有插入的数据即可)。
(2)修改视图V_SPJ中的任意一条数据的供应数量。
(3)删除视图V_SPJ中的任意一条数据。
5.在图形用户界面中创建新登录名以及用户。
(20分,每题10分)(1)对于数据库company创建P148页第 8题中所需要用到的各个用户以及相关的关的登录名。
(假定有数据库company,库中有两个表e(职工表)和d(部门表))。
(2)用图形用户界面完成以下的权限勇赋予:a)用户王明对两个表有Select和Insert的权力。