
《数据库原理及应用》实验指导书2017年9月
《数据库原理及应用》实验指导书 2017 年 9 月

目录实验1:数据库的定义实验·实验2:数据库的建立和维护实验8实验3:数据库的简单查询和连接查询-1519实验4:数据库的嵌套查询:.22实验5:数据库的组合查询和统计查询实验6:视图和图表的定义及使用实验·.25实验7:数据完整性和数据安全性实验·.·27实验8:数据库备份和恢复实验(兼做).34实验9:数据库编程实验(综合实验)39
目 录 实验 1:数据库的定义实验„„„„„„„„„„„„„„„„„„„„ 1 实验 2:数据库的建立和维护实验„„„„„„„„„„„„„„„„„8 实验 3:数据库的简单查询和连接查询„„„„„„„„„„„„„„15 实验 4:数据库的嵌套查询 „„„„„„„„„„„„„„„„„„„ 19 实验 5:数据库的组合查询和统计查询„„„„„„„„„„„„„„22 实验 6:视图和图表的定义及使用实验„„„„„„„„„„„„„„25 实验 7:数据完整性和数据安全性实验„„„„„„„„„„„„„„27 实验 8:数据库备份和恢复实验(兼做)„„„„„„„„„„„„„34 实验 9:数据库编程实验(综合实验)„„„„„„„„„„„„„„39

实验1:数据库的定义实验实验目的:要求学生熟练掌握和使用SQL、T-SQL、SQLServer企业管理器(EnterpriserManagerServer)创建数据库、表、索引和修改表结构,并学会使用查询分析器(SQLServerQueryAnalyzer),接收T一SQL语句和进行结果分析。实验内容:1)创建数据库和查看数据库属性。2)创建表、确定表的主码和约束条件,为主码建索引。3)查看和修改表结构。4)熟悉SQLServer企业管理器(EnterpriserManager)和查询分析器(QueryAnalyzer)工具的使用方法具体实验任务如下。1.基本操作实验1)启动SQLServer200下的企业管理器(EnterpriserManager)如图1.1所示,点击“数据库”右键,利用“新建数据库”建立图书读者数据库如图1.2所示:SOL Servur Finterprie EanpreOX文洋()禁作()童看0).0O国国国限公0店空然台根日量icrosoftG回自Sa图1.1企业管理器界面
1 实验 1:数据库的定义实验 实验目的: 要求学生熟练掌握和使用 SQL、T-SQL、SQL Server 企业管理器(Enterpriser Manager Server )创建数据库、表、索引和修改表结构,并学会使用查询分析器 (SQL Server Query Analyzer),接收 T-SQL 语句和进行结果分析。 实验内容: l)创建数据库和查看数据库属性。 2)创建表、确定表的主码和约束条件,为主码建索引。 3)查看和修改表结构。 4)熟悉 SQL Server 企业管理器(Enterpriser Manager)和 查询分析器 (Query Analyzer)工具的使用方法 具体实验任务如下。 1.基本操作实验 1)启动 SQL Server200 下的企业管理器(Enterpriser Manager)如图 1.1 所示, 点击“数据库”右键,利用“新建数据库”建立图书读者数据库如图 1.2 所示; 图 1.1 企业管理器界面

数据库屁性一图书读者X常规数据文件 事务日志名称(N图书_读者数据库状态:(未知)所有者(未知)创建日期(未知)大小:(未知)可用空间(未知)用户数(未知)备份无上次数据库备份:无上次事务日志备份维护维护计划无排序规则名称(服务器默认设置)-取消帮助确定图1.2新建“图书_读者”界面2)在企业管理器(EnterpriserManager)中查看图书读者数据库的属性,并进行修改,使之符合要求。3)通过企业管理器(EnterpriserManager),在建好了图书数据库中建立图书、读者和借阅3个表,方法是点击“图书读者”右键“新建”下的“表”,如图1.3所示:SverEntei 区回区土件#口老动心中品点品导司抢日来5toSol)(10c)(d)数换片口X制含品日店T一图书孩者中(在一(10cl)一上的#表6区数病出长度光件室2图1.3新建表
2 图 1.2 新建“图书_读者”界面 2)在企业管理器(Enterpriser Manager)中查看图书读者数据库的属性,并进行 修改,使之符合要求。 3)通过企业管理器(Enterpriser Manager),在建好了图书数据库中建立图书、 读者和借阅3个表,方法是点击“图书_读者”右键“新建”下的“表”,如图 1.3 所示: 图 1.3 新建表

其结构为:图书(书号,类别,出版社,作者,书名,定价):读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主键,A11owNul1(是否允许空值)和DefaultValue(缺省值)等列级数据约束。4)在EnterpriserManager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey(主键)约束:借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check(检查)约束,如图1.4、1.5、1.6、1.7所示。 SoL Server Enterprase Ianazer-BX文神口#的(口##文中房#老##品号a数居生若带日:“图书读名”中(在(10ea1)”上)的新表0长度北许生迎鑫空名星省者室A装拉免版刷.l图1.4图书表
3 其结构为: 图书(书号,类别,出版社,作者,书名,定价); 读者(编号,姓名,单位,性别,电话): 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空 值)和 Default Value(缺省值)等列级数据约柬。 4)在 Enterpriser Manager 建立图书、读者和借阅3个表的表级约束:每个表 的 PrimaryKey(主键)约束;借阅表与图书表间、借阅表与读者表之间的FOR EIGNKEY(外码)约束,要求按语义先确定外码约束表达式,再通过操作 予以实现;实现借阅表的书号和读者编号的 UNIQUE(惟一性)约束;实现读者性 别只能是“男”或“女”的 check(检查)约束,如图 1.4、1.5、1.6、1.7 所示。 图 1.4 图书表

SOL Server Enterpeige Lanag西区文停#口用O口X书#者店H3自日期seftSQLServar新者tSy laas m2009-6-10 10:30:10etgroperties3444装能2000-6-6 1:29:12yseaiw留款带库00121三口区设计表“读者是阳书读者中char电话达值面(databare defele)重五笔型国图1.5读者表属性X关系索引/键CHECK 约束表表名读者选定的约束 (S) :CK_读者新建(H)册除()CK_读者约束名(C):约束表达式(μ):性别in(男",‘女")创建中检查现存数据()? 对复制强制约束 () 对 IHSERT 和 UPDATE 强制约束 (E)帮助关闭图1.6check界面M
4 图 1.5 读者表 图 1.6 check 界面

Sof:Servet5文件口南89#口现机机s品品品s2000-8-6 129:12计表“供厨华活是一香中a奥五笔型国图1.7借阅表这样,各表就定义好了,接下来要求同学们自己利用“管理关系”将各表的级联关系画出来,注意分清楚主键表与外键表,关系应在主键表上建立。2.提高操作实验建立学生_课程库操作,在SQLServer企业管理器(EnterpriserManager)中实现。库中表结构为:学生(学号,姓名,年龄,性别,所在系):课程(课程号,课程名,先行课);选课(学号,课程号,成绩)。要求:1)建库、建表、建立表间联系。2)选择合适的数据类型。3)定义必要的索引、列级约束和表级约束。3选择操作实验(1)将自设计的数据库应用系统中的数据库、库中的表、索引和约束用T-SQL表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。(2)内容:5
5 图 1.7 借阅表 这样,各表就定义好了,接下来要求同学们自己利用“管理关系”将各表的 级联关系画出来,注意分清楚主键表与外键表,关系应在主键表上建立。 2.提高操作实验 建立学生_课程库操作,在 SQL Server 企业管理器(Enterpriser Manager)中实 现。库中表结构为: 学生(学号,姓名,年龄,性别,所在系): 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩)。 要求: l)建库、建表、建立表间联系。 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束。 3选择操作实验 (1)将自设计的数据库应用系统中的数据库、库中的表、索引和约束用 T-SQL 表 达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要 的索引、列级约束和表级约束的操作。 (2)内容:

1)分别利用企业管理控制台创建方式、向导创建方式及命令行方式将下面各表建立到教学管理数据库中。注意:表创建存在先后顺序,实际操作中注意体会。(1)学生表(student),采用企业管理控制台创建方式。字段名代码类型约束学号主键char (6)s_no姓名非空char(10)s_name性别char(2)只取男、女s_sex出生日期s_birthdaydate入学成绩number(5,1)贵s_score附加分number(3,1)s_addf班级编码char(5)与班级表中class_no外键关联class_no(2)班级表(class),采用企业管理控制台向导创建方式。类型约束字段名代码主键班级编码cclass_nochar(5)班级名非空class_namechar(10)所属系部dept_nochar(2)与系部表中dept_no外键关联(3)系部表(department),采用命令行方式。类型字段名代码约束主键系部编码dept_nochar(2)系部名dept_namechar(10)非空(4)课程表(course)采用命令行方式。1类型字段名代码约束主键课程编码course_nochar(5)课程名course_namechar(20)非空(5)教师表(teacher),采用企业管理控制台向导创建方式。类型约束字段名代码教师编码t住键char(6)no6
6 1)分别利用企业管理控制台创建方式、向导创建方式及命令行方式将下面各表建 立到教学管理数据库中。 注意:表创建存在先后顺序,实际操作中注意体会。 (1)学生表(student),采用企业管理控制台创建方式。 字段名 代码 类型 约束 学号 s_no char(6) 主键 姓名 s_name char(10) 非空 性别 s_sex char(2) 只取男、女 出生日期s_birthdaydate 入学成绩s_score number(5,1) 附加分 s_addf number(3,1) 班级编码class_no char(5) 与班级表中 class_no 外键关联 (2)班级表(class),采用企业管理控制台向导创建方式。 字段名 代码 类型 约束 班级编码 class_no char(5) 主键 班级名 class_namechar(10)非空 所属系部 dept_no char(2) 与系部表中 dept_no 外键关联 (3)系部表(department),采用命令行方式。 字段名 代码 类型 约束 系部编码dept_no char(2) 主键 系部名 dept_name char(10)非空 (4)课程表(course) ,采用命令行方式。 字段名 代码 类型 约束 课程编码 course_no char(5) 主键 课程名 course_namechar(20)非空 (5)教师表(teacher) ,采用企业管理控制台向导创建方式。 字段名 代码 类型 约束 教师编码t_no char(6) 主键

非空教师姓名char(8)name性别char(2)只取男、女t_sex出生日期t_birthdaydate职称tech_titlechar(10)(6)选修表(choice)采用命令行方式。字段名代码类型约束学生编码s_nochar(6)主键,与学生表中sno外键关联,级联删除课程编码course_nochar(5)主键,与课程表中course_no外键关联成绩number(5, 1)score(7)授课表(teaching)采用企业管理控制台创建方式。字段名代码类型约束教师编码t_no主键,char(6)与教师表中tno外键关联,级联删除课程编码主键,course_nochar(5)与课程表中courseno外键关联2)分别利用企业管理控制台和命令行方式查看这些基本表的各种信息。3)分别利用企业管理控制台和命令行方式为某基本表创建索引,查看其信息,然后删除它。实验报告要求:1.写出实验目的、实验内容、实验结果和主要实验步骤。2.列出实验前准备的实验数据表格,指出图书_读者数据库和学生_课程库中各表的属性定义和数据约束。3,列出实验中出现的问题和解决方法。4.写出实验体会
7 教师姓名t_name char(8) 非空 性别 t_sex char(2) 只取男、女 出生日期t_birthdaydate 职称 tech_titlechar(10) (6)选修表(choice) ,采用命令行方式。 字段名 代码 类型 约束 学生编码s_no char(6) 主键, 与学生表中 s_no 外键关联,级联删除 课程编码course_nochar(5) 主键, 与课程表中 course_no 外键关联 成绩 score number(5,1) (7)授课表(teaching) ,采用企业管理控制台创建方式。 字段名 代码 类型 约束 教师编码t_no char(6)主键, 与教师表中 t_no 外键关联,级联删除 课程编码course_no char(5)主键, 与课程表中 course_no 外键关联 2)分别利用企业管理控制台和命令行方式查看这些基本表的各种信息。 3) 分别利用企业管理控制台和命令行方式为某基本表创建索引,查看其信息, 然后删除它。 实验报告要求: 1.写出实验目的、实验内容、实验结果和主要实验步骤。 2.列出实验前准备的实验数据表格,指出图书_读者数据库和学生_课程库中各表 的属性定义和数据约束。 3.列出实验中出现的问题和解决方法。 4.写出实验体会

实验2:数据库的建立和维护实验实验目的:要求学生熟练掌握使用SQL、T-SQL和SQLServer企业管理器(EnterpriserManager)向数据库输入数据、修改数据和删除数据的操作。实验内容:利用SQLServer200企业管理器实现:(1)查看数据库的基本表的结构和数据约束,并将它们调整到正确。(2)在数据库的基本表中正确输入数据。(3)在数据库的基本表中插入、删除和修改数据。(4)浏览数据库中基本表中的数据。实验要求:1.基本操作实验1)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。实验方法:启用SQLServer2000下的企业管理器,点开“图书_读者”库,点击“表”,分别点击“图书”、“读者”、“借阅”表右键“返回所有行”,就可以输入记录了,当然输入的记录要满足表与表之间的关系,如图2.1、2.2、2.3所示。8
8 实验 2:数据库的建立和维护实验 实验目的: 要求学生熟练掌握使用 SQL、T-SQL 和 SQL Server 企业管理器(Enterpriser Manager)向数据库输入数据、修改数据和删除数据的操作。 实验内容: 利用 SQL Server200 企业管理器实现: (1)查看数据库的基本表的结构和数据约束,并将它们调整到正确。 (2)在数据库的基本表中正确输入数据。 (3)在数据库的基本表中插入、删除和修改数据。 (4)浏览数据库中基本表中的数据。 实验要求: 1.基本操作实验 1)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输 入 10 条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。 实验方法: 启用 SQL Server 2000 下的企业管理器,点开“图书_读者”库,点击“表”, 分别点击“图书”、“读者”、“借阅”表右键“返回所有行”,就可以输入记 录了,当然输入的记录要满足表与表之间的关系,如图 2.1、2.2、2.3 所示