




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 绪论 习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。2使用数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。3试述文件系统与数据库系统的区别和联系。(8、9、10页)答:1)数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一。2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。5试述数据库系统的特点。(9、10、11页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。6数据库管理系统的主要功能有哪些? (4页)答:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。7试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。(14、15页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟,现有的数据库系统均是基于某种数据模型的。三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。8、概念模型的作用(15页)答:概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。9、定义并解释概念模型中以下术语(P16页)。实体、实体型、实体集、属性、码、实体联系图(E-R图) 10试给出三个实际部门的E_R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。 一对一:学员和座位的关系.(满员)座位学员联系1 1一对多 : 值班医生和病人的关系.病人值班医生联系1 n多对多:联系营业员顾客m n 11试给出一个实际部门的E-R图,要求有三个实体型,而且三个实体型之间有多对多联系。三个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗? 为什么 ? (17页)12学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型。(20页例题)零件产品构成13某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画山此工厂产品,零件,材料,仓库的概念模型。 m n p存储存储 m r n原材料仓库制成 n k14试述层次模型的概念,举出三个层次模型的实例。(22页)答:层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。层次模型是用树形结构来表示各类实体以及实体间的联系的数据模型。例题:15今有一个层次数据库实例,试用子女-兄弟链接法和层次序列链接法画出它的存储结构示意图。(见P26页图1.23) 邻接法如下:(P25页)A1B1C3C8C10B2C12D2D3D4C1416试述网状模型的概念,举出三个网状模型的实例。(27页)答: 把满足以下两个条件的基本层次联系集合称为网状模型:(1)允许一个以上的结点无双亲。(2)一个结点可以有多于一个的双亲。例: 1) 网状模型的两个结点之间有多种联系父母人子女树种植砍伐养育赡养2) 学生/课程/选课的网状数据库模式:17试述网状、层次数据库的优缺点。(26、30页)答:网状数据模型的优点主要有:(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。(2)具有良好的性能,存取效率较高。网状数据模型的缺点主要有:(1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。(2)其数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。(3)数据独立性较差。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。从而影响数据独立性。层次模型的优点主要有:(1)层次数据模型本身比较简单,层次分明,便于在计算机内实现。(2)在层次数据结构中,从根结点到树中任一结点均存在一条唯一的层次路径,为有效地进行数据操纵提供条件。(3)由于层次结构规定除根结点外所有结点有且仅有一个双亲,故实体集之间的联系可用双亲结点唯一地表示,并且层次模型中的基本层次联系总是从双亲记录指向子女记录,所以记录类型之间的联系名可省略。由于实体集间的联系固定,所以层次模型DBMS对层次结构的数据有较高的处理效率。(4)层次数据模型提供了良好的完整性支持。(5)实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。可见用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解。这是层次数据库的突出优点。层次模型的缺点主要有:(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。(2)对插入和删除操作的限制比较多。(3)查询子女结点必须通过双亲结点。(4)由于结构严密,层次命令趋于程序化。18试述关系模型的概念,定义并解释以下术语:(P31页) (1)关系 (2)属性 (3)域 (4)元组 (5)主码 (6)分量 (7)关系模式19试述关系数据库的特点。(32页)20试述数据库系统三级模式结构,这种结构的优点是什么?(33、35页)数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:l 外模式模式映象l 模式内模式映象正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。22什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? (35、36页)当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了程序与数据的物理独立性,简称数据的物理独立性。当需要改变模式时(例如增加新的关系、新的属性、改变属性的数据类型、改变数据间的联系等),由数据库管理员对各个外模式模式的映象作相应改变,而使外模式保持不变,从而不必修改或重写应用程序改。而应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性。简称数据的逻辑独立性。特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。23试述数据库系统的组成。(37页)数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成24DBA的职责是什么?(37页)决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控数据库的使用和运行、数据库的改进和重组重构。25系统分析员、数据库设计人员、应用程序员的职责是什么?(39页)系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。第1章作业(P41): 习题3、10、12、13、15第2章 关系数据库习题参考答案1、试述关系模型的三个组成部分。(46页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2、试述关系数据语言的特点和分类。(47页)答:关系数据语言可以分为三类:A、 关系代数语言。B、 关系演算语言:元组关系演算语言和域关系演算语言。C、 SQL:具有关系代数和关系演算双重特点的语言。 这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。2、 定义并理解下列术语,说明它们联系与区别:(P46-50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、 试述关系模型的完整性规则(53页),在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55页)答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。(P55页)若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。5设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程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)求至少用了供应商S1所供应的全部零件的工程号JNO:Jno,Pno(Sno=S1 (SPJ) Pno(Sno=S1 (SPJ)6试述等值连接与自然连接的区别和联系。(61页)答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,即等值连接为:RS=trts| trR tsStrA=tsBA=B自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。7关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?(63页)并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。第3章 SQL语言习题参考答案1 试述SQL语言的特点。(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。2 试述SQL的定义功能。(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引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) Primary key,Sname C(6) ,Status N(2),City C(4)零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) Primary key,Pname C(6),COLOR C(2), WEIGHT I(2)工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) Primary key,JNAME C(8), CITY C(4)供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2) Primary key(sno,pno,jno),Foreign key sno references s(sno),Foreign key pno references p(pno),Foreign key jno references j(jno)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 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 WHERE 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所供应零件的工程号码。 SELECT 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=上海 AND J.JNO=SPJ.JNO (7)找出没有使用天津产的零件的工程号码。注意: SELECT DISP 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)把全部红色零件的颜色改成蓝色。UPDATE 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)插入供应情况关系。 INSERT INTO SPJ VALUES(S2,J6,P4,200)6什么是基本表?什么是视图?两者的区别和联系是什么?(87页)基本表是本身独立存在的表,在SQL中一个关系就对应一个表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。 视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。7试述视图的优点。(128页)答:视图能够简化用户的操作、视图使用户能以多种角度看待同一数据、视图对重构数据库提供了一定程度的逻辑独立性、视图能够对机密数据提供安全保护。8所有的视图是否都可以更新?为什么?(127页)答:并不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。9哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。(127页)行列子集视图是可更新的。除行列子集视图外,还有些视图理论上是可更新的,但它们的确切特征还是尚待研究的课题。还有些视图从理论上不可更新的。10试述某个你热悉的实际系统中对视图更新的规定。(VFP)11请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(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=S112针对习题3建立的表,用SQL语言完成以下各项操作:(1) 把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户。GRANT INSERT ON TABLE S TO 张勇 WITH GRANT OPTION (2) 把查询SPJ表和修改QTY属性的权限授给用户李天明。 GRANT SELECT,UPDATE(QTY) ON TABLE SPJ TO 李天明* 以 下 选 作 *13在嵌入式SQL中是如何区分SQL语句和主语言语句的? (133页)在嵌入式SQL中,为了能够区分SQL语句与主语言语句,所有SQL语句都必须加前缀EXEC SQL。(VFP例外)14在嵌入式SQL中是如何解决数据库工作单元与源程序工作单元之间通讯的?(134页)(1)向主语言传递SQL语句的执行状态信息,使主语言能够据此信息控制程序流程,主要用SQL通信区(SQL Communication Area,简称SQLCA)实现。(2)主语言向SQL语句提供参数,主要用主变量(Host Variable)实现。(3)将SQL语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(Cursor)实现。15在嵌入式SQL中是如何协调SQL语言的集合处理方式和主语言的单记录处理方式的? (135页)答:游标是用于协调SQL语言的集合处理方式和主语言的单记录处理方式。 SQL语言与主语言具有不同的数据处理方式。SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录。主语言是面向记录的,一组主变量一次只能存放一条记录。所以仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求,为此嵌入式SQL引入了游标的概念,用游标来协调这两种不同的处理方式。第4章 关系系统及其优化习题参考答案1、给出各类关系系统的定义:最小关系的系统;关系完备的系统;全关系型的关系系统。(P153页)答:(最小)关系系统:仅支持关系数据结构和三种关系操作。许多微机关系数据库系统如FoxBASE,FoxPro等就属于这一类。 关系完备的系统:这类系统支持关系数据结构和所有的关系代数操作(功能上与关系代数等价)。20世纪90年代初的许多关系数据库管理系统属于这一类。 全关系系统:这类系统支持关系模型的所有特征。即不仅是关系上完备的而且支持数据结构中域的概念,支持实体完整性和参照完整性。目前,大多数关系系统已不同程度上接近或达到了这个目标。3、试述查询优化在关系数据库系统中的重要性和可能性。(P157页) 答:查询优化在关系数据库系统中有着非常重要的地位。关系数据库系统和非过程化的SQL语言能够取得巨大的成功,关键是得益于查询优化技术的发展。关系查询优化是影响RDBMS性能的关键因素。优化对关系系统来说既是挑战又是机遇。所谓挑战是指关系系统为了达到用户可接受的性能必须进行查询优化。由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性。这就为关系系统在性能上接近甚至超过非关系系统提供了机遇。4对学生-课程数据库有如下的查询:查询信息系学生选修的所有课程名称: SELECT Cname FROM St,Course,SC WHERE St.Sno=SC.Sno AND SC.Cno=Course.Cno AND St.Sdept=IS试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。答:关系代数表达式如下:cname(St.sdept=IS(st.sno=sc.Sno(sc.Cno=Course.Cno(STSCCOURSE)用关系代数表示的语法树如下左图: cname cname St.sdept=IS So=o st.sno=sc.Sno scCno=Course.Cno St.sno=sc.sno cno,cname Course Course sno sno,cnoSt Sc St.sdept=IS Sc St用关系代数表达式优化算法对原关系代数表达式进行优化,优化后的关系代数表达式如下:cname(o=o(St.sno=sc.sno(sno(St.sdept=IS(ST)sno,cno(SC) cno,cname(Course)优化处理后的标准语法树如上右图。5 试述查询优化的一般准则。(P161-162页)答:1)选择运算应尽可能先做。 2)在执行连接前对关系适当地预处理。3)把投影运算和选择运算同时进行。4)把投影同其前或其后的双目运算结合起来。5)把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算。6)找出公共子表达式。6 试述查询优化的一般步骤。( 165页)答: (1)把查询转换成某种内部表示。(2)把语法树转换成标准(优化)形式。(3)选择低层的存取路径。(4)生成查询计划,选择代价最小的。第5章 关系数据理论习题参考答案规范化定义小结:定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XY。(即只要X上的属性值相等,Y上的值一定相等。)术语和记号:(P173页)l XY,但Y不是X的子集,则称XY是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。l XY,但Y是X的子集,则称XY是平凡的函数依赖。l 若XY,则X叫做决定因素(Determinant)。l 若XY,YX,则记作XY。l 若Y不函数依赖于X,则记作X Y。定义2:在R(U)中,如果 XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖,记作: FXY 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作: PXY定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。定义4:若关系模式R1NF,且每一个非主属性完全函数依赖于码,则关系模式R2NF 。(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。定义5:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得XY,Y X,Y Z成立,则称R3NF。定义6:关系模式R1NF 。若XY且Y不是X的子集时,X必含有码,则RBCNF。定义7:关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R4NF。习题如下: 2建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?解:(1)关系模式如下: 学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno 传递依赖如下:由于SnoDept,而DeptSno ,DeptRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。 由于ClassDept,Dept Class,DeptRno 所以Class与Rno之间存在着传递函数依赖。 由于SnoClass,ClassSno,ClassDept 所以Sno与Dept之间存在着传递函数依赖。 B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下: ClassPname,ClassCnum,ClassCyear,PnameDept. 由于ClassPname,PnameClass,PnameDept 所以C1ass与Dept之间存在着传递函数依赖。 C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下: DeptDno,DnoDept,DnoOffice,DnoDnum 根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。 D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下: MnameMyear,MnameMaddr,MnameMnum 该模式不存在传递依赖。 (3)各关系模式的候选码、外部码,全码如下: A、学生S候选码:Sno;外部码:Dept、Class;无全码 B、班级C候选码:Class;外部码:Dept;无全码 C、系D候选码:Dept或Dno;无外部码;无全码 D、学会M候选码:Mname;无外部码;无全码 12下面的结论哪些是正确的? 哪些是错误的? 对于错误的请给一个反例说明之。(1) 任何一个二目关系是属于3NF。答:正确。因为关系模式中只有两个属性,所以无传递。(2) 任何一个二目关系是属于BCNF.答:正确。按BCNF的定义,若XY,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。详细证明如下:(任何二元关系模式必定是BCNF)。证明:设R为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依赖关系:A、A1A2,但A2A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF。B、A1A2,A2A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。包含码。R是BCNF。C、R的码为(A1,A2)(即A1 A2,A2 A1),决定因素都(3)任何一个二目关系是属于4NF.答:正确。因为只有两个属性,所以无非平凡的多值依赖。第 5 章 关系数据理论习题参考答案(补充)1 已知学生关系模式S(Sno,Sname,SD,Sdname,Course,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。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成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。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade)2、设有如图所示的学生关系S学号学生名年龄性别系号系名100001200001200002300001300004300005王 婧张 露黎明远王 烨张 露潘 建181920212019女女男男女男122333通信工程电子工程电子工程计算机计算机计算机试问S是否属于3NF? 为什么?若不是,它属于几范式? 并将其规范化为3NF.解:S不属于3NF,它属于2NF。S的候选关键字为“学号”。依赖关系:学号系号, 系号系名,系号 学号所以: 学号系名,即存在非主属性系名对候选关键字“学号”的传递依赖,S不是3NF.在S中所有非主属性均依赖于码学号,所以S是2NF。将S分解成: S1(学号,学生名,年龄,性别,系号)、S2(系号,系名),分解后的Sl与S2如图所示: 关系模式S1如下: 学号学生名年龄性别系号100001200001200002300001300004300005王 婧张 露黎明远王 烨张 霹潘 建181920212019女女男男女男122333关系模式S2如下:系号系名123通信工程电子工程计算机关系模式S1、S2上无传递依赖,它们是3NF。3.设有如下关系R课程名教师名教师地址C1C2C3C4马千里于得水余快于得水D1D1D2D1(1) 它为第几范式? 为什么?解:它是2NF。因为R的候选关键字为“课程名”。依赖关系: 课程名教师名,教师名 课程名,教师名教师地址,所以 课程名教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?解: 分解为高一级范式如图所示。R1如下: R2如下:教师名教师地址马千里于得水余快D1 D1D2课程名教师名C1C2C3C4马千里于得水余快于得水分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。4设有如图所示的关系R。职工号职工名年龄性别单位号单位名E1ZHAO20FD3CCCE2QIAN25MD1AAAE3SEN38MD3CCCE4L125FD3CCC试问R属于3NF? 为什么?若不是,它属于第几范式? 并如何规范化为3NF?解:R不属于3NF,它是2NF。R的候选关键字为职工号和职工名,而:职工号单位号,单位号 职工号,单位号单位名.所以,职工号单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF,规范化后的关系子模式为如下图。R1如下: R2如下:职工号职工名年龄性别单位号E1E2E3E4ZHAOQIANSENL120253825 F M M FD3D1D3D3位号单位名D3D1CCCAAA5、如下图给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题。 表SC如下:SNOCNOCTITLEINAMEILOCAGRADE80152C1OS王平D17080153C2DB高升D28580154C1OS王平D18680154C3AI杨杨D37280155C4CL高升D292其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,ILOCA为教师地址,GRADE为成绩。解:SC为1NF。它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少关键字的一部分SNO而不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不法删除的课程信息删除。SC关系中存在插入和删除操作异常的原因在于,该关系的候选关键字为(SNO,CN0),其中仅有非属性GRADE完全函数依赖于(SNO,CNO),其他非主属性CTITLE、INAME、ILOCA都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖关系。分解后的关系模式如下:SG 如下: SNOCNOGRADE015280153801548015480155C1C2C1C3C47085867295OCTITLEINAMEILOCAC1C2C3C4OSDBAICL王平高升杨杨高升D1D2D3D2CI如下:分解后的两个关系子模式都为2NF(实际上,SG是3NF,它无传递依赖)。解决了先前的插入、删除异常操作。当增设一门新课程时,可将数据插入到CI表中;当所有学生退选某门课程时,只需删除SG表中的有关记录,而该课程的有关信息仍保留在CI表中。分解2NF后的CI关系中仍存在插入、删除操作异常。若有一个新教师报到,需将其有关数据插入操作;当取消某门课程而删除CI表中的一条记录时,会将不该删除的教师的有关信息删除。CI表中出现操作异常的原因是该关系中存在非主属性对候选关键字的传递函数依赖:CNOINAME,INAME CNO,INAMEILOCA,所以CNOILOCA(函数传递依赖,CI不是3NF) 将CI进一步分解为如下所示的Course和Inst两个关系,可以解决上述操作异常。COURSE INSTINAMEILOCA王子高升杨杨 D1 D2 D3 CNOCTITLEINAMEC1C2C3C4OSDBAICL王平高升杨杨高升第6章 数据库设计习题参考答案1. 数据库的设计过程。(P205页)答:按照规范设计的方法,考虑数据库及其应用系统开发全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-江苏-江苏保健按摩师五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西政务服务办事员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西假肢制作装配工三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东热力运行工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东机械冷加工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东地质勘查员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽水生产处理工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京图书资料员三级(高级工)历年参考题库含答案解析
- 2025年银行金融类-金融考试-银行业专业人员初级历年参考题库含答案解析(5套)
- 2025年职业技能鉴定-铁路职业技能鉴定-铁路职业技能鉴定(铁路钢轨探伤工)中级历年参考题库含答案解析(5套)
- 福建省泉州市永春县2023-2024学年八年级下学期期末考试数学试卷(含答案)
- 广东省佛山市南海区2025届高三摸底考试数学试题
- 2024-2030年中国膏药市场风险评估与投资战略规划策略分析研究报告
- 系统解剖学全册配套完整课件
- 2024-2030年中国代理记账行业发展现状调研与数据监测分析研究报告
- 记账凭证封面封底
- 初中军训方案
- T-CAPC 012-2023 零售药店经营糖尿病、高血压与血脂异常治疗药品药学服务规范
- 康宝莱价值远景-康宝莱公司的价值远景
- 中医经络穴位走向歌
- 铁路桥涵工程施工安全技术规程(TB 10303-2020)
评论
0/150
提交评论