1、数据库课后答案数据库系统概论习题参考答案An Introduction to Database System安徽工业大学授课教师:周兵选用教材: 数据库系统及应用,戴小平,中国科技大学出版社,2010.8参考书目:1、Date C J, An Introduction to Database System (Ed.7), Addison-Wesley,20002、数据库系统原理教程,王珊,陈红:清华大学出版社,20003、数据库系统概论(第四版), 萨师煊,王珊, 高等教育出版社,2006 中国人民大学说明: 斜体部分是可选讲授内容, 带星号的习题为可选。第 1 章 数据库基础1.1 习题 P
2、22A.1 1.2 试述数据库、数据库系统、数据库管理系统这几个概念。答案:B.1 数据库数据库是关于企业或组织的全部数据的集合。数据库包含两部分:一是对数据结构的所有描述,存储于数据字典之中,二是数据数据本身,它是数据库的主体。B.2 数据库系统数据库系统是指在计算机系统中引入数据库后的系统构成,由数据库、数据库管理系统、运行环境、数据库管理员和用户构成。B.3 数据库管理系统数据库管理系统是位于用户与操作系统之间的一层数据管理软件,负责数据库管理和维护的软件系统。A.2 1.3 试述数据管理技术的三个阶段,及其特点。答案:B.1 手工管理阶段数据的组织和管理完全靠程序员手工完成,因此称为手
3、工管理阶段。这个阶段数据的管理效率很低。C.1 特点:D.1 数据不保存。D.2 应用程序管理数据。D.3 数据不共享。D.4 数据不具有独立性。B.2 文件系统阶段在文件系统中,按一定的规则将数据组织成为一个文件,应用程序通过文件系统对文件中的数据进行存取和加工。C.1 特点:D.1 数据可以长期保留。D.2 数据不属于某个特定的应用程序。D.3 文件组织形式的多样化。D.4 数据冗余度大。D.5 数据不一致性。D.6 数据联系弱。B.3 数据库系统阶段数据库技术克服了以前所有管理方式的缺点,试图提供一种完善的、更高级的数据管理方式。它的基本思想是解决多用户数据共享的问题,实现对数据的集中统
4、一管理,具有较高的数据独立性,并为数据提供各种保护措施。C.1 特点:D.1 采用数据模型表示复杂的数据结构。D.2 数据的共享性高,冗余度低,易扩充。D.3 数据具有较高的独立性。D.4 数据由DBMS统一管理和控制。A.3 1.4 什么是数据模型及其三要素?答案:数据模型就是在数据世界中对概念模型的数据描述。数据模型的三要素:数据结构、数据操作、完整性约束A.4 1.7 大学有若干个学院,每个学院有若干个系,每个系有若干个教师,每个教师开若干门课,每门课可以由不同的教师来教;学生属于不同的班级,班级属于不同的系;每个学生可以选修若干门课,每门课可以由不同的学生来选。试用E-R图来表示该大学
5、的概念模型。答案:第 2 章 关系数据库2.1 习题 P48-50A.1 2.2 关系的完整性规则是那几个?分别给出规则。答案:B.1 实体完整性规则 若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。B.2 参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值必为: 取空值(F中的每个属性值均为空值)。 等于S中的某个元组的主码值。B.3 用户定义的完整性规则包括:(1) 列值非空(NOT NULL短语)(2) 列值惟一(UNIQUE短语)(3) 列值需满足一个布尔表达式(CHECK短语)A.2 2.3 简述关系模型
6、的三个组成部分。答案:关系模型有三个要素,即关系数据结构、关系操作集合和关系完整性约束。A.3 2.6 设有四个关系R,S,T,U如图所示:R ABC785479553S ABC785791542T CD5337U ABCD145314375421 计算: RS,R-S,RS,UT,RT31 RT,RT,C3(U),4, 3(U) 1,3(D5(RT)答案: ABR.CT.CD785537853747953479375535355337 RT T.CB58385737 4,2(B5(RT)A.4 2.7 设有一个学生借书SJB数据库,包括S,B,SJB三个关系模式:S(SNO, SNAME,
7、SAGE, SSEX, SDEPT)B(BNO, BNAME, BWRI, BPUB, BQTY, BPRI)SJB(SNO, BNO, BT, ST, QTY, FEE)学生表S由学生号(SNO),学生名(SNAME),年龄(SAGE),性别(SSEX),系部(SDEPT)组成;图书表由图书号(BNO),图书名(BNAME),作者(BWRI),出版社(BPUB),数量(BQTY),价格(BPRI)组成;学生借阅表由学生号(SNO),图书号(BNO),借阅时间(BT),归还时间(HT),借出数量(QTY),欠费情况(FEE)组成。试用关系代数、ALPHA语言、QBE语言完成下列查询并给出结果:
8、检索S1学生的借书情况。检索计算机系学生的借书情况。检索学生李明借的图书的书名和出版社情况。检索李明借的数据库原理书欠费情况。检索至少借了王小川同学所借的所有书的学生号。检索12月31号归还的图书情况。检索清华大学出版社出版的30元以下的图书情况。S表SNOSNAMESAGESSEXSDEPTS1李明18男计算机系S2王建18男计算机系S3王丽17女计算机系S4王小川19男数理系S5张华20女数理系S6李晓莉19女数理系S7赵阳21女外语系S8林路19男建筑系S9赵强20男建筑系B表BNOBNAMEBWRIBPUBBQTYBPRICEB1数据通信赵甲南北出版社1028B2数据库钱乙大学出版社5
9、34B3人工智能孙丙木华出版社738B4中外建筑史李丁木华出版社452B5计算机英语周戊大学出版社725B6离散数学吴巳木华出版社228B7线性电子线路郑庚南北出版社334B8大学物理王辛南北出版社428SJB表SNOBNOBTHTQTYFEES1B108/04/200812/09/2008 13.5S1B210/07/200811/07/200810S1B310/07/2008 1 S2B209/04/200811/07/200810S3B409/04/200812/31/200812.7S3B306/11/200809/08/200820S4B209/11/200812/10/200810
10、S4B109/11/2008 1 S5B509/06/200812/31/200810S6B705/14/200805/31/200810S7B405/27/200809/16/2008111.2S7B709/18/200810/26/200810S9B811/21/200812/31/200810S9B811/27/2008 1答案:检索S1学生的借书情况。Sno=S1(SJB) 检索计算机系学生的借书情况。SNO,BNO,BT,HT,QTY,FEE(SDEPT=计算机(SJB S)检索学生李明借的图书的书名和出版社情况。BNAME,BPUB (SNAME=李明(S SJB B)BNAMEB
11、PUB数据通信南北出版社数据库大学出版社人工智能木华出版社检索李明借的数据库原理书欠费情况。FEE (SNAME=李明BNAME=数据库 (S SJB B)检索至少借了王小川同学所借的所有书的学生号。SNO,BNO ( (S SJB) BNO (SNAME=王小川 (S SJB)检索12月31号归还的图书情况。HT=12/31/2008 (SJB)检索木华出版社出版的30元以下的图书情况。BPUB=木华大学出版社BPRICE 30 (B)BNOBNAMEBWRIBPUBBQTYBPRICEB6离散数学吴巳木华出版社228第 3 章 关系数据库标准语言SQL3.1 习题 P122A.1 4.2
12、试指出SQL语言中基本表和视图的区别和联系是什么?答案: 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不会出现数据冗余 基表中的数据发生变化,从视图中查询出的数据也随之改变 视图一经定义,就可以和基本表一样被查询,被删除,但对视图的更新(增加,删除,修改)操作则有一定的限制。 由于视图是虚表,所以 SQL对视图不提供建立索引的语句。 SQL一般也不提供修改视图定义的语句(有此需要时,只要把原定义删除,重新定义一个新的即可,这样不影响任何数据)。A.2 4.6 事务的特性是什么?答案:事务的ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(
13、Isolation)、持续性(Durability )。A.3 *4.10已知有三个关系如下,请用SQL语言完成下面各项操作:图书(总编号, 分类号, 书名, 作者, 出版单位, 单价)读者(借书证号, 单位, 姓名, 性别, 职称, 地址, 借阅册数)借阅(借书证号, 总编号, 借书日期)用SQL语句完成以下各项操作。(1) 创建借阅基本表,同时指定主码和外码。(注:借书证号为字符型,宽度为3;总编号为字符型,宽度为6;借书日期为日期时间型)。(2) 给读者表增加约束性别只能为男或女。(3) 为图书表按总编号降序创建唯一索引。(4) 查找清华大学出版社的所有图书及单价,结果按单价降序排列。(
14、5) 查找单价在17元以上已借出的图书。(6) 查找藏书中比清华大学出版社的所有图书单价都高的图书总编号。(7) 统计藏书中各个出版单位的册数和价值总和,显示册数在本以上的出版单位、册数和价值总和。(8) 查找借阅了借书证号为006的读者所借所有图书的读者借书证号、姓名和地址。(9) 在借阅基本表中插入一条借书证号为008,总编号为010206,借书日期为2000年12月16日的记录。(10) 将高等教育出版社的图书单价增加5元。(11) 删除所有作者为张三的图书借阅记录。(12) 创建计算机系借阅清华大学出版社图书的读者视图。(13) 授予张军对借阅表有SELECT的权力,对其中借书日期有更
15、新的权力。A.4 4.11 已知有四个关系如下,请用SQL语言完成下面各项操作:供应商表S:由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成。零件表P:由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。工程项目表J:由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成。供应情况表SPJ:由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。(1) 分别创建上面四个基本表,同时指定主码和外吗。(2) 检索供应商代码为S1供应商供应的零件号(3) 检索没有使用天津供
16、应商生产的红色零件的工程号JNO;(4) 检索出各个工程项目使用的零件数量。(5) 检索上海厂商供应的所有零件代码,并且按照重量从大到小显示出来。(6) 检索出供应商姓名头两个字为“浦东”的供应商的信息。(7) 把全部红色零件的颜色改成蓝色。(8) 从零件表中删除零件号是P2的记录。(9) 请将(S2,J6,P4,200)插入供应情况关系。(10) 授予用户“王明”对零件表有INSERT的权限,并允许该权限传播。(11) 创建一删除触发器,当零件表中删除零件记录时,将供应情况表的对应的供应信息删除。答案:(1) 分别创建上面四个基本表,同时指定主码和外吗。CREATE TABLE S (SNO
17、 CHAR(5), SNAME CHAR(20), CITY CHAR(20),CONSTRAINT SNO_pk PRIMARY KEY(SNO); CREATE TABLE P (PNO CHAR(5), PNAME CHAR(20), COLOR CHAR(6)WEIGHT NUMBER,CONSTRAINT PNO_pk PRIMARY KEY(PNO); CREATE TABLE J (JNO CHAR(5), JNAME CHAR(20), CITY CHAR(20), CONSTRAINT JNO_pk PRIMARY KEY(JNO); CREATE TABLE SPJ (SN
18、O CHAR(5), PNO CHAR(5), JNO CHAR(5),QTY NUMBER,CONSTRAINT SPJ_pk PRIMARY KEY(SNO,PNO,JNO),CONSTRAINT SNO_fk FOREIGN KEY(SNO) REFERENCES S(SNO), CONSTRAINT PNO_fk FOREIGN KEY(PNO) REFERENCES P(PNO),CONSTRAINT JNO_fk FOREIGN KEY(JNO) REFERENCES J(JNO),);(2) 检索供应商代码为S1供应商供应的零件号SELECT PNO FROM SPJ WHERE
19、 SNO=S1;(3) 检索没有使用天津供应商生产的红色零件的工程号JNO;SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM S,P,SPJ WHERE S.SNO = SPJ.SNO AND J.JNO = SPJ.JNO AND P.PNO = SPJ.PNO AND P.COLOR = 红色 AND S.CITY = 天津 ); 或SELECT DISTINCT JNO FROM SPJ WHERE JNO NOT IN (SELECT * FROM S,P,SPJ WHERE S.SNO = SPJ.SNO AND P.PNO = SP
20、J.PNO AND P.COLOR = 红色 AND S.CITY = 天津 ); (4) 检索出各个工程项目使用的零件数量。SELECT JNO, SUM(QTY) FROM SPJGROUP BY JNO; (5) 检索上海厂商供应的所有零件代码,并且按照重量从大到小显示出来。SELECT P.PNO FROM P,SPJ,S WHERE S.SNO = SPJ.SNO AND P.PNO = SPJ.PNO AND S.CITY = 上海 ORDER BY WEIGHT DESC; 或SELECT DISTINCT PNO FROM SPJ,S WHERE S.SNO = SPJ.SNO
21、 AND S.CITY = 上海 ORDER BY WEIGHT DESC; (6) 检索出供应商姓名头两个字为“浦东”的供应商的信息。SELECT * FROM S WHERE SNAME LIKE 浦东% ;(7) 把全部红色零件的颜色改成蓝色。UPDATE PSET COLOR = 蓝色 WHERE COLOR = 红色; (8) 从零件表中删除零件号是P2的记录。DELETE FROM P WHERE PNO = P2;(9) 请将(S2,J6,P4,200)插入供应情况关系。INSERT INTO SPJVALUES(S2,J6,P4,200);(10) 授予用户“王明”对零件表有I
22、NSERT的权限,并允许该权限传播。GRANT INSERT ON P TO 王明 WITH GRANT OPTION;第 4 章 Oracle数据库第 5 章 ORACLE存储过程与触发器第 6 章 关系数据理论6.1 习题 P167A.1 6.1 名词解释:范式,函数依赖,部分函数依赖,传递函数依赖,完全函数依赖,多值依赖答案:范式:范式是符合某一种级别的关系模式的集合。函数依赖:设关系R(U)是属性集U上的关系模式,X、Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属件值相等,而在Y上的属性值不等,则称X函数决定Y,或Y函数依赖X记作XY。部分函数依赖
23、:在R(U)中,如果XY,存在X的一个真子集X,有X Y, 则称Y对X部分函数依赖,记作X Y 。 传递函数依赖:在R(U)中,如果XY,(Y X) ,YX, YZ, 则称Z对X传递函数依赖。 记为:X Z完全函数依赖:在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y, 则称Y对X完全函数依赖,记作:X Y。多值依赖: 设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且ZUXY。关系模式R(U)中多值依赖 XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。A.2 6.7 6.7 设关系模式R(
24、ABC),F是R上成立的FD集,F=CB, BA。(1) 试说明R不是3NF模式的理由。答案:该关系的吗是C,因CB、 BA、BC,即A C;故R不是3NF。(2) 试把R分解成3NF模式集。答案:R1(AB)、R2(BC)。A.3 6.86.8 设关系模式R,其中U=A, B, C, D, E, F ,函数依赖集F=AC, CA, BAC, DAC, BDA。(1) 求出BF。答案:解 设X(0)=B;(1) X(1)=BAC=ABC。(2) X(0) X(1) X(2)=X(1)。(3)算法终止 (B)F+ =ABC。(2) 求出F的最小函数依赖集。答案:C.1 解1:(1) 根据分解规则
25、把F中的函数依赖转换成右部都是单届性的函数依赖集合,分解后的函数依赖集仍用F表示。F= AC,CA, BA,BC,DA,DC,BDA(2) 去F中冗余的函数依赖。 判断AC是否冗余:设:G1 CA, BA,BC,DA,DC,BDA ,得: ,而,故AC不冗余。 判断CA是否冗余:设:G2= AC, BA,BC,DA,DC,BDA,得: , 而,故AC不冗余。 判断BA是否冗余:设:G3= AC,CA, BC,DA,DC,BDA,得:,而,故BA冗余。 判断BC是否冗余:设:G4= AC,CA,DA,DC,BDA,得:,而, BC不冗余。 判断DA是否冗余:设:G5= AC,CA, BC,DC,
26、BDA,得:,而, DA冗余。判断DC是否冗余:设:G6= AC,CA, BC,BDA,得:,而, DC不冗余。判断BDA是否冗余:设:G7= AC,CA, BC,DC,得:,而, BDA冗余。由于该例中的函数依赖表达式的左部均为单属性,因而不需要进行第三步的检查。Fm= AC,CA, BC,DC。同理:Fm= AC,CA, BA, DA Fm= AC,CA, BA, DC Fm= AC,CA, BC,DA A.4 6.96.9 指出下列关系模式是第几范式?并说明理由。(1) R(A, B, C) F=AC, CA, ABC答案:BCNF,该关系的码是A或C,符合每一个决定属性因素都包含码。(2) R(A,B,C,D) F=BD, ABC答案:1NF,该关系的码是AB,非主属性D部分函数依赖于码。(3) (A, B, C) F=ABC 答案:BCNF,该关系的码是AB,符合每一个决定属性因素都包含码。(4) R(A, B, C)F=BC, ACB答案:3NF。该关系的码是AB或AC,ABC都是主属性,故R属于3NF;但不符合每一个决定属性因素都包含码,故R不属于BCNF。第 7 章 数据库设计7.1 习题 P201-202A.1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1