数据库原理与应用习题参考答案解析

上传人:仙*** 文档编号:92048970 上传时间:2022-05-18 格式:DOC 页数:30 大小:262.50KB
返回 下载 相关 举报
数据库原理与应用习题参考答案解析_第1页
第1页 / 共30页
数据库原理与应用习题参考答案解析_第2页
第2页 / 共30页
数据库原理与应用习题参考答案解析_第3页
第3页 / 共30页
点击查看更多>>
资源描述
数据库原理及应用习题参考答案习题11-1 文件系统阶段的数据管理有哪些特点? 答:文件系统阶段主要有5个特点:数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。1-2 文件系统阶段的数据管理有些什么缺陷?试举例说明。答:主要有3个缺陷:数据冗余;数据不一致性;数据联系弱。 例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,如联系,家庭住址等。这就是“数据”冗余;如果某个学生搬家,就要修改3个部门文件中的数据,否则会引起同一数据在3个部门中不一致;产生上述问题的原因是这3个部门的文件中数据没有联系。1-3 数据库阶段的数据管理有哪些特色?答:主要有5个特点:采用数据模型可以表示复杂的数据结构;有较高的数据独立性;为用户提供了方便的用户接口;提供了4个方面的数据控制功能;对数据的操作以数据项为单位,增加了系统的灵活性。1-4 什么是数据独立性?在数据库中有哪两级独立性? 答:数据独立性是指应用程序与DB的数据结构之间的相互独立。在物理结构改变时,尽量不影响应用程序,称为物理独立性;在逻辑结构改变时,尽量不影响应用程序,称之为逻辑数据独立性。1-5 试解释DB、DBMS和DBS三个概念。答:DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。 DBMS是位于用户与0S之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。 DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即采用数据库技术的计算机系统。1-6 SQL Server 2005有哪些数据类型?答:SQL Server中数据类型分为整型、浮点型、二进制数据型、逻辑型、字符型、文本型、图形型、日期时间型、货币型、自定义类型、可变数据类型和表数据类型。1-7 列举SQL Server 2005中新增的主要功能。 答:SQL Server 2005中新增的主要功能有:Notification Services增强功能;Reporting Services增强功能,其中包括:报表功能的增强功能、Reporting Services设计时增强功能、Reporting Services可编程性的增强功能、Reporting Services可管理性和部署的增强功能;新增的Service Broker以实现SQL Server中的消息传递方面具有以下优势:高伸缩性、消息协调、排序和锁定、集成数据库数据、集成数据库安全性;数据库引擎增强功能;数据访问接口方面的增强功能;SQL Server Analysis Services(SSAS)的增强功能;Integration Services的增强功能;在可管理性、可用性、可编程性、移动性、可伸缩性和性能方面提供了改进。工具和实用工具增强功能;1-8 SQL Server 2005的实用程序和常用工具有哪些? 答:SQL Server 2005给出的常用应用程序和实用工具有:企业管理器、查询分析器、商业智能开发平台、SQL Server分析器、SQL Server 2005数据库引擎优化程序、SQL Server 配置管理器等。习题22-1名词解释逻辑数据 物理数据 联系的元数 1:1联系1:N联系M:N联系数据模型概念数据模型 外模式 概念模式 内模式 外模式/模式映象模式/内模式映象数据独立性 物理数据独立性 逻辑数据独立性答:逻辑数据:指程序员或用户用以操作的数据形式。物理数据:指存储设备上存储的数据。联系的元数:与一个联系有关的实体集个数,称为联系的元数。1:1联系:如果实体集El中每个实体至多和实体集E2中的一个实体有联习,反之亦然,那么El和E2的联系称为“l:1联系”。1:N联系:如果实体集El中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和El中一个实体有联系,那么El和E2的联系是“1:N联系”。M:N联系:如果实体集El中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么El和E2的联系称为“M:N联系”。数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。概念数据模型:独立于计算机系统、完全不涉及信息在计算机中的表示、反映企业组织所关心的信息结构的数据模型。外模式:是用户用到的那部分数据的描述。概念模式:数据库中全部数据的整体逻辑结构的描述。内模式:DB在物理存储方面的描述。外模式/模式映象:用于定义外模式和概念模式之间数据结构的对应性。模式/内模式映象:用于定义概念模式和内模式之间数据结构的对应性。数据独立性:应用程序和DB的数据结构之间相互独立,不受影响。物理数据独立性:在DB的物理结构改变时,尽量不影响应用程序。逻辑数据独立性:在DB的逻辑结构改变时,尽量不影响应用程序。2-2逻辑记录与物理记录、逻辑文件与物理文件有哪些联系和区别?答:逻辑数据是用户用以操作的数据形式,是抽象的概念化数据。物理数据是实际存放在存储设备上的数据。逻辑数据与物理数据在结构上可以差别很大,需通过两级映象来进行数据传输和格式转换。从以上的解释可以看出,逻辑记录和逻辑文件是用户在程序中使用的记录和文件,而物理记录和物理文件是指磁盘上的记录和文件。逻辑记录、文件与物理记录、文件在结构、组成上可以有很大的差异,而数据库管理软件就是通过三级结构两级映象来实现逻辑数据与物理数据之间的转换。2-3 试述ER模型、层次模型、网状模型、关系模型和面向对象模型的主要特点。答:ER模型直接表示实体类型及实体间联系,与计算机系统无关,充分反映用户的需求,用户容易理解。层次模型的数据结构为树结构,记录之间联系通过指针实现,查询较快,但DML属于过程化的语言,操作复杂。网状模型的数据结构为有向图,记录之间联系通过指针实现,查询较快,并且容易实现M:N联系,但DML属于过程化的语言,编程较复杂。关系模型的数据结构为二维表格,容易为初学者理解。记录之间联系通过关键码实现。DML属于非过程化语言,编程较简单。面向对象模型能完整描述现实世界的数据结构,具有丰富的表达能力,能表达嵌套、递归的数据结构。但涉及的知识面较广,用户较难理解,这种模型尚未普及。2-4 数据之间的联系在各种结构数据模型中是怎么实现的?答:在层次、网状模型中,数据之间的联系通过指针实现的;在关系模型中,数据之间联系通过外键和主键间联系实现的;在面向对象模型中,数据之间嵌套、递归联系通过对象标识符(OID)实现的。2-5DB的三级模式结构描述了什么问题?试详细解释。答:DB的三级模式结构是对数据的三个抽象级别,分别从外部(用户)级、概念级和内部级去观察数据库。外部级是用户使用的局部数据库的逻辑结构,其描述称为外模式。概念级是DB的整体逻辑结构,其描述称为概念模式。内部级是DB的物理结构,其描述称为内模式。2-6 试述概念模式在数据库结构中的重要地位。答:数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这蘧级的相对稳定的中间观点,并使得两级的任何一级的改变都不受另一级的牵制。2-7什么是数据独立性?其目的是什么?数据库独立性是指应用程序与DB的数据结构之间相互独立。其目的是在物理结构改变或逻辑结构改变时,尽量不影响应用程序。习题33-1 名词解释:关系模式 关系实例 属性 元组 超键 候选键主键外键 实体完整性规则 参照完整性规则答:关系模式:是对关系的描述,包括模式名、诸属性名、值域名和模式的主键。关系实例:关系模式具体的值,称为关系实例。属性:即字段或数据项,与二维表中的列对应。属性个数,称为元数。元组:即记录,与二维表中的行对应。元组个数,称为基数。超键:能惟一标识元组的属性或属性集,称为关系的超键。候选键:不含有多余属性的超键,称为候选键。主键:正在使用的、用于标识元组的候选键,称为主键。外键:属性集F是模式S的主键,在模式R中也出现,那么称F是模式R的外键。实体完整性规则:实体的主键值不允许是空值。参照完整性规则:依赖关系中的外键值或者为空值,或者是相应参照关系中某个主键值。3-2 为什么关系中的元组没有先后顺序,且不允许有重复元组?答:由于关系定义为元组的集合,而集合中的元素是没有顺序的,因此关系中的元组也譬没有先后的顺序(对用户而言)。这样既能减少逻辑排序,又便于在关系数据库中引进集合论的理论。每个关系模式都有一个主键,在关系中主键值是不允许重复的。如果关系中有重复元组,那么其主键值肯定相等,起不了惟一标识作用,因此关系中不允许有重复元组。3-3 外健值何时允许为空?何时不允许为空?答:在依赖表中,当外键是主键的组成部分时,外键值不允许为空;否则外键值允许为空。3-4 笛卡尔积、等值连接和自然连接三者之间有什么区别?答:笛卡儿积是一个基本操作,而等值连接和自然连接是组合操作。设关系R的元数为r,元组个数为m;关系S的元数为s。,元组个数为n。那么,RS的元数为r+s,元组个数为mn;ijRS的元数也是r+s,但元组个数小于等于mn;RS的元数小于等于r+s,元组个数也小于等于mn:3-5 设有关系R和S,如图3.18所示。ABC327465247733ABC374253RS图3.18 关系R和S22计算RS,R-S,RS,RS,3,2(S),B5(R),R S,R S。ABC327436524477335RSABC324654773R-SABC723RSR.AR.BR.CS.AS.BS.C332277446655224477773333373737374242424253535353RSCB53423,2(S)ABC742433B5(R)R.AR.BR.CS.AS.BS.C723345R S22ABC723R SBC3-6 设有关系R和S,如图3.19所示。计算R S,RS,A=C(RS)。ABacdbbeBCbebcadRS图3.19 关系R和SABCaaccdbbbbecdcdaR SAR.BS.BCaaccbbbbbbbbcdcdR SB23SEX=M(SC)AME,TEACHER(SNO=S3(SC C)SNAME(SEX=FTEACHER=LIU(S SC C)O(C)-O(SNAME=WANG(S SC)1(1=425(SCSC)O,AME(C (SNO,O(SC)SNO(S)SNO,O(SC)O(TEACHER=LIU(C)3-8 在3.7题的三个关系中,用户有一查询语句:检索数学系的学生选修计算机系开设的课程的课程名和任课教师某。 试写出该查询的关系代数表达式。 试写出该查询优化的关系代数表达式。 画出该查询初始的关系代数表达式的语法树。 使用3.5.3节的优化算法,对语法树进行优化,并画出优化后的语法树。 解:AME,TEACHER(DEPT=数学系(S SC C)设L1=SNO(DEPT=数学系(S),L2=SNO,O(SC),则优化的关系代数表达式为:AME,TEACHER(SC.O=C.O(SC.O(S.SNO=SC.SNO(L1L2)C)查询初始的关系代数表达式可表达为:AME,TEACHER(DEPT=数学系(L(S.SNO=SC.SNOSC.O=C.O(SSC)C)此处L为S、SC、C中的全部属性(公共属性只取一次)。LS.SNO=SC.SNOSC.O=C.ODEPT=数学系AME,TEACHERSSCC 优化后的语法树为DEPT=数学系AME,TEACHERSSCSC.O=C.OSC.OS.SNO=SC.SNOSNOSNO,OC3-9 为什么要对关系代数表达式进行优化?答:关系代数表达式由关系代数操作组合而成。操作中,以笛卡尔积和连接操作最费时间,并生成大量的中间结果。如果直接按表达式书写的顺序执行,必将花费很多时间,并生成大量的中间结果,效率较低。在执行前,由DBMS的查询子系统先对关系代数表达式进行优化,尽可能先执行选择和投影操作,以便减少中间结果,节省时间。优化工作是由DBMS做的,用户书写时不必关心优化一事,仍以简练的形式书写。习题44-1名词解释基本表视图实表相关子查询联接查询嵌套查询交互式SQL 嵌入式SQL 游标答:基本表:实际存储在数据库中的表,称为基本表。视图:是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是数据库中只存放视图的定义而不存放视图的数据。实表:是对基本表的别称。相关子查询:SELECT语句嵌套时,子查询中查询条件依赖于外层查询中的值,因此子查询要反复求值供外层查询使用。这种子查询称为相关子查询。连接查询:查询时要从多个基本表中提取数据,此时把多个基本表写在同一层的FROM子句中,这种查询形式称为连接查询。嵌套查询:查询时要从多个基本表中提取数据,此时把多个基本表分别放在不同层次上的FROM子句中,这种查询形式称为嵌套查询。交互式SQL:在终端交互方式使用的SQL语言。嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言。游标:游标是与某一查询相联系的符号名。游标有游标关系和游标指针两层含义。在游标打开时,游标(指针)指向查询结果的第一个记录之前。4-2 对于教务管理数据库的三个基本表 S(SNO,SNAME, SEX,AGE,SDEPT) SC(SNO,O,GRADE) C(O,AME,CDEPT,TNAME)试用SQL的查询语句表达下列查询:检索LIU老师所授课程的课程号和课程名。检索年龄大于23岁的男学生的学号和某。检索学号为200915146的学生所学课程的课程名和任课教师名。检索至少选修LIU老师所授课程中一门课程的女学生某。检索WANG同学不学的课程的课程号。检索至少选修两门课程的学生学号。检索全部学生都选修的课程的课程号与课程名。检索选修课程包含LIU老师所授课程的学生学号。解:SELECT O,AME FROM C WHERE TEACHER=LIU;SELECT SNO,SNAMEFROM S WHERE AGE23 AND SEX=M;SELECT AME,TEACHERFROM SC,CWHERE SC.O=C.OAND SNO=200915146SELECT SNAME (连接查询方式) FROM S,SC,C WHERE S.SNO=SC.SNO AND SC.O=C.O AND SEX=F AND TEACHER=LIU; 或:SELECT SNAME (嵌套查询方式) FROM S WHERE SEX=FAND SNO IN (SELECT SNO FROM SC WHERE O IN (SELECT O FROM C WHERE TEACHER=LIU)或:SELECT SNAME(存在量词方式)FROM SWHERE SEX=F AND EXISTS(SELECT*FROM SCWHERE SC.SNO=S.SNOAND EXISTS(SELECT*FROM CWHERE C.O=SC.O AND TEACHER=LIU) SELECT OFROM C WHERE NOT EXISTS (SELECT* FROM S,SC WHERE S.SNO=SC.SNOAND SC.O=C.O AND SNAME=WANG);SELECT DISTINCT X.SNOFROM SC AS X,SC AS YWHERE X.SNO=Y.SNOAND X.O!=Y.O;SELECT O.AME FROM C WHERE NOT EXISTS (SELECT*FROM SWHERE NOT EXISTS(SELECT*FROM SCWHERE SNO=S.SNOAND O=C.O);SELECT DISTINCT SNOFROM SC AS XWHERE NOT EXISTIS(SELECT*FROM C WHERE TEACHER=LIU AND NOT EXISTS (SELECT*FROM SC AS Y WHERE Y.SNO=X.SNO AND Y.O=C.O);4-3 试用SQL查询语句表达下列对4.2题中教务管理数据库的三个基本表S、SC、C查询:统计有学生选修的课程门数。求选修4号课程的学生的平均年龄。求LIU老师所授课程的每门课程的学生平均成绩。统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。检索学号比WANG同学大,而年龄比他小的学生某。检索某以WANG打头的所有学生的某和年龄。在SC中检索成绩为空值的学生学号和课程号。求年龄大于女同学平均年龄的男学生某和年龄。求年龄大于所有女同学年龄的男学生某和年龄。解: SELECT COUNT(DISTINCT O) FROM SC; SELECT AVG(AGE) FROM S,SC WHERE S.SNO=SC.SNOAND O=4AND SEX=F;SELECT C.O,AVG(GRADE) FROM SC,C WHERE SC.O=C.OAND TEACHER=LIU;SELECT O,COUNT(SNO) FROM SC GROUP BY O HAVING COUNT(*)10ORDER BY 2 DESC,1; SELECT SNAME FROM S WHERE SNOALL(SELECT SNO FROM S WHERE SNAME=WANG AND AGE(SELECT AVG(AGE)FROM S WHERE SEX=F);SELECT SNAME,AGEFROM S WHERE SEX=MAND AGEALL(SELECT AGEFROM SWHERE SEX=F);4-4 试用SQL更新语句表达对4.2给出的教务管理数据库中三个基本表S、SC、C进行如下更新操作:往基本表S中插入一个学生元组(200912143,X晶,21)。在基本表S中检索每一门课程成绩都大于等于80分的学生学号、某和性别,并把检索到的值送往另一个已存在的基本表STUDENT(SNO,SNAME,SEX)。在基本表SC中删除尚无成绩的选课元组。把X成民同学在SC中的选课记录全部删去。把选修高等数学课程中不及格的成绩全部改为空值。把低于总平均成绩的女同学成绩提高5%。在基本表SC中修改4号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。解: INSERT INTO S(SNO,SNAME,AGE) VALUES(200912143,X晶,21); INSERT INTO STUDENT(SNO,SNAME,SEX) SELECT SNO,SNAME,SEX FROM S WHERE SNO IN (SELECT SNO FROM SCWHERE 80=ALL(SELECT GRADE FROM SCGROUP BY SNO); DELETE FROM SC WHERE GRADE IS NULL; DELETE FROM SC WHERE SNOIN(SELECT SNOFROM S WHERE SNAME=X民) UPDATE SC SET GRADE=NULL WHERE GRADE60AND OIN(SELECT OFROM C WHERE AME=高等数学); UPDATE SC SET GRADE=GRADE*1.05 WHERE SNOIN(SELECT SNOFROM S WHERE SEX=F) AND GRADE75; UPDATE SC SET GRADE=GRADE*1.05 WHERE O=4AND GRADE80; SELECT SNO,AVG_GRADE FROM S_GRADE WHERE C_NUM(SELECT C_NUM FROM S_GRADE SNO=200912121); UPDATE S_GRADE SET C_NUM=C_NUM+1 WHERE SNO=200915122 DELETE FROM S_GRADE WHERE C_NUM4;答:允许查询。相应的操作如下:SELECT SNO,COUNT(O)AS C_NUM,AVG(GRADE)AS AVG_GRADEFROM SCGROUP BY SNO;允许查询。相应的操作如下:SELECT SNO,COUNT(O)AS C_NUMFROM SCGROUP BY SNOHAVING AVG(GRADE)80;允许查询。相应的操作如下:SELECT SNO,AVG(GRADE)AS AVG_GRADEFROM SCGROUP BY SNOHAVING COUNT(O)(SELECT COUNT(O)FROM SCGROUP BY SNOHAVING SNO=200912121);不允许。C_NUM是对SC中的学生选修课程的门数进行统计,在未更改SC表时,要在视图S_GRADE中更改门数,是不可能的。不允许。在视图S_GRADE中删除选修课程的门数在4门以上的学生元组,势必造成SC中这些学生学习元组的删除,这不一定是用户的原意,因此使用分组和聚合操作的视图,不允许用户执行更新操作。4-7预处理方式对于嵌入式SQL的实现有什么重要意义?答:此时宿主语言的编译程序不必改动,只要提供一个SQL函数定义库,供编译时使用。预处理方式只是把源程序中的SQL语句处理成宿主语言的函数调用形式。4-8 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?答:用游标机制协调。把SELECT语句查询结果定义成游标关系,以使用文件的方式来使用游标关系。与游标有关的SQL语句有4个:游标定义,游标打开,游标推进,游标关闭。4-9嵌入式SQL的DML语句何时不必涉及到游标?何时必须涉及到游标?答:不使用游标的SQL语句有下面两种情况:INSERT、DELETE、UPDATE语句,只要加上前缀和结束标志,就能嵌入在宿主语言程序中使用; 对于SELECT语句,如果已知查询结果肯定是单元组,也可不必涉及游标操作。 使用游标的SQL语句有下面两种情况: 当SELECT语句查询结果是多个元组时,必须用游标机制把多个元组一次一个地传递给主程序处理:对游标指向元组进行修改或删除操作时,也涉及到游标。 4.10 用T-SQL语句创建教务管理数据库(JWGL),在SQL Server 2005的查询分析器的环境中验证习题4.2、习题4.3和习题4.4的有关内容。略。习题55-1解释下列名词函数依赖 函数依赖集F的闭包F+ 最小依赖集无损分解保持函数依赖 1NF 2NF 3NFBF答: 函数依赖:设有关系模式R(U),X和Y是属性集U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖(Functional Dependency,简记为FD)于X,记作XY。函数依赖集F的闭包F+:被F逻辑蕴涵的函数依赖全体构成的集合,称为F的闭包,记为F+。最小依赖集:设F是属性集U上的FD集,Fmin是F的最小依赖集,那么Fmin应满足下列四个条件:(Fmin)+=F+;每个FD的右边都是单属性;Fmin中没有冗余的FD;每个FD的左边没有冗余的属性。ki=1无损分解:设关系模式R,F是R上的FD集,=Rl,Rk是R的一个分解。如果对R中满足F的每一关系r,都有r=Ri(r),那么称分解相对F是“无损分解”。保持函数依赖:设关系模式R,F是R上的FD分解,=R1,Rk是R的一个分解,如果有那么称分解p保持FD集F。1NF:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是1NF的模式。2NF:如果R是1NF的模式,且每个非主属性完全函数依赖于R的候选键,那么称R是2NF的模式。3NF:如果R是1NF的模式,且每个非主属性都不传递依赖于R的候选键,那么称R是3NF的模式。BF:如果R是1NF的模式,且每个属性都不传递依赖于R的候选键,那么称R是BF的模式。5-2已知关系模式R(ABC),F是R上成立的FD集,F=AB,BC,试写出F的闭包F+。解:根据已知条件和推理规则,可知F+有43个FD:A AB AC ABC B CAA ABA ACA ABCA BB CCAB ABB ACB ABCB BC AC ABC ACC ABCC BBCAAB ABAB ACAB ABCAB BCAAC ABAC ACAC ABCAC BCBABC ABBC ACBC ABCBC BCCAABC ABABC ACABC ABCABC BCBC5-3 设关系模式R(ABCD),F是R上成立的FD集,F=AB,CB,则相对于F,试写出关系模式R的关键码。并说明理由。解:R的关键码为ACD。因为从已知的F,只能推出ACDABCD。 5-4 设关系R(ABCDE)上FD集为F,并且F=ABC,CDE,BD,EA。求出R的候选键。 解:R的候选键有4个:A、E、CD和BC。5-5 设关系模式R(ABC),F是R上成立的FD集,F=BC,CA,那么分解=AB,AC相对于F,是否无损分解和保持FD?并说明理由。A B CABACa1 a2 b13a1 b22 a3A B CABACa1 a2 b13a1 b22 a3由FD答:已知F=BC,CA,而AB(F)=BA,AC(F)=CA,显然这个分解丢失了FD:BC。对于保持无损分解:无a行,所以是有损分解。5-6 设关系模式R(ABCD),F是R上成立的FD集,F=AB,BC,AD,DC,=AB,AC,BD是R的一个分解。相对于F,是无损分解吗?为什么?试求F在的每个模式上的投影。保持F吗?为什么?答: 用测试过程可以知道,相对于F是损失分解。AB(F)=AB,AC(F)=AC,BD(F)=。 显然,分解相对于F不保持FD分解,因为丢失了BC,AD,DC等三个FD。5-7 设关系模式R(ABCD),R上的FD集F=AC,DC,BDA,试说明=AB, ACD,BCD相对于F是损失分解的理由。答:根据已知的F集,不可能把初始表格修改为一个全a行的表格,因此相对于F是损失分解。5-8 设关系模式R(ABCD),F是R上成立的FD集,F=ABCD,AD。试说明R不是2NF模式的理由。试把R分解成2NF模式集。答: 从已知的函数依赖集F,可知R的候选键是AB。另外,由ABCD可推出ABD,再由AD可知ABD是部分(局部)函数依赖,因此R不是2NF模式。 如果将R分解成=AD,ABC,则是2NF模式集。 5-9设关系模式R(ABC),F是R上成立的FD集,F=CB,BA。试说明R不是3NF模式的理由。试把R分解成3NF模式集。答:从已知函数依赖集F可知,R的候选键是C。由CB,BA可知,CA是一个传递依赖,因此R不是3NF模式。 此时如果将R分解成=CB,BA,则是3NF模式集。 5-10设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:根据上述规定,写出模式R的基本FD和关键码;说明R不是2NF的理由,并把R分解成2NF模式集;进而分解成3NF模式集。解: 基本的FD有三个: (职工编号,日期)日营业额 职工编号 部门名 部门名 部门经理 R的关键码为:(职工编号,日期)。R中有两个这样的FD:(职工编号,日期)(部门名,部门经理) 职工编号(部门名,部门经理)可见前一个FD是局部依赖,所以R不是2NF模式。R应分解Rl(职工编号,部门名,部门经理) R2(职工编号,日期,日营业额)此处,Rl和R2都是2NF模式。R2已是3NF模式。在R1中,存在两个FD:职工编号部门名部门名部门经理因此,“职工编号部门经理”是一个传递依赖,Rl不是3NF模式。R1应分解成R11(职工编号,部门名)R12(部门名,部门经理)这样,=R11,Rl2,R2是一个3NF模式集。 5-11设有关系模式R(运动员编号,比赛项目,成绩,比赛类别,比赛主管),如果规定:每个运动员每参加一个比赛项目,只有一个成绩;每个比赛项目只属于一个比赛类别;每个比赛类别只有一个比赛主管。试回答下列问题: 根据上述规定,写出模式R的基本FD和关键码; 说明R不是2NF的理由,并把R分解成2NF模式集;进而分解成3NF模式集。解: 基本的FD有3个: (运动员编号,比赛项目) 成绩 比赛项目 比赛类别 比赛类别 比赛主管R的关键码为(运动员编号,比赛项目)。 R有两个这样的FD: (运动员编号,比赛项目) (比赛类别,比赛主管) 比赛项目 (比赛类别,比赛主管)可见,前一个FD是部分(局部)函数依赖,所以R不是2NF模式。如果把R分解成R1(比赛项目,比赛类别,比赛主管) R2(运动员编号,比赛项目,成绩)这里,R1和R2都是2NF模式。 R2已是3NF模式。在R1中,存在两个FD:比赛项目 比赛类别 比赛类别 比赛主管因此,“比赛项目 比赛主管”是一个传递依赖,R1不是3NF模式。R1应分解为R11(比赛项目,比赛类别) R12(比赛类别,比赛主管)这样,=R11,R12,R2是一个3NF模式集。习题66-1 名词解释生命周期法 快速原型法 面向对象法 数据流图 数据字典弱实体 超类 子类 继承性答:生命周期法:生命周期法就是将整个数据库应用系统的开发过程分解成若干个阶段,并对每个阶段的目标、任务、方法作出规定,使整个数据库应用系统的开发过程具有合理的组织和科学的秩序。数据库应用系统的生命周期,可以分成四个主要阶段:系统分析、系统设计、系统实施、系统运行与维护。快速原型法:快速原型法的基本思想是以少量代价快速地构造一个可执行的软件系统,使用户和开发人员可以较快地确定需求。在初步了解用户的基本要求后,开发人员先建立一个他们认为符合用户要求的模式系统交付用户检验,由于模型是可以执行的,所以为用户提供了获得感性认识的机会。面向对象法:面向对象法是针对面向过程提出的,是区别于传统的结构化方法的一种新方法、新思路,是一种基于数据抽象的类的组合的自底向上的开发方法,由四个基本步骤组成:标识对象和定义类、组织类间关系、在类层中构造框架、建立可复用的类库和系统总框架。数据流图:数据流图是从“数据”和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表示法。具有直观、易于被用户和软件人员双方都能理解的一种表达系统功能的描述方式。 数据字典:数据字典提供了对数据库数据描述的集中管理,它的功能是存储和检索各种数据描述,如叙述性的数据定义等,并且为DBA提供有关的报告。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。数据字典中通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。弱实体:一个实体对于另一些实体(父实体)具有很强的依赖联系,而且该实体主键的部分或全部从其父实体中获得,则称该实体为弱实体。超类、子类:某个实体类型中所有实体同时也是另一个实体类型中的实体,此时称前一实体类型是后一实体类型的子类,后一实体类型称为超类。继承性:指子类继承其超类上定义的所有属性,但其本身还可以包含其他的属性。6-2 什么是数据库设计目标?数据库设计的基本步骤有哪些?答:数据库设计的主要目标有:最大限度地满足用户的应用功能需求、获得良好的数据库性能、对现实世界模拟的精确度要高、数据库设计应充分利用和发挥现有DBMS的功能和性能、符合软件工程设计要求。 数据库设计的基本步骤是:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施阶段、数据库运行和维护阶段。6-3 数据库设计的需求分析阶段是如何实现的?任务是什么? 答:需求分析阶段的工作由下面4步组成:分析用户活动,产生用户活动图;确定系统X围,产生系统X围图;分析用户活动所涉及的数据,产生数据流图;分析系统数据,产生数据字典。 需求分析阶段的任务是对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求;并把这些要求写成用户和数据库设计者都能接受的文档。6-4 评审在数据库设计中有什么重要作用?为什么允许设计过程中有多次的回溯与反复? 答:评审的作用在于确认某一阶段的任务是否全部完成,通过评审可以及早发现系统设计中的错误, 并在生存期的早期阶段给予纠正,以减少系统研制的成本。如果在数据库已经实现时再发现设计中的错误,那么代价比较大。因此应该允许设计过程的回溯与反复。设计过程需要根据评审意见修改所提交的阶段设计成果,有时修改甚至要回溯到前面的某一阶段,进行部分乃至全部重新设计。6-5 对概念模型有些什么要求?答:对概念模型一般有以下要求:概念模型是对现实世界的抽象和概括,它应真实、充分地反映现实世界中事物和事物之间的联系,具有丰富的语义表达能力,能表达用户的各种需求,包括描述现实世界中各种对象及其复杂联系、用户对数据对象的处理要求和手段。概念模型应简洁、明晰,独立于机器、容易理解、方便数据库设计人员与应用人员交换意见,使用户能积极参与数据库的设计工作。概念模型应易于变动。当应用环境和应用要求改变时,容易对概念模型修改和补充。概念模型应很容易向关系、层次或网状等各种数据模型转换,易于从概念模式导出也DBMS有关的逻辑模式。6-6 概念设计的具体步骤是什么?答:概念设计的主要步骤为:进行数据抽象、设计局部概念模式;将局部概念模式综合成全局概念模式;评审。6-7 试述采用ER方法的数据库概念设计的过程。答:利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局ER模式,最后对全局ER模式进行优化,得到最终的ER模式,即概念模式。6-8 逻辑设计的目的是什么?试述逻辑设计过程的输入和输出环境。答:逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。逻辑设计过程中的输入信息有:独立于DBMS的概念模式,即概念设计阶段产生的所有局部和全局概念模式;处理需求,即需求分析阶段产生的业务活动分析结果;约束条件,即完整性、一致性、安全性要求及响应时间要求等;DBMS特性,即特定的DBMS特性,即特定的DBMS所支持的模式、子模式和程序语法的形式规则。逻辑设计过程输出的信息有:DBMS可处理的模式;子模式;应用程序设计指南;物理设计指南。6-9 试述逻辑设计阶段的主要步骤及内容。答:逻辑设计主要是把概念模式转换成DBMS能处理的模式。 转换过程中要对模式进行评价和性能测试,以便获得较好的模式设计。逻辑设计的主要步骤包括:初始模
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!