《2022年数据库原理及其应用教程课后答案》由会员分享,可在线阅读,更多相关《2022年数据库原理及其应用教程课后答案(12页珍藏版)》请在金锄头文库上搜索。
1、第一章1数据库的发展历史分哪几个阶段?各有什么特点?答:数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。1)人工管理阶段这个时期数据管理的特点是:数据由计算或处理它的程序自行携带,数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立性差,数据不能被长期保存,数据的冗余度大等给数据的维护带来许多问题。2)文件系统阶段在此阶段,数据以文件的形式进行组织,并能长期保留在外存储器上,用户能对数据文件进行查询、修改、插入和删除等操作。程序与数据有了一定的独立性,程序和数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。3)数据库系统阶段数据库系统的特点如下:(
2、1)数据结构化(2)较高的数据共享性(3)较高的数据独立性(4)数据由DBMS 统一管理和控制2. 从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系?()文件系统与数据库系统之间的区别文件系统用文件将数据长期保存在外存上,数据库系统则用数据库统一存储数据;文件系统中程序和数据有一定的联系, 二数据库系统中程序和数据分离;文件系统用操作系统中的存取方法对数据进行管理,数据库系统则用DBMS统一管理和控制数据;文件系统实现以文件为单位的数据共享,二数据库系统实现以记录和字段为单位的数据共享。()文件系统和数据库系统之间的联系均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据
3、之间用存取方法进行转换;数据库系统是在文件系统的基础上发展起来的。3简述数据、数据库、数据库管理系统、数据库应用系统的概念。答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。凡使用数据库技术管理其数据的系统都称为数据库应用系统。3简述数据库管理系统的功
4、能。答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5 个方面。(1) 数据定义和操纵功能(2) 数据库运行控制功能(3) 数据库的组织、存储和管理(4) 建立和维护数据库(5) 数据通信接口精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 12 页1.8. 什么是数据库的数据独立性?它包含了哪些内容? 物理独立性?所谓数据的独立性是指数据库中的数据与应用程序间相互独立,即数据的逻辑结构、存储结构以及存取方式的改变不影响应用程序。数据独立性分两级:物理独立性和逻辑独立性物理独立性是指当数据的物理结构改变时,通过修改映
5、射, 使数据库整体逻辑结构不受影响,进而用户的逻辑结构以及应用程序不用改变。逻辑独立性是指当数据库的整体逻辑结构发生改变时,通过修改映射,使用户的逻辑结构以及应用程序不用改变。1.11. 解释实体、属性、实体键、实体集、实体型、实体联系类型、记录、数据项、字段、记录型、文件、实体模型、数据模型的含义。实体:客观存在并且可以相互区别的“事物”称为实体。属性:实体所具有的某一特性称为属性。实体键:在实体型中,能唯一标识一个实体的属性或属性集称为实体的键。实体集:同型实体的集合称为实体集。实体型:具有相同属性的实体必然具有共同的特征,所以,用实体名及其属性名来抽象和描述同类实体,称为实体型。实体联系
6、类型:一对一联系( 1:1) ;一对多联系(1:n) ;多对多联系(m :n)记录: (record )字段的有序集合称为记录。数据项:标记实体属性的命名单位称为字段,也称为数据项。字段:标记实体属性的命名单位称为字段,也称为数据项。文件:同一类记录的集合称为文件。文件是用来描述实体集的。数据模型:数据模型是数据库的框架,该框架描述了数据及其联系的组织方式、表达方式和存储路径,它是数据库系统的核心和基础,各种机器上实现的DBMS 软件都是基于某种数据模型,它的数据结构直接影响到数据库系统的其它部分的性能,也是数据定义和数据库操作语言的基础。1.14. 解释模式、内模式、外模式、DDL 、DML
7、 的含义。模式:也称逻辑模式、概念模式,是数据库中全体数据的逻辑结构和特征的描述。外模式:又称子模式和用户模式,外模式是三级结构的最外层,它是数据库用户能看到并允许使用的那部分局部数据的逻辑结构和特征描述,是与某一应用有关的逻辑表示,也是数据库用户的数据视图,即用户视图。内模式:又称存储模式,是三级结构中的最内层,是对数据库存储结构的描述,是数据在数据库内部的表达方式。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 12 页DDL:数据定义语言,定义数据的模式、外模式和内模式三级模式结构,定义模式/ 内模式和外模式/ 模式二级映像,定义
8、有关的约束条件。DML:数据操作语言,实现对数据库的基本操作,包括检索、更新(包括:插入、修改、删除)等。2. 举例说明什么是实体完整性和参照完整性。实体完整性是指主关系键的值不能为空或部分为空。学生关系中的主关系键“ 学号 ” 不能为空选课关系中的主关系键“ 学号 +课程号 ” 不能部分为空,即“ 学号 ” 和“ 课程号 ” 两个属性都不能为空参照完整性是指如果关系R2 的外部关系键X 与关系 R1 的主关系键相符,则X 的每个值或者等于R1 中主关系键的某一个值,或者取空值。学生关系的 “ 系别 ” 是外部关系键,与系别关系的主关系键“ 系别 ” 相对应。则学生关系中某个学生“ 系别 ”
9、的取值或为 “ 空” ,否则必须在参照的系别关系中主关系键“ 系别 ” 的值中能够找到。5. 解释下列概念:笛卡尔积、关系、同类关系、关系头、关系体、属性、元组、域、关系健、候选健、主键、外部键、关系模式、关系数据库模式、关系数据库、关系数据库的型与值。笛卡尔积:实际是一个二维表,表的框架由域构成,表的任意一行就是一个元组,表的每一列来自同一个域。关系:笛卡尔积D1*D2* .Dn 的任意子集称为定义在域D1, D2,Dn 上的 n 元关系。同类关系:具有相同关系框架的关系称为同类关系。关系头:关系头是由属性名A1,A2,An 的集合组成,每个属性Ai 对应一个域Di(i=1,2, ,n) 。
10、关系头(关系框架)是由关系的数据结构的描述,它是固定不变的。关系体:是指关系结构中的内容或者数据,它随元组的建立、删除或修改而变化。属性:由于域可以笛卡尔积、关系、同类关系、关系头、关系头、属性、元组、域、关系健、候选健、主键据库、关系数据库的型与值相同,为了加以区别,必须对每列起一个名字,称为属性。元组:每一个元素(d1,d2, d3,dn)叫做一个n 元组,简称元组。域:域是一组具有相同数据类型的值的集合,又称为值域(用D 表示)。关系健:如果一个关系中有多个候选键,可以从中选一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键,或主键、关系键。候选健:能惟一标识关系中元组的
11、一个属性或属性集,称为候选健。主键:如果一个关系中有多个候选键,可以从中选一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键,或主键、关系键。外部键:如果关系R2 的一个或一组属性X 不是 R2 的主码,而是另一关系的R1 的主码,则该属性或属性组X 称为关系 R2 的外部关系键或外码,并称关系R2 为参照关系,关系R1 为被参照关系。关系模式:关系模式是对关系的描述。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 12 页关系数据库模式:关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这
12、些域上定义的若干关系模式。关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述。关系数据库:在一个给定的应用领域中,所有实体以及实体之间联系所对应的关系的集合构成一个关系数据库。关系数据库的型与值:关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述。而关系数据库的值也称为关系数据库,是这些关系模式在某一时刻对应的关系的集合。也就是说,与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为关系数据库的实例。6. 已知关系 R,S,T如图 2-
13、12 所示,求下列关系代数的运算结果:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 12 页第二章2. 假设有一个书店, 书店的管理者要对书店的经营状况进行管理,需要建立一个数据库,其中包括两个表:存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量)销售(日期,书号,数量,金额)请用 SQL实现书店管理者的下列要求:(1)建立存书表和销售表;(2)掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额进价数量,即库存占用的资金);精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - -
14、-第 5 页,共 12 页(3)统计总销售额;(4)列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额);(5)分析畅销书,即列出本期(从当前日期起,向前30 天)销售数量大于100 的书名、数量。(1)建立存书表和销售表Book (ISBN, title, publisher, edition, publication date, author, book price, purchase price, quantity) CREATE TABLE Book (ISBN CHAR(17) PRIMARY KEY, Title VARCHAR(50) NOT NULL, Publi
15、sher VARCHAR(50) , Edition CHAR(2), P_date CHAR(10), Author CHAR(8), B_price MONEY, P_price MONEY, B_Quantity INT CHECK Quantity=0) (1)建立存书表和销售表;Sales (date, ISBN, quantity, amount) CREATE TABLE Sales (SNo CHAR(12) PRIMARY KEY, S_date DATATIME, ISBN CHAR(17) NOT NULL, S_quantity INT, S_amount MONEY)
16、 (2)掌握书的库存情况,列出当前库存的所有书名、数量、余额(余额进价数量,即库存占用的资金);SELECT Title, B_Quantity , P_price B_Quantity AS Balance FROM Book (3)统计总销售额;SELECT SUM(S_amount ) AS Amount (4)列出每天的销售报表,包括书名、数量和合计金额(每一种书的销售总额);SELECT S_date, Title, SUM(S_quantity ) AS Quantity , SUM(S_amount ) AS Amount FROM Book, Sales WHERE Sales
17、.ISBN=Book.ISBN GROUP BY S_data, Title (5)分析畅销书,即列出本期(从当前日期起,向前30 天)销售数量大于100 的书名、数量。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 12 页SELECT Title SUM(S_quantity) AS Quantity FROM Book, Sales WHERE Sales.ISBN=Book.ISBN AND (S_date BETWEEN GETDATE( )-30 AND GETDATE( ) GROUP BY Title HAVING SU
18、M(S_quantity)100 ORDER BY SUM(S_quantity) DESC 四、简答题。1. 简述 SQL支持的三级逻辑结构。SQL语言支持关系数据库三级模式结构,如图 3.1 所示。其中外模式对应于视图 (View) 和部分基本表 (Base Table ) ,模式对应于基本表,内模式对应于存储文件。SQL 视图1 基本表2 视图2 基本表3 基本表4 基本表1 存储文件1 存储文件2 外模式模式内模式图 3.1 数据库三级模式结构2.SQL有什么特点?(1)SQL类似英语的自然语言,简洁实用。(2)SQL是一种非过程语言。(3)SQL是一种面向集合的语言。(4)SQL即是
19、一种自含式语言,又是嵌入式语言;可独立使用,也可嵌入宿主语言中。(5)SQL具有数据查询、数据定义、数据操作和数据控制四种功能。3. 解释:基本表、视图、索引、系统权限、对象权限、角色,并说明视图、索引、角色的作用。基本表:一个关系对应一个基本表。基本表是独立存在的表,不是由其它的表导出的表。一个或多个基本表对应一个存储文件。视图:视图是从一个或几个基本表导出的表,是一个虚拟的表。在用户看来,视图是通过不同路径去看一个实际表,就像一个窗口一样,我们可以通过其去看我们想看的高楼的不同部分。索引:索引是数据库随即检索的常用手段,它实际上就是记录的关键字与其相应地址的对应表。可加快查询速度;保证行的
20、唯一性。系统权限:是指数据库用户能够对数据库系统进行某种特定的操作的权利。如创建一个表(CREATE TABLE )对象权限:是指数据库用户在指定的数据库对象上进行某种特定的操作的权利。如查询 ( SELECT ) 、添加(INSERT ) 、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 12 页修改( UPDATE )和删除( DELETE )等操作。角色:角色是多种权限的集合,可以把角色授予用户或其他角色。4. 在对数据库进行操作的进程中,设置视图机制有什么优点?它与数据表间有什么区别?1)在关系数据库系统中,视图为用户提供了多种
21、看待数据库数据的方法与途径,是关系数据库系统中的一种重要对象。其优点有: (1)视图能够简化用户的操作;(2)视图使用户能以多种角度看待同一数据;( 3)增加了数据的安全性; ( 4)视图对重构数据库提供了一定程度的逻辑独立性。2)视图在概念上与基本表等同,一经定义,就可以和基本表一样被查询、被删除,我们也可以在一个视图上再定义新的视图,但对视图的更新(插入、删除、修改)操作相对于数据表来说,则有一定的限制。即有些视图逻辑上是肯定不能修改的。(1) 用 SQL的 DDL语言创建 S表,S#为主键, SN不能为空。(2) 创建计算机系学生的视图, 该视图的属性列由学号、 姓名、课程号和任课教师号
22、组成。(3) 检索计算机系年龄在20 岁以上的学生学号。(4) 检索姓王的教师所讲课程的课程号及课程名称。(5) 检索张三同学所学课程的成绩,列出SN 、C# 、GR 。(6) 检索选修总收入超过1000 元的教师所讲课程的学生姓名、课程号和成绩。(7) 检索没有选修C1 课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列。(8) 检索选修和张三同学所选修课程中任意一门相同的学生姓名,课程名。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 12 页(9)S1 同学选修了 C3,将此信息插入 SC表中。(10) 删除 S表
23、中没有选修任何课程的学生记录。答: (1) 用 SQL的 DDL语言创建 S表,S#为主键, SN不能为空。CREATE TABLE S ( S# CHAR(6) CONSTRAINT S_Prim PRIMARY KEY, SN CHAR(8) CONSTRAINT SN_CONT NOY NULL, AGE INT, DEPT VARCHAR(20)(2) 创建计算机系学生的视图, 该视图的属性列由学号、 姓名、课程号和任课教师号组成。CREATE VIEW S_SC_T (S#,SN,C#,T#) AS SELECT S.S#, SN, SC.C#, T# FROM S, SC, T W
24、HERE S.S#=SC.S# AND SC.C#=T.C# (3) 检索计算机系年龄在20 岁以上的学生学号。S#(DEPT= 计算机 AND AGE 20)(S) SELECT S# FROM S WHERE DEPT=计算机 AND AGE 20 (4) 检索姓王的教师所讲课程的课程号及课程名称。C#,CN(TN=王% )(T*C)SELECT T.C# C#, CN FROM T,C WHERE T.C#=C.C# AND TN LIKE 王% (5) 检索张三同学所学课程的成绩,列出SN 、C# 、GR 。SN,C#,GR(SN=张三 )(S*SC)SELECT SN,C#,GR F
25、ROM S,SC WHERE SN=张三 AND S.S#= SC.S# (6) 检索选修总收入超过1000 元的教师所讲课程的学生姓名、课程号和成绩。SN,C#,GR(C#(SAL+COMM)1000(T)*S*SC) SELECT SN,SC.C# C#,GR FROM S,SC,T WHERE (SAL+COMM)1000 AND S.S#=SC.S# AND SC.C#=T.C# (7) 检索没有选修C1 课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列。SELECT * INTO S_Temp FROM S WHERE C1 NOT IN (SELECT C# FR
26、OM SC WHERE S#=S.S#)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 12 页SELECT SN, AVG(GR) AS AVG FROM S_Temp JOIN SC ON S_Temp.S#=SC.S# GROUP BY S_Temp.S# HAVING COUNT(*)=2 ORDER BY AVG(GR) DESC (8) 检索选修和张三同学所选修课程中任意一门相同的学生姓名,课程名。SN,CN (S*SC( C#,CN(SN= 张三 (S) *SC*C) SELECT SN, CN FROM S,SC,C W
27、HERE S.S# = SC.S# AND SC.C# = C.C# AND SC.C# IN (SELECT C# FROM S,SC WHERE S.S# = SC.S# AND SN=张三)(9)S1 同学选修了 C3,将此信息插入 SC表中。INSERT INTO SC (S#,C#) VALUES ( S1, C3 )(10) 删除 S表中没有选修任何课程的学生记录。DELETE FROM S WHERE S# NOT IN (SELECT DISTINCT S# FROM SC) 第四章三. 简答题1. 解释下列术语:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依
28、赖、传递函数依赖、范式。函数依赖:是关系模式中属性之间的一种逻辑依赖关系。平凡函数依赖:当属性集Y是属性集X的子集(即Y X)时。则必然存在着函数依赖X Y ,这种类型的函数依赖称为平凡的函数依赖。非平凡函数依赖:如 Y不是 X的子集,则称XY为非平凡的函数依赖。部分函数依赖:设有关系模式R(U),U 是属性全集, X和 Y是 U的子集,如果 XY , 并且对于X的某一个真子集X,有 X Y,则称 Y对 X完全函数依赖,记做XpY 。完全函数依赖:设有关系模式R(U),U 是属性全集, X 和 Y 是 U 的子集,如果XY,并且对于X 的任何一个真子集 X,都没有X Y,则称 Y对 X完全函数
29、依赖,记做XfY。传递函数依赖: P144 范式:(NF)是模式分解的标准。2. 给出 2NF ,3NF ,BCNF 的形式化定义,并说明它们之间的区别和联系。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 12 页1NF :第一范式是最基本的规范形式,即关系中每个属性都是不可再分的简单项。2NF :如果关系模式R1NF ,且每个非主属性都完全依赖于R的主关系键,则称R属于第二范式,简称2NF,记做 R2NF 。BCNF :如果关系模式R1NF ,且所有函数依赖XY(YX) (不属于) ,决定因素x 都包含了 R一个候选键,则称R属于
30、 BC范式,记作RBCNF 。第六章三 1 一个图书管理系统中有如下信息:图书:书号、书名、数量、位置借书人:借书证号、姓名、单位出版社:出版社名、邮编、地址、电话、E-mail 其中约定:任何人可以借多种书,任何一种书可以被多人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社出版,出版社名有唯一性。完成设计:(1)设计该系统的 E-R图;(2)将 E-R图转换为关系模式;(3)指出转换后的每个关系模式的关系键。三1 (1)(2)关系模式:借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置)出版社(出版社名,邮编,地址,电话,E-ma
31、il )借阅(借书证号,书号,借书日期,还书日期)出版姓名借书人借阅m图书书号书名数量位置出版社地址出版社名邮编nm1电话E-mail借书证号单位借书日期还书日期精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 12 页(3)带下划线的属性(组)为关系键四简答题:1. 数据库设计分为哪几个阶段?每个阶段的主要工作是什么?1)需求分析,是基础,要收集数据库用户的信息内容和处理要求,加以规格化和分析。2)概念结构设计阶段,把用户的信息要求统一到一个整体逻辑结构中。3)逻辑结构设计阶段,将上一步所得到的概念模型转换为某个DBMS 所支持的数据模型,并对其优化。4)物理结构设计阶段,是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存储方法。5)数据库实施阶段,根据物理结构设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。6)数据库运行和维护阶段,收集和记录实际系统运行的数据。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 12 页