数据库实验指导书答案文档格式.docx
- 文档编号:20620992
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:28
- 大小:254.31KB
数据库实验指导书答案文档格式.docx
《数据库实验指导书答案文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书答案文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
对数据库的操作都要通过访问DD才能实现。
通常DD中还存放数据库运行时的统计信息,例如,记录个数、访问次数等。
DD分两类:
一类是只能被用户和DBA访问,而DBMS软件不能访问,这类DD称为“被动的DD”,另一类是既能被用户和DBA访问,也能被DBMS软件访问,这类DD称为“主动的DD”。
管理DD的实用程序称为DD系统。
访问DD中的数据是由DD系统实现的。
现有的大型系统中,把DD系统单独抽出来成为一个软件工具,使之成为一个比DBMS更高级的用户与数据库系统之间的接口。
DDL:
数据描述语言对应数据库系统的三级模式(外模式、模式和内模式),分别有三种不同的DDL:
外模式DDL、模式DDL和内模式DDL。
外模式DDL:
是专门定义外视图的,外视图是用户观点的数据库描述(与用户有关的数据元素名字、特征及相互关系),它是数据库的局部逻辑结构。
模式DDL:
是用来描述概念视图的专用语言。
概念视图是数据库的全局逻辑结构,它包括数据库中所有元素的名字、特征及相互关系的描述,并包括数据的安全保密性和完整以及存储安排、存取路径等信息。
内模式DDL:
是用来定义内视图的数据描述语言。
内视图是从物理层中分离出来的,但不是物理视图。
虽然它有存储记录和块的,但它不受任何存储设备和设备规格(如柱面大小、磁道容量等)的限制。
它包括对存储记录类型、索引方法等方面的描述。
用三种DDL描述不同的模式,有利于实现数据的独立性。
DML:
数据操纵语言是用户与DBMS之间的接口,它是DBMS提供给用户的对数据库进行检索的存储的工具。
包括数据查询、插入、删除等各种操作命令。
DML由一组命令语句组成,这些语句可分为4类。
(1)存储语句
用户使用存储语句向数据库中存放数据。
系统给出新增数据库记录的数据库码,并分配相应的存储空间。
(2)控制语句
用户通过这类语句向DBMS发出使用数据库的命令,使数据库置于可用状态。
操作结束后,必须使用关闭数据库的命令,以便对数据库的数据进行保护。
(3)检索语句
用户通过这类语句把需要检索的数据从数据库中选择出来传至内存,交给应用程序处理。
(4)更新语句
用户通过这组更新语句完成对数据库的插入、删除和修改数据的操作。
二、选择题参考答案
CDDCA、DACBD
三、填空题
1.数据库的三级模式体系结构是指__外模式___、___模式____和___内模式_。
2.数据库经历了_人工管理阶段__、__文件管理阶段_和_数据库管理阶段_三个阶段。
3.层次模型的上层和下层实体之间表现为___一多_____联系。
4.当用E-R图表示数据库概念模型时,此E-R图能常按_局部E-R图__和_总体E—R图_两个步骤进行设计。
5.两个实体型联系分为_一对一_、_一对多_、_多对多_。
6.模式/内模式映象为数据库提供了_物理数据独立性_数据独立性。
7.在层次、网状模型中,数据之间联系用_基本层次_实现。
8.结构数据模型是由层次、网状和关系三部分组成的。
9.按照数据结构的类型来命名,数据模型分为概念结构、逻辑结构和物理结构。
10.提供数据库定义、数据装入、数据操纵、数据控制和DB维护功能的软件称为_DBMS___。
1.
2.
四、简答题
1.DB的三级模式体系结构描述了什么问题?
试详细解释。
答:
2.试述模式在数据库中的重要地位。
数据模式是对全体数据的逻辑结构、联系和约束的描述。
某数据模式下的一组具体的数据值称为数据模式的一个实例。
因此,数据模式是稳定的,而实例是在不断变化,不断更新的。
数据库的三级模式结构是对数据的三个抽象级别。
它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。
主要是保证数据的物理独立性和逻辑数据的独立性。
数据独立性的好处在于,当数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。
数据的逻辑模式改变了,但用户的模式可以不改变,因此应用程序也可以不变,这将使程序维护容易,。
另外,对同一逻辑模式,可以建立不同的用户模式,从而提高数据共享性,使数据库系统有较好的可扩充性,给数据库管理员(DBA)维护、改变数据库的存储提供了方便。
方便了用户使用数据库。
在使用时只需去关心用户数据库的具体内容,不要考虑它的逻辑结构和存储结构。
有利于数据共享(减少数据冗余)。
有利于数据安全和保密。
3.数据独立性与数据联系这两个概念有什么区别?
联系是指在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
数据独立性是指,当数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变。
4.试述DBMS的主要功能。
5.DBS由哪几个部分组成?
6.DBA的职责是什么?
五、综合应用题
1.奥林匹克运动会有来自世界各国运动员组成的体育代表团参赛各类竞赛项目。
一个代表团由多名运动员组成;
一个运动员可以参加不同项目的比赛,而一个竞赛项目允许多名运动员参赛。
为了管理赛事,将代表团、运动员、竞赛项目作为实体,其中:
代表团包含:
国家、团长、人数等属性;
运动员包含:
编号、姓名、性别、年龄等属性;
竞赛项目包含:
项目号、项目名、比赛时间、比赛场地等属性。
试为赛事涉及的各代表团、运动员、竞赛项目、比赛情况设计E-R模型。
2.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;
每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。
工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
根据上述语义画出E-R图,在E-R图中需注明实体的属性、联系的类型等。
第2章关系数据库
一、名词解释
关系模型:
关系模型主要有三个组成部分:
数据结构(二维表格即关系);
数据操作(其理论依据是关系代数和关系演算);
完整性规则(实体完整性、参照完整性和用户完整性)。
1.数据结构
在关系模型中,实体、实体间的各种联系均用关系表示;
其逻辑结构就是二维表格。
2.数据操作
数据操作用于描述系统的动态特性,其理论依据是关系代数和关系演算。
数据库主要有检索和更新(包括插入、删除和修改)两大类操作。
在关系模型中必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。
(1)
1)常用的关系操作
包括:
选择(Select)、 投影(Project)、
连接(Join)、
除(Divide)、
并(Union)交(Intersection)、
差(Difference)、插入(Insert)、
删除(Delete)、
修改(Update)等操作。
特点:
集合操作方式(操作的对象和结果都是集合)。
操作方式:
采用关系代数和关系演算方式。
关系代数是用关系运算来表达查询要求的方式;
关系演算是用谓词来表达查询要求的方式。
在关系演算中又
分元组关系演算和域关系演算
(2)关系数据语言
1)抽象的查询语言
关系代数、关系演算是抽象的查询语言,它们与具体的DBMS中
实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语
言能力的标准和基础。
2)SQL语言
SQL语言是介于关系代数、关系演算之间的一种语言,它是把查
询、定义、控制合为一体的关系数据语言。
3.关系模型的三类完整性规则
关系模型的
三类完整性规则,是对数据的约束。
在关系模型中提供了三类完整性规则:
实体完整性、参照完整性和用户定义的完整性。
主键:
用户选作元组标识的一个侯选键称为主键。
外键:
若有一个关系R中包含有另一个关系S的主键K所对应的
属性组F,且F不是R的主键,则称F为R的外键。
候选键:
能唯一标识元组的最小属性组合。
实体完整性:
参照完整性:
关系系统:
当一个系统满足以下两条要求时,它就是一个关系系统:
(1)支持关系数据结构。
在用户眼里,数据库是由表,并且只有表构成的。
(2)不仅应有关系代数中选择、投影和(自然)连接运算,并且不能要求用户定义任何物理存取路径。
上述两点构成了关系系统的最基本要求。
二、单项选择题
BBABB、ACDBD
三、填空题
1.“关系”这个术语来自数学中的_集合_概念,因此,关系中任意两个元组不能__重复__。
2.关系代数运算都是_关系_级的运算,即它们的每个运算分量是一个_关系_,运算的结果也是_关系_。
3.关系数据库中,实现表与表之间的联系是通过__外码__。
4.两个没有公共属性的关系作自然连接时等价于它们作_集合并_。
5.关系数据库中,实现主码标识元组的作用是通过_实体完整性实现的_。
6.在关系数据库中,实现“表中任意两行不能相同”的约束是_实体完整性_。
7.传统的集合“并、交、差”运算施加于两个关系时,这两个关系的_度(列数)_必须相等,_对应列_必须取自同一个域。
8.在关系代数中,对一个关系做投影操作后,新关系的元组个数_等于或小于_原来关系的元组个数。
9.设关系R和关系S的元数分别是3和4,关系T是R与S的笛卡尔积,即:
T=R×
S则关系T的元数是7。
10.关系代数中,连接运算是__笛卡尔积、选择和投影_操作的组合。
四、程序设计题
1.解:
πB,C(R)
σA=D(R×
S)
B
C
A
B
D
E
3
4
5
7
8
9
2.现有关系数据库如下:
S(学号,姓名,性别,专业,奖学金)
C(课程号,课程名,学分)
SC(学号,课程号,分数)
用关系代数表达式实现下列各题。
(1)检索“英语”专业学生所学课程的学号、姓名、课程名和分数。
(2)检索“数据库技术”课程成绩高于90分的所有学生的学号、姓名、专业和
分数。
(3)检索选修课程号为C2和C5的学生学号。
(4)检索不选修“C1”课程的学生学号,姓名和专业。
(5)检索没有任何一门课程成绩不及格的所有学生的学号、姓名和专业。
3.对于上题的关系S、C、SC,试用元组演算表达式表示下列各题。
(1)检索选修课程号为K2的学生学号和分数。
(2)检索“数据库技术”课程的学生学号和姓名。
(3)检索选修课程号为K2和K5的学生学号。
(4)检索不选修“C1”课程的学生姓名和专业。
(5)检索选修全部课程的学生姓名。
4.有关系R、S和W,写出下列域演算表达式的结果。
(1)R1={xyz|R(xyz)(z>
6∨y=a)}
(2)R2={xyz|R(xyz)∨S(xyz)x=6z7}
(3)
(2)R3={vyx|(z)(u)(R(xyz)w(uvt)z>
u)}
5.设R和S都是二元关系,把元组表达式
{t|R(t)(u)(s(u)u[1]=t[2])}
转换成等价的:
(1)汉语查询句子;
(2)关系代数表达式;
(3)域表达式。
第3章关系数据库标准语言SQL
一、基本概念题
1.SQL语言有什么特点?
(1)语言功能的一体化
(2)模式结构的一体化
(3)面向集合的操作方式
(4)自含式语言(交互式语言),又是嵌入式语言两种使用方式、同一语法结构
(5)语言简洁、易学易用
(6)高度非过程化
2.试指出SQL语言中基本表和视图的区别和联系是什么?
一个视图虽然也是一个关系,但是它与基本表有着本质的区别。
任何一个视图都是从已有的若干关系导出的关系,它只是逻辑上的定义,实际并不存在。
在导出时,给出一个视图的定义,此定义存放在数据字典中,但没有真正执行此定义。
当使用某一视图查询时,将实时从数据字典中调出此视图的定义;
根据此定义以及现场查询条件,从规定的若干关系中取出数据,组织成查询结果。
因此,视图是虚表。
3.哪些视图是可以更新的?
哪些视图是不可以更新的?
请各举一例说明。
4.嵌入式SQL语言需解决的几个问题是什么?
怎么解决?
使用嵌入式SQL必须解决以下几个问题:
⑴预编译器不能识别和接受SQL语句,因此,嵌入式程序中,应有区分SQL语句与
宿主语言语句的标记。
如:
在C语言中使用EXECSQL标记。
⑵DBMS和宿主语言程序(程序工作单元)如何进行信息传递。
解决方法:
主变量及其指示变量、SQL通信区。
⑶一条SQL语句原则上可产生或处理一组记录(集合),而宿主语言一次只能处理一
个记录,必须协调这两种处理方式。
游标。
5.什么是游标?
使用游标有哪几个步骤?
游标是系统为用户的查询结果开辟带指针的数据缓冲区,存放SQL的查询结果,每个游标有一个单独的名字。
游标的操作的主要步骤:
(1)用DECLARE语句声明游标,并定义游标类型和属性;
(2)调用OPEN语句打开和填充游标;
(3)执行FETCH函数(或语句)读取游标中的单行数据;
(4)如果需要,修改游标基表中的当前行数据;
(5)执行CLOSE语句关闭游标;
(6)执行DEALLOCATE语句删除游标,并释放它所占用的所有资源。
6.嵌入式SQL语言在什么情况下需要使用游标?
什么情况下不需要使用游标?
不需要使用游标的语句有:
.说明性语句;
.数据定义语句;
.数据控制语句;
.INSERT语句
.查询结果为单记录的SELECT语句
.对满足条件的当前记录(或记录集),一次性进行修改或删除的UPDATE和DELETE语句(有些书上把UPDATE或DELETE语句这种使用形式称为非CURRENT形式)。
需要使用游标的SQL语句有:
.查询结果为多条记录的SELECT语句;
.对满足条件的结果集中记录分别进行修改或删除的UPDATE、DELETE语句。
也称为CURRENT形式的UPDATE、DELETE语句
7.什么是Transact-SQL?
它在哪些方面增加了标准SQL的功能?
Transact-SQL的缩写为T-SQL,T-SQL是Microsoft公司的SQLServer的数据库语言,它是对标准SQL语言的扩充。
T-SQL以存储过程、函数、数据类型、逻辑运算符及流程控制语句等增加了SQL语言的功能。
8.什么是触发器?
触发器的主要优点是什么?
所谓触发器就是一类由事件驱动的特殊过程(特殊类型的存储过程),当一个触发器建立后,它作为一个数据库对象被存储。
当某个触发事件发生时,触发器被触发,执行一系列操作。
触发器一旦由某个用户建立,任何用户对该触发器指定的数据进行增、删或改操作时,DBMS系统将自动激活相应的触发器,定义在触发器中的功能将被DBMS执行,在核心层进行集中的完整性控制。
触发器的主要优点
⑴触发器能够实施比外键约束,检查约束和规则对象等更为复杂的数据完整性检查。
⑵和约束相比,触发器提供了更多的灵活性。
约束将系统错误信息返回给用户,而触发器则可以打印错误信息,调用其他存储过程,或根据需要纠正错误。
⑶无论对表中的数据进行何种更新(增、删、改操作),相应的触发器都能被激活,对数据实施完整性检查和处理。
⑷触发器能够级联更新数据库中的表内容。
9.在SQLSERVER中定义触发器时可使用系统提供的两张特殊的临时表inserted和deleted,这两个表的结构如何确定?
作用是什么?
两张表与创建触发器的表有相同的结构。
作用是:
.用户可以使用该表检查某些修改操作的效果。
.但用户不能直接修改该表中的数据。
.用户可以使用该表的内容作为查询操作的判断条件,但要在FROM中写出使用的表名(inserted或deleted)。
10.什么是存储过程?
存储过程有哪些特点?
存储过程是存放在数据库服务器上的预先定义与编译好的SQL语句集合,是一个独立的数据库对象。
存储过程特点如下:
⑴存储过程作为一个程序逻辑处理单元,使多个应用程序可以共享应用程序的处理逻辑单元,所有的客户机程序可以使用同一个存储过程进行各种操作,从而确保数据访问和操作的一致性,也提高了应用程序的可维护性。
⑵由于存储过程在第一次执行之后,就驻存在高速缓存存储器中,减少了执行SQL语句时的句法分析和查询优化的时间,提高了系统的执行效率。
⑶存储过程提供了一种安全机制。
如果用户被授予执行存储过程的权限,那么既使该用户没有执行访问在该存储过程中所参考的表或者视图的权限,该用户也可以执行该存储过程。
⑷减少了网络的流量负载。
由于存储过程是存放在服务器端的,应用程序(客户端)只需向服务器发出一次请求调用一个存储过程,服务器上就可一次执行一批SQL命令,中间结果不用送回客户端,大大降低了网络流量和服务器的开销。
⑸因为存储过程提供该前端应用程序共享的处理逻辑,若要改变业务规则或策略,只需改变存储过程和参数,不用修改应用程序。
ACAAD、BDADC
1.SQL语言提供数据库定义、__数据操作______、数据控制等功能。
2.SQL语言特点之一是高度_非过程化_,只要说明要“做什么”,而不必说明“怎么做”。
3.在各类视图中,一般_行列子集_视图是可更新视图。
4.子查询中使用了_存在量词_的嵌套查询一般是相关子查询。
以下5、6、7题使用如下的关系表R、S和T:
R(BH,XM,XB,DWH)
S(DWH,DWM)
T(BH,XM,XB,DWH)
5.实现∏XM,DWH(σXB=‘女’(R))的SQL语句是SELECTXM,DWHFROMRWHEREXB=’女’。
6.实现R×
S的SQL语句是SELECTR.*,S.*FROMS,R。
7.实现∏BH,XM,XB,DWM(σXB=‘男’∧R.DWH=S.DWH(R×
S))的SQL语句是
SELECTR.BH,R.XM,R.XB,S.DWMFROMR,SWHERER.DWH=S.DWHandR.XB=’男’。
8.在SQL语言中,把对表S,C进行查询,修改,插入,删除等全部权力授予所有用户的语句是__GRANTALLONS,CTOPUBLIC__。
9.触发器一旦由某个用户建立,任何用户对该触发器指定的数据进行增、删或改操作时,DBMS系统将__自动_执行定义在触发器中的功能。
10.存储过程是存放在_数据库_上的_一组SQL_的语句集合,是一个独立的数据库对象。
四、编程题
已知有三个关系如下,请用SQL语言完成下面各项操作:
图书(总编号,分类号,书名,作者,出版单位,单价)
读者(借书证号,单位,姓名,性别,职称,地址,借阅册数)
借阅(借书证号,总编号,借书日期)
1.创建借阅基本表,同时指定主码和外码。
(注:
借书证号为字符型,宽度为3;
总编号为字符型,宽度为6;
借书日期为日期时间型)
2.给读者表增加约束‘性别只能为男或女’。
3.为图书表按总编号降序创建唯一索引。
4.查找‘清华大学出版社’的所有图书及单价,结果按单价降序排列。
5.查找单价在17元以上已借出的图书。
6.查找藏书中比‘清华大学出版社’的所有图书单价都高的图书总编号。
7.统计藏书中各个出版单位的册数和价值总和,显示册数在5本以上的出版单位、册数和
价值总和。
8查找借阅了借书证号为‘006’的读者所借所有图书的读者借书证号、姓名和地址。
9.在借阅基本表中插入一条借书证号为‘008’,总编号为‘010206’,借书日期为2000年12月16日的记录。
10.将‘高等教育出版社’的图书单价增加5元。
11.删除所有作者为‘张三’的图书借阅记录。
12.创建‘计算机系’借阅‘清华大学出版社’图书的读者视图。
13.授予张军对借阅表有SELECT的权力,对其中借书日期有更新的权力。
14.创建删除触发器,在借阅表中删除借阅记录时,将读者表的对应的借阅册数减1。
15.创建一个带参数的存储过程,完成对指定借书证号的读者在2000年1月1日以后的借阅情况查询。
第4章关系数据理论
1.什么样的关系模式是一个不好的关系模式呢?
其主要存在哪些问题?
请举例说明.
不好的关系模式有如下的一些问题:
(1)数据冗余
(2)更新异常
(3)插入异常
(4)删除异常
2.简述Armstrong公理系统。
设U为属性总体集合,F为U上的一组函数依赖,对于关系模式R(U,F),X、Y、Z为属性U的子集,有下列推理规则:
A1:
自反律:
若YXU,则X→Y为F所蕴函。
A2:
增广律:
若X→Y为F所蕴函,且Z是U的子集,即ZU,则XZ→YZ为F所蕴函。
式中XZ和YZ是X∪Z和Y∪Z的简写。
A3:
传递律:
若X→Y、Y→Z为F所蕴函,则X→Z为F所蕴函。
3.什么叫关系的规范
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 指导书 答案