数据库设计基础巩固练习模拟试题及答案解析_第1页
数据库设计基础巩固练习模拟试题及答案解析_第2页
数据库设计基础巩固练习模拟试题及答案解析_第3页
数据库设计基础巩固练习模拟试题及答案解析_第4页
数据库设计基础巩固练习模拟试题及答案解析_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

数据库设计基础巩固练习模拟试题及答案解析一、单项选择题(每题2分,共30分)1.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()。A.外模式B.模式C.内模式D.存储模式【答案】B【解析】数据库系统的三级模式结构包括外模式、模式和内模式。外模式也称用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述;模式也称逻辑模式,是数据库中全体数据的全局逻辑结构和特征的描述,是所有用户的公共数据视图;内模式也称存储模式,是数据物理结构和存储方式的描述。因此,描述全局逻辑结构的是模式,选项B正确。2.关系代数中的投影操作对应SQL语言中的哪个子句?()A.WHEREB.FROMC.SELECTD.GROUPBY【答案】C【解析】关系代数中的投影操作是从关系中选择出若干属性列组成新的关系,这对应于SQL语言中使用SELECT子句来指定要查询的列。WHERE子句对应关系代数中的选择操作,FROM子句指定查询的数据源(关系),GROUPBY子句用于分组聚合。因此,投影操作对应SELECT子句,选项C正确。3.若关系模式R(U,F)中,存在属性集X和Y,使得X→Y成立,且X的任何真子集X'都有X'不能决定Y,则称X→Y为()。A.平凡函数依赖B.非平凡函数依赖C.完全函数依赖D.部分函数依赖【答案】C【解析】在关系模式R(U)中,对于U的子集X和Y,若X→Y,且Y不是X的子集,则称X→Y为非平凡函数依赖;若Y是X的子集,则称为平凡函数依赖。如果X→Y,且对于X的任何真子集X',都有X'不能决定Y(即X'↛Y),则称Y对X完全函数依赖,记作X\stackrel4.数据库设计的核心阶段是()。A.需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段【答案】B【解析】数据库设计通常分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。其中,概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型(通常用E-R图表示),这一阶段是整个数据库设计的关键,它独立于具体的计算机系统和DBMS,是各种数据模型的共同基础,因此是数据库设计的核心阶段。选项B正确。5.在SQL语言中,实现事务回滚的语句是()。A.COMMITB.ROLLBACKC.SAVEPOINTD.STARTTRANSACTION【答案】B【解析】事务是数据库执行的基本单位,具有原子性。在SQL中,STARTTRANSACTION或BEGIN用于开始一个事务;COMMIT用于提交事务,使事务中对数据库的修改永久化;ROLLBACK用于回滚事务,撤销事务中已完成的修改,恢复到事务开始前的状态;SAVEPOINT用于在事务内部设置保存点,以便部分回滚。因此实现事务回滚的语句是ROLLBACK,选项B正确。6.设有关系R(A,B,C)和S(B,C,D),进行自然连接运算R⋈S后,结果关系的属性个数和元组个数分别为()。A.4和不确定B.5和不确定C.4和确定D.5和确定【答案】A【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。关系R有属性A,B,C,关系S有属性B,C,D。两者具有相同的属性组B和C。自然连接后,相同的属性组只保留一次,因此结果关系的属性为A,B,C,D,共4个属性。结果关系的元组个数取决于R和S中在B和C属性上取值相同的元组数量,由于没有给出具体的元组数据,元组个数是不确定的。选项A正确。7.下列关于数据库视图的叙述中,错误的是()。A.视图是虚表,数据库中只存储视图的定义,不存储其对应的数据B.视图可以简化用户的查询操作C.所有视图都是可以直接更新的D.视图提供了一定的逻辑数据独立性【答案】C【解析】视图是从一个或几个基本表(或视图)导出的虚表,数据库系统只存储视图的定义,而不存储视图对应的数据,这些数据仍存放在对应的基本表中,选项A正确。视图可以简化用户的查询操作,隐藏底层表的复杂性,选项B正确。视图提供了一定的逻辑数据独立性,当底层表结构发生变化时,可以通过修改视图定义保持视图不变,从而应用程序不用修改,选项D正确。但是,并非所有视图都可以直接更新。包含连接、聚合函数、DISTINCT等的视图通常是不能更新的,选项C错误。因此选C。8.某关系模式R(A,B,C,D),其函数依赖集F={A→B,B→C,C→D,D→A},则该关系模式的候选码至少有()个。A.1B.2C.3D.4【答案】D【解析】在关系模式R(A,B,C,D)中,根据函数依赖集F={A→B,B→C,C→D,D→A},我们可以看出任何单个属性都能唯一决定所有其他属性。对于A:A→B,B→C,所以A→C;C→D,所以A→D。故A是候选码。对于B:B→C,C→D,所以B→D;D→A,所以B→A。故B是候选码。对于C:C→D,D→A,所以C→A;A→B,所以C→B。故C是候选码。对于D:D→A,A→B,所以D→B;B→C,所以D→C。故D是候选码。因此,A、B、C、D四个属性均可单独作为候选码,共有4个候选码,选项D正确。9.在并发控制中,两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。这两个阶段分别是()。A.加锁阶段和解锁阶段B.读锁阶段和写锁阶段C.申请阶段和释放阶段D.扩展阶段和收缩阶段【答案】A【解析】两段锁协议规定所有事务必须分两个阶段对数据项加锁和解锁。第一阶段是获得封锁,也称为扩展阶段或加锁阶段,在这个阶段,事务可以申请获得任何数据项上的任何类型的锁,但不能释放任何锁;第二阶段是释放封锁,也称为收缩阶段或解锁阶段,在这个阶段,事务可以释放任何数据项上的任何类型的锁,但不能再申请任何锁。选项A的“加锁阶段和解锁阶段”最能准确描述这两个阶段的动作实质,虽然选项C和D在概念上等价,但加锁和解锁是更标准直白的表述。本题选A。10.如果关系模式R属于3NF,则以下说法正确的是()。A.R一定属于BCNFB.R中不存在非主属性对候选码的部分函数依赖C.R中不存在非主属性对候选码的传递函数依赖D.R中不存在任何传递函数依赖【答案】C【解析】第三范式(3NF)的定义是:在满足第二范式(2NF)的基础上,关系模式R(U,F)中若不存在非主属性对候选码的传递函数依赖,则R属于3NF。选项A错误,3NF不一定是BCNF,BCNF要求每一个决定因素都必须包含候选码,3NF放宽了这一限制,允许主属性对候选码的部分或传递依赖。选项B错误,这属于2NF的定义要求。3NF必然满足2NF,因此R中确实不存在非主属性对候选码的部分函数依赖,但这不是3NF特有的“最核心”定义。选项C正确,3NF的实质就是消除非主属性对候选码的传递函数依赖。选项D错误,3NF只消除了“非主属性”对候选码的传递依赖,但允许“主属性”对候选码的传递依赖存在。因此C最准确。11.数据库系统中,数据的物理独立性是由()提供的。A.模式/内模式映像B.外模式/模式映像C.外模式/内模式映像D.子模式/外模式映像【答案】A【解析】数据独立性是数据库系统的一个重要特征,分为物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据的物理存储结构是相互独立的。当数据的物理存储结构或存储设备改变时,通过修改模式/内模式映像,可以使模式保持不变,从而外模式和应用程序也不用变,这称为物理独立性。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。当数据的逻辑结构(模式)发生变化时,通过修改外模式/模式映像,可以使外模式保持不变,从而应用程序不用变。因此,物理独立性由模式/内模式映像提供,选项A正确。12.在SQL中,下列涉及空值(NULL)的比较运算,结果为真(TRUE)的是()。A.NULL=NULLB.NULL!=NULLC.NULLISNULLD.NULL>0【答案】C【解析】在SQL标准中,空值(NULL)表示未知或不可用的值。任何包含NULL的算术运算和比较运算结果仍然是NULL(在布尔逻辑中被视为UNKNOWN/UNKNOWN)。因此,NULL=NULL的结果是UNKNOWN而不是TRUE,NULL!=NULL的结果也是UNKNOWN而不是TRUE,NULL>0同样是UNKNOWN。为了判断一个值是否为NULL,SQL提供了专门的谓词ISNULL和ISNOTNULL。因此,只有NULLISNULL的结果为TRUE,选项C正确。13.数据库恢复的基本技术是()。A.建立冗余数据B.建立索引C.规范化设计D.并发控制【答案】A【解析】数据库恢复是指在系统发生故障后,将数据库从错误状态恢复到某一已知的正确状态。恢复的基本原理是使用冗余数据,即数据库中重复存储的数据。建立冗余数据最常用的技术是数据转储(备份)和登记日志文件。当系统发生故障时,可以使用备份数据和日志文件来重做或撤销未完成的事务,从而恢复数据库的一致性。建立索引是为了提高查询效率;规范化设计是为了减少数据冗余和消除异常;并发控制是为了保证多事务并发执行时的正确性。因此选项A正确。14.检查关系模式是否满足某一范式,主要是为了消除()。A.数据冗余、插入异常、删除异常和更新异常B.数据不一致和死锁C.查询效率低下D.事务并发冲突【答案】A【解析】关系数据库规范化的主要目的是通过分解关系模式,消除不合理的数据依赖,从而解决数据冗余、插入异常、删除异常和更新异常等问题。数据冗余浪费存储空间并易导致更新异常;插入异常指应该插入的数据因码值不全而无法插入;删除异常指删除某信息时连带丢失了其他不应删除的信息。规范化设计就是为了消除这些异常,选项A正确。15.在分布式数据库中,两阶段提交协议(2PC)的作用是()。A.提高查询速度B.保证事务的原子性C.提供数据备份D.解决死锁问题【答案】B【解析】在分布式数据库系统中,一个全局事务可能涉及多个场地的操作。为了保证事务的原子性,即要么所有场地的操作都成功提交,要么所有场地的操作都回滚,通常采用两阶段提交协议(Two-PhaseCommit,2PC)。2PC通过协调者节点统一调度各参与者节点的提交或回滚,分为准备阶段和提交阶段,从而确保分布式事务的原子性。它不直接用于提高查询速度、提供备份或解决死锁。选项B正确。二、多项选择题(每题3分,共30分)1.下列关于关系代数和SQL语言的叙述中,正确的有()。A.关系代数的选择操作对应SQL中的WHERE子句B.关系代数的投影操作对应SQL中的SELECT子句C.关系代数的自然连接操作需要在SQL中使用WHERE条件进行等值连接实现D.SQL语言是完全过程化的语言【答案】A,B,C【解析】选项A和B正确,选择对应WHERE,投影对应SELECT;选项C正确,自然连接在SQL中通常通过在SELECT中省略重复列并在WHERE中指定同名属性相等来实现;选项D错误,SQL是非过程化语言,用户只需指出“做什么”,而不必指明“怎么做”。2.设有关系模式R(A,B,C,D,E),其函数依赖集F={A→B,AC→D,DE→B}。则下列结论中正确的有()。A.R的候选码为(A,C,E)B.R的候选码为(A,C)C.R属于1NF但不属于2NFD.R存在非主属性对候选码的部分函数依赖【答案】A,C,D【解析】求候选码:属性分类:L类(仅出现在左边):A,C,E;R类(仅出现在右边):B,D;N类(两边都不出现):无;LR类(两边出现):无。由于没有N类属性,且L类属性为A,C,E,求其闭包:(根据A→B,加入B:A根据AC→D,加入D:A因此(A判断范式:主属性为A,C,E。非主属性为B,D。考察函数依赖A→B:B部分依赖于候选码ACE的真子集A。考察函数依赖AC→D:D部分依赖于候选码ACE的真子集AC。因为存在非主属性对候选码的部分函数依赖,所以R不属于2NF,最高属于1NF。选项C和D均正确。3.数据库管理系统(DBMS)提供的数据控制功能(DCL)主要包括()。A.数据安全性控制B.数据完整性控制C.并发控制D.数据库恢复【答案】A,B,C,D【解析】DBMS提供的控制和保护功能主要包括:1.数据安全性控制:防止未经授权的用户存取数据;2.数据完整性控制:保证数据的正确性、有效性和相容性;3.并发控制:防止多用户并发访问时相互干扰;4.数据库恢复:在系统发生故障后恢复数据库到一致状态。这四个方面统称为数据控制功能。选项A、B、C、D均正确。4.下列哪些情况可能引起数据库系统的死锁?()A.两个事务同时请求对方已加锁的数据B.事务在释放自己持有的锁之前请求新的锁C.事务并发执行时未遵守两段锁协议D.事务对同一数据项同时加共享锁【答案】A,B【解析】死锁是指两个或两个以上的事务在执行过程中,因争夺锁资源而造成的一种互相等待的现象。选项A描述了死锁的典型产生机制;选项B:如果事务要求在释放已持有锁之前申请新锁,这就符合两段锁协议的特征,两段锁协议是可能产生死锁的(虽然它能保证并发调度的可串行化)。选项C错误,未遵守两段锁协议反而可能避免某些死锁,但会破坏可串行化;遵守两段锁协议才可能产生死锁。选项D错误,对同一数据项同时加共享锁(S锁)是允许的,因为S锁之间是兼容的,不会产生死锁。因此正确答案为A、B。5.在概念结构设计阶段,常用的抽象方法有()。A.分类B.聚集C.概括D.规范化【答案】A,B,C【解析】在将现实世界的需求转化为概念模型(E-R模型)时,常用的数据抽象方法主要有三种:1.分类:定义某一类概念作为现实世界中一组对象的类型;2.聚集:定义某一类型的组成成分,它抽象了对象内部类型和成分之间的语义;3.概括:定义类型之间的一种子集联系。规范化是在逻辑结构设计阶段进行的关系模式优化处理,不属于概念设计阶段的抽象方法。因此选项A、B、C正确。6.数据库的完整性约束条件可以分为以下哪些类别?()A.实体完整性B.参照完整性C.用户定义的完整性D.逻辑独立性【答案】A,B,C【解析】关系数据库的完整性约束主要包括三大类:实体完整性(规定主码不能取空值)、参照完整性(规定外码必须为空或者等于被参照关系中主码的某个值)、用户定义的完整性(针对具体应用环境定义的特定业务规则,如年龄必须大于0)。逻辑独立性属于数据独立性的范畴,不属于完整性约束。因此选项A、B、C正确。7.下列关于E-R模型向关系模式转换的叙述中,正确的有()。A.一个实体型转换为一个关系模式B.一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并C.一个1:n联系必须转换为一个独立的关系模式,不能与n端合并D.一个m:n联系必须转换为一个独立的关系模式【答案】A,B,D【解析】选项A正确,实体型通常直接映射为关系模式;选项B正确,1:1联系可以独立成关系,也可以合并到任意一端实体对应的关系中;选项C错误,1:n联系可以转换为独立关系,也可以将其属性(尤其是外码)合并到n端实体对应的关系中,这是更常见的做法;选项D正确,m:n联系无法直接合并到任一端,必须转换为一个独立的关系模式,其主码由两端实体的主码组合而成。因此A、B、D正确。8.SQL语言中,关于索引的叙述正确的是()。A.索引可以建立在基本表的一列或多列上B.索引可以提高查询速度,但会降低数据更新速度C.建立索引是数据库物理设计阶段的工作D.聚簇索引是指表中数据行的物理存储顺序与索引列的顺序一致【答案】A,B,C,D【解析】选项A正确,索引支持单列或多列组合;选项B正确,索引需要占用额外存储空间,在增删改时需要同步维护索引,因此会降低更新速度但提升查询速度;选项C正确,选择索引结构和存取方法是物理设计阶段的核心任务;选项D正确,这是聚簇索引的定义,非聚簇索引则不改变数据物理存储顺序。四个选项均正确描述了索引的特性。9.关于事务的隔离级别,下列说法正确的有()。A.读未提交可能导致脏读B.读已提交可以避免脏读,但可能不可重复读C.可重复读可以避免不可重复读,但可能出现幻读D.串行化可以完全避免并发问题,但并发度最低【答案】A,B,C,D【解析】数据库事务的四个隔离级别及其对应的问题:读未提交:最低级别,可能导致脏读、不可重复读、幻读。读已提交:可避免脏读,但允许不可重复读和幻读。可重复读:可避免脏读和不可重复读,但在某些情况下仍可能出现幻读(取决于具体DBMS实现,如MySQL的InnoDB通过MVCC和间隙锁解决了幻读)。串行化:最高级别,强制事务串行执行,完全避免所有并发问题,但并发度最低。因此四个选项均正确。10.下列哪些是数据库逻辑结构设计阶段的主要步骤?()A.将概念结构(E-R图)转化为一般的关系、网状、层次模型B.将转化后的关系模型向特定的DBMS支持下的数据模型转换C.对关系模式进行规范化处理和优化D.设计数据库的存储结构和存取方法【答案】A,B,C【解析】逻辑结构设计阶段的主要任务包括:1.概念模型向逻辑模型转换(E-R图转换为关系模式等);2.关系模式的优化(规范化理论指导下的调整和优化);3.针对特定DBMS的限制和特性进行模型调整。选项D“设计存储结构和存取方法”属于物理结构设计阶段的任务。因此选项A、B、C正确。三、填空题(每空2分,共20分)1.数据模型通常由数据结构、数据操作和__________三部分组成。【答案】完整性约束【解析】数据模型是数据库系统中用于提供信息表示和操作手段的形式化框架。它由三个要素组成:数据结构(描述系统的静态特性,如对象类型、联系等)、数据操作(描述系统的动态特性,如检索和更新)以及完整性约束(一组完整性规则的集合,规定数据必须满足的约束条件)。2.在关系代数中,从关系中抽取满足条件的元组的操作称为__________。【答案】选择【解析】关系代数包括传统的集合运算和专门的关系运算。专门的关系运算包括选择、投影和连接。其中,选择是从关系中找出满足给定条件的元组(即行)的操作,记作σ;投影是从关系中选择若干属性列组成新关系的操作,记作π。3.SQL语言中,用于删除基本表结构的语句是__________。【答案】DROPTABLE【解析】在SQL数据定义语言(DDL)中,CREATETABLE用于创建表,ALTERTABLE用于修改表结构,DROPTABLE用于删除表的定义以及表中的数据、索引等。DELETETABLE是不存在的语法(删除数据用DELETEFROM)。4.若关系模式R属于2NF,且每个非主属性都不传递依赖于R的候选码,则R属于__________。【答案】3NF(或第三范式)【解析】第三范式(3NF)的定义是:如果关系模式R满足第二范式(2NF),且其任何一个非主属性都不传递函数依赖于候选码。3NF消除了非主属性对候选码的传递函数依赖。5.数据库系统发生故障时,事务的原子性是通过数据库管理系统中的__________来保证的。【答案】日志文件(或Undo/Redo日志机制)【解析】事务的原子性要求事务要么全部执行,要么全部不执行。当系统发生故障时,有些事务可能执行了一部分但未完成,此时DBMS必须通过扫描日志文件,找出这些未完成的事务并执行UNDO(撤销)操作,恢复数据到事务开始前的状态,从而保证原子性。6.在并发控制中,为了防止“丢失修改”现象,通常要求事务在对数据进行修改前先对该数据加__________锁。【答案】排他(或X锁/写锁)【解析】“丢失修改”是指事务T1和T2同时读取同一数据并进行修改,T2的提交结果覆盖了T1的提交结果。为了避免此问题,事务在修改数据前必须加排他锁(X锁/写锁),这样当T1加了X锁后,T2只能等待T1释放锁后才能读取或修改数据,从而保证了修改不被丢失。7.设有关系R(A,B,C,D),其函数依赖集F={A→B,B→C,A→D},则R的候选码为__________。【答案】A【解析】属性A出现在函数依赖左部,是L类属性。求A的闭包:=A8.关系数据库的规范化理论中,Armstrong公理系统的核心推理规则包括自反律、增广律和__________。【答案】传递律【解析】Armstrong公理系统是用来推导函数依赖是否成立的推理规则集合,其核心三条规则为:自反律(若Y⊆X⊆U,则X→Y成立)、增广律(若X→Y成立,且Z⊆U,则XZ→YZ成立)、传递律(若X→Y及Y→Z成立,则X→Z成立)。9.在分布式数据库系统中,数据分布的方式主要有集中式、分割式、复制式和__________。【答案】混合式【解析】分布式数据库的数据分布策略主要有:集中式(所有数据集中在一个场地)、分割式(数据按某种属性划分到不同场地,无副本)、复制式(每个场地都有全部数据的副本)以及混合式(结合前两者的特点,部分数据分割,部分数据复制)。10.数据库设计中,__________阶段的主要任务是收集和分析用户对数据库的信息需求和处理需求。【答案】需求分析【解析】数据库设计的第一步是需求分析阶段,此阶段的目标是通过详细调查现实世界要处理的对象,明确用户的各种需求,包括信息需求(需要存储哪些数据)、处理需求(需要进行哪些处理操作)以及安全性和完整性需求。产出物主要是数据字典和数据流图。四、简答题(每题10分,共40分)1.什么是数据库的二级映像?请详细解释它们如何保证数据的物理独立性和逻辑独立性。【答案与解析】数据库系统的三级模式结构(外模式、模式、内模式)之间提供了两级映像机制:外模式/模式映像和模式/内模式映像。这两级映像是数据库系统中实现数据独立性的关键机制。(1)外模式/模式映像与逻辑独立性:外模式/模式映像定义了局部逻辑结构(外模式)与全局逻辑结构(模式)之间的对应关系。当数据库的全局逻辑结构(模式)发生改变时,例如增加新的数据项、修改数据类型、增加新的表等,数据库管理员(DBA)可以通过修改外模式/模式映像的定义,使得外模式保持不变。由于应用程序是基于外模式编写的,模式的变化被映像机制屏蔽,应用程序不必修改,这就保证了数据与程序的逻辑独立性,简称逻辑独立性。(2)模式/内模式映像与物理独立性:模式/内模式映像定义了全局逻辑结构(模式)与物理存储结构(内模式)之间的对应关系。当数据库的物理存储结构或存储设备发生变化时,例如更换存储介质、改变存储记录的物理位置、改变索引方式等,DBA可以通过修改模式/内模式映像的定义,使得全局模式保持不变。由于模式不变,外模式自然也不变,应用程序完全不受物理存储变化的影响。这就保证了数据与程序的物理独立性,简称物理独立性。2.简述数据库并发操作可能带来的数据不一致性问题,并说明产生每种问题的根本原因。【答案与解析】在多用户数据库系统中,如果多个事务并发执行且不加适当的控制,可能会破坏数据库的一致性。常见的数据不一致性问题主要有以下三种:(1)丢失修改:根本原因:两个或多个事务同时读取了同一数据变量的初始值,并基于该初始值进行修改,然后先后写回数据库。后写回的事务覆盖了先写回事务的修改结果,导致先写回事务的修改“丢失”。这说明并发事务在对同一数据写入时发生了冲突。(2)不可重复读:根本原因:一个事务T1在读取某数据后,另一个事务T2对该数据进行了修改或删除,当T1再次试图读取该数据时,得到的值已经改变或者数据已经不存在。这破坏了事务在同一个执行周期内对同一数据读取结果的一致性。(3)读“脏”数据:根本原因:一个事务T1修改了某数据并将其写回磁盘,但尚未提交;此时另一个事务T2读取了这个修改后的数据并基于它进行了操作。随后T1由于某种原因被撤销,数据恢复为修改前的原值。此时T2读取的数据就变成了无效的“脏”数据。以上问题的根本原因都在于并发事务的执行破坏了事务的隔离性,即一个事务的执行过程受到了其他并发事务的干扰,未能够做到“如同独占系统一样”运行。通过实施严格的封锁协议(如两段锁协议)或采用多版本并发控制(MVCC)机制可以有效解决这些问题。3.关系模式的规范化过程通常是一个模式分解的过程。请简述什么是无损连接分解,并说明如何通过函数依赖集判断一个分解是否具有无损连接性。【答案与解析】(1)无损连接分解的定义:设关系模式R(U,F)被分解为若干个关系模式ρ=(,),(,),..(2)通过函数依赖判断无损连接性的方法(表格法/Chase算法):对于判断分解为两个关系模式的情况,有一个简单的定理:设ρ=,是R的一个分解,ρ具有无损连接性的充分必要条件是(∩对于分解为多于两个关系模式的情况,通常使用构造初始表并基于函数依赖进行追踪修改的方法(Chase算法):第一步:构造一个k行n列的初始表。其中行对应分解后的每个关系模式,列对应原关系模式R的所有属性。如果属性属于,则在第i行第j列填入符号;否则填入符号。第二步:根据函数依赖集F中的每一个依赖X→Y,寻找在X对应的列上具有相同符号的行。如果找到这样的行,则将这些行在Y对应列上的符号全部修改为相同符号(优先修改为,若没有则修改为其中一个)。第三步:重复执行第二步,直到表格中的符号不再发生改变为止(即达到不动点)。第四步:检查表格。如果表中存在某一行全部变成,,4.简述概念结构设计(E-R模型设计)的步骤,并说明在进行全局E-R图集成时可能出现的冲突类型。【答案与解析】概念结构设计的目标是将需求分析阶段得到的需求转化为独立于具体DBMS的抽象概念模型。其主要步骤和集成冲突如下:(1)概念结构设计的步骤:1.抽象数据并设计局部E-R图:根据需求分析的数据流图和数据字典,选择局部应用范围,确定实体、属性以及实体间的联系,为每个局部应用设计局部E-R图。2.集成全局E-R图:将各个局部E-R图合并起来,消除局部E-R图之间的不一致和冲突,生成全局概念模型(全局E-R图)。3.优化全局E-R图:检查全局E-R图是否满足完整性约束,消除不必要的冗余,生成最终的优化E-R图。(2)全局E-R图集成时可能出现的冲突类型:在将各个局部E-R图集成为全局E-R图时,由于不同的设计人员可能对同一现实世界的抽象角度不同,通常会产生以下三类冲突:1.属性冲突:包括属性域冲突(同一属性在不同局部E-R图中类型、取值范围不同,如“学号”有的作为整数,有的作为字符型)和属性取值单位冲突(如重量单位有的用千克,有的用克)。2.命名冲突:包括同名异义(不同意义的事物在不同局部E-R图中使用了相同的名字)和异名同义(相同意义的事物在不同局部E-R图中使用了不同的名字)。3.结构冲突:主要包括三种情况。一是同一对象在不同局部E-R图中被抽象为不同概念(如某事物在A图中作为实体,在B图中作为属性);二是同一实体包含的属性个数和属性排列次序不同;三是实体之间的联系类型在不同局部表现不同(如在A图中为1:1,在B图中为1:n)。五、综合应用题(每题10分,共30分)1.设有关系模式R(A,B,C,D,E,F),其函数依赖集F={A→B,A→C,C→D,(A,E)→F}。(1)求R的所有候选码,并说明理由。(2)判断R最高属于第几范式。(3)若R不满足3NF,请将其无损且保持函数依赖地分解为3NF模式集。【答案与解析】(1)求候选码:分析函数依赖集F中属性的出现情况:属性A出现在左部,且决定了其他属性,属于L类属性。属性E仅出现在左部,属于L类属性。属性B,C,D,F仅出现在右部,属于R类属性。没有属性左右都不出现(N类)或者左右都出现(LR类)。根据候选码求解规则,L类属性必在候选码中,R类属性必不在候选码中。因此候选码必包含{A,E}。求{A,E}的闭包:设X={A,E}。已知A→B,所以=A已知A→C,所以=A已知C→D,所以=A已知(A,E)→F,所以=A因为包含了R的所有属性,且其任何真子集(如{A}或{E})都不能推导出全部属性,因此{A,E}是唯一候选码。答:R的候选码为(A,E)。(2)判断范式级别:主属性为A和E;非主属性为B,C,D,F。考察函数依赖:A→B:B部分依赖于候选码(A,E)的真子集A。A→C:C部分依赖于候选码(A,E)的真子集A。由于存在非主属性对候选码的部分函数依赖,R不满足第二

温馨提示

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

最新文档

评论

0/150

提交评论