第四版课后作业答案_第1页
第四版课后作业答案_第2页
第四版课后作业答案_第3页
第四版课后作业答案_第4页
第四版课后作业答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上7试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。(14、15页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。12学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型。(20页例题)13某工厂生产若干产品,每

2、种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画山此工厂产品,零件,材料,仓库的概念模型。18试述关系模型的概念,定义并解释以下术语:(P31页) (1)关系 (2)属性 (3)域 (4)元组 (5)主码 (6)分量 (7)关系模式22什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? (35、36页)当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式内模式映象作相应改变,可以使

3、模式保持不变,从而应用程序也不必改变。保证了程序与数据的物理独立性,简称数据的物理独立性。当需要改变模式时(例如增加新的关系、新的属性、改变属性的数据类型、改变数据间的联系等),由数据库管理员对各个外模式模式的映象作相应改变,而使外模式保持不变,从而不必修改或重写应用程序改。而应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性。简称数据的逻辑独立性。特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发

4、生变化,否则应用程序一般不需要修改。2章3、定解下列术语,说明它们联系与区别:(P46-50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库51)求供应工程J1零件的供应商号码SNO:Sno(jno=J1(SPJ))2)求供应工程J1零件P1的供应商号码SNO:Sno(jno=J1Pno=P1(SPJ)3)求供应工程J1零件为红色的供应商号码SNO:Sno(jno=j1 (COLOR=红 (P)SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:Jno(SPJ)- JNO(city=天津Color=红 (SSPJP)5)求至少用了供

5、应商S1所供应的全部零件的工程号JNO:Jno,Pno(SPJ)÷ Pno(Sno=S1 (SPJ)(见P62页 例6)3章1 3.用SQL语句建立第二章习题5中的四个表。S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),

6、City C(4)零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),

7、Pno C(2),JNO C(2), QTY N(2)4针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1) 求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=J1(2) 求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3) 求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO

8、 AND COLOR='红'(4) 求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。 (5) 求至少用了供应商S1所供应的全部零件的工程号JNO。 由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号SELECT DIST PNO FROM SPJ WHER

9、E SNO='S1'结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2零件。SELECT JNO FROM SPJ WHERE PNO='P1' AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2')5针对习题3中的四个表试用SQL语言完成以下各项操作: (1)找出所有供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHT FROM P (3)找出使用供应商S1所供应零件的工程号码。 SE

10、LECT DIST JNO FROM SPJ WHERE SNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2' (5)找出上海厂商供应的所有零件号码。SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6)出使用上海产的零件的工程名称。SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY=

11、'上海' AND J.JNO=SPJ.JNO (7)找出没有使用天津产的零件的工程号码。注意: SELECT DIS JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于JNO是唯一或不唯一的情况. 注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色。U

12、PDATE P SET COLOR='蓝' WHERE COLOR='红'(9)由S5供给J4的零件P6改为由S3供应。 UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。 A、DELETE FROM S WHERE SNO=S2 B、DELETE FROM SPJ WHERE SNO=S2(11)请将(S2,J6,P4,200)插入供应情况

13、关系。 INSERT INTO SPJ VALUES(S2,J6,P4,200)6什么是基本表?什么是视图?两者的区别和联系是什么?(87页)基本表是本身独立存在的表,在SQL中一个关系就对应一个表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。 视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。11请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供

14、应数量(QTY)。CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE SPJ.JNO=J.JNO AND J.JNAME='三 建'针对该视图VSP完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECT DIST PNO,QTY FROM VSP(2)找出供应商S1的供应情况。SELECT DIST * FROM VSP WHERE SNO='S1'第5章 关系数据理论习题参考答案规范化定义小结:定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一

15、个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XàY。(即只要X上的属性值相等,Y上的值一定相等。)术语和记号:(P173页)l XàY,但Y不是X的子集,则称XàY是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。l XàY,但Y是X的子集,则称XàY是平凡的函数依赖。l 若XàY,则X叫做决定因素(Determinant)。l 若XàY,YàX,则记作XßàY。l 若Y不函数依赖于X,则记作X à Y

16、。定义2:在R(U)中,如果 XàY,并且对于X的任何一个真子集X,都有X à Y,则称Y对X完全函数依赖,记作: FXàY 若XàY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作: P X àY定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。定义4:若关系模式R1NF,且每一个非主属性完全函数依赖于码,则关系模式R2NF 。(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。定义5:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得X

17、4;Y,Y à X,Y à Z成立,则称R<U,F>3NF。定义6:关系模式R<U,F>1NF 。若XàY且Y不是X的子集时,X必含有码,则R<U,F>BCNF。定义7:关系模式R<U,F>1NF,如果对于R的每个非平凡多值依赖XààY(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R<U,F>4NF。习题如下: 2建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系

18、办公地点、人数。学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?解:(1)关系模式如下: 学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear)

19、 系:D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:SnoàSname,SnoàSbirth,SnoàDept,SnoàClass,ClassàDept,DEPTàRno 传递依赖如下:由于SnoàDept,而DeptàSno ,DeptàRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。 由于C

20、lassàDept,Dept à Class,DeptàRno 所以Class与Rno之间存在着传递函数依赖。 由于SnoàClass,ClassàSno,ClassàDept 所以Sno与Dept之间存在着传递函数依赖。 B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下: ClassàPname,ClassàCnum,ClassàCyear,PnameàDept. 由于ClassàPname,PnameàClass,Pname

21、4;Dept 所以C1ass与Dept之间存在着传递函数依赖。 C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下: DeptàDno,DnoàDept,DnoàOffice,DnoàDnum 根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。 D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下: MnameàMyear,MnameàMaddr,MnameàMnum 该模式不存在传递依赖。 (3)各关系模式的候选码、外部码,全码如下: A、学

22、生S候选码:Sno;外部码:Dept、Class;无全码 B、班级C候选码:Class;外部码:Dept;无全码 C、系D候选码:Dept或Dno;无外部码;无全码 D、学会M候选码:Mname;无外部码;无全码 12下面的结论哪些是正确的? 哪些是错误的? 对于错误的请给一个反例说明之。(1) 任何一个二目关系是属于3NF。答:正确。因为关系模式中只有两个属性,所以无传递。(2) 任何一个二目关系是属于BCNF.答:正确。按BCNF的定义,若XàY,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。详细证明如下:(任何二元关系模式必定是BCNF)。证明:设R

23、为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依赖关系:A、A1àA2,但A2àA1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF。B、A1àA2,A2àA1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。包含码。R是BCNF。C、R的码为(A1,A2)(即A1 àA2,A2 àA1),决定因素都(3)任何一个二目关系是属于4NF.答:正确。因为只有两个属性,所以无非平凡的多值依赖。第 5 章 关系数据理论习题参考答案(补充)1 已知学生关系模式S(Sno,Sname,SD,Sdname,C

24、ourse,Grade)其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。(1)写出关系模式S的基本函数依赖和主码。答: 关系模式S的基本函数依赖如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade关系模式S的码为:(Sno,Course)。(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。消除非主属性对码的函数依赖为部分函数依赖,将

25、关系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade)(3)将关系模式分解成3NF,并说明为什么? 答: 将上述关系模式分解成3NF如下: 关系模式S1中存在SnoSD,SDSdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的关系模式S11、S12满足3NF。 对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。S

26、11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade)2、设有如图所示的学生关系S学号学生名年龄性别系号系名王 婧张 露黎明远王 烨张 露潘 建181920212019女女男男女男122333通信工程电子工程电子工程计算机计算机计算机试问S是否属于3NF? 为什么?若不是,它属于几范式? 并将其规范化为3NF.解:S不属于3NF,它属于2NF。S的候选关键字为“学号”。依赖关系:学号系号, 系号系名,系号 学号所以: 学号系名,即存在非主属性系名对候选关键字“学号”的传递依赖,S不是3NF.在S中所有非主属性均依赖于码学号,所以S是2NF。将S分

27、解成: S1(学号,学生名,年龄,性别,系号)、S2(系号,系名),分解后的Sl与S2如图所示: 关系模式S1如下: 学号学生名年龄性别系号王 婧张 露黎明远王 烨张 霹潘 建181920212019女女男男女男122333关系模式S2如下:系号系名123通信工程电子工程计算机关系模式S1、S2上无传递依赖,它们是3NF。3.设有如下关系R课程名教师名教师地址C1C2C3C4马千里于得水余快于得水D1D1D2D1(1) 它为第几范式? 为什么?解:它是2NF。因为R的候选关键字为“课程名”。依赖关系: 课程名教师名,教师名 课程名,教师名教师地址,所以 课程名教师地址。即存在非主属性“教师地址

28、”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?解: 分解为高一级范式如图所示。R1如下: R2如下:教师名教师地址马千里于得水余快D1 D1D2课程名教师名C1C2C3C4马千里于得水余快于得水分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。4设有如图所示的关系R。职

29、工号职工名年龄性别单位号单位名E1ZHAO20FD3CCCE2QIAN25MD1AAAE3SEN38MD3CCCE4L125FD3CCC试问R属于3NF? 为什么?若不是,它属于第几范式? 并如何规范化为3NF?解:R不属于3NF,它是2NF。R的候选关键字为职工号和职工名,而:职工号单位号,单位号 职工号,单位号单位名.所以,职工号单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF,规范化后的关系子模式为如下图。R1如下: R2如下:职工号职工名年龄性别单位号E1E2E3E4ZHAOQIANSENL120253825 F M M FD3D1D3D3位号单位名D3D1CCCAAA5、如下图给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论