3NF既具有无损连接性又保持函数依赖的分解算法(严选参考)
数据库三大范式详解
数据库三大范式详解作者:佚名文章来源:本站原创点击数:1925 更新时间:2009-8-7数据库范式1NF 2NF 3NF BCNF(实例)设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。
构造数据库必须遵循一定的规则。
在关系数据库中,这种规则就是范式。
关系数据库中的关系必须满足一定的要求,即满足不同的范式。
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。
满足最低要求的范式是第一范式(1NF)。
在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。
一般说来,数据库只需满足第三范式(3NF)就行了。
下面我们举例介绍第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。
这样可能使数据库产生重复数据,从而导致创建多余的表。
范化是在识别数据库中的数据元素、关系,以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。
下面是范化的一个例子Customer Item purchased Purchase priceThomas Shirt $40Maria Tennis shoes $35Evelyn Shirt $40Pajaro Trousers $25如果上面这个表用于保存物品的价格,而你想要删除其中的一个顾客,这时你就必须同时删除一个价格。
范化就是要解决这个问题,你可以将这个表化为两个表,一个用于存储每个顾客和他所买物品的信息,另一个用于存储每件产品和其价格的信息,这样对其中一个表做添加或删除操作就不会影响另一个表。
关系数据库的几种设计范式介绍1 第一范式(1NF)在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
数据库范式与关系模式示例
补充讲义一、范式举例BCNF.如:课程号与学号)例4:R(X,Y,Z),F={XY->Z},R为几范式?BCNF。
例5:R(X,Y,Z),F={Y->Z,XZ->Y},R为几范式?3NF。
R的候选码为{XZ,XY},(R中所有属性都是主属性,无传递依赖)二、求闭包数据库设计人员在对实际应用问题调查中,得到的结论往往是零散的、不规范的(直观问题好办,复杂问题难办了),所以,这对分析数据模型,达到规范化设计要求,还有差距,为此,从规范数据依赖集合的角度入手,找到正确分析数据模型的方法,以确定关系模式的规范化程度。
例1.已知关系模式R(U、F),其中,U={A,B,C,D,E}; F={AB→ C, B→ D, EC → B , AC→B} ,求(AB)+F.解:设X(0)=AB○1计算X(1),在F中找出左边为AB子集的FD,其结果是:AB→C,B→D∴X(1)=X(0)UB=ABUCD=ABCD 显然,X(1)≠X(0)○2计算X(2),在F中找出左边为ABCD子集的FD,其结果是:C→E,AC→B∴X(2)=X(1)UB=ABCDUBE=ABCDE 显然,X(2)=U所以,(AB)+ F=ABCDE.(等于U,所以AB是唯一候选关键字)例2.设有关系模式R(U、F),其中U={A,B,C,D,E,I};F={A→D,AB→E,B→E,CD→I,E→C},计算(AE)+解:令X={AE},X(0)=AE○1在F中找出左边是AE子集的FD,其结果是:A→D,E→C∴X(1)=X(0)UB=X(0)UDC=ACDE 显然,X(1)≠X(0)○2在F中找出左边是ACDE子集的FD,其结果是:CD→I∴X(2)=X(1)UI=ACDEI显然,X(2)≠X(1),但F中未用过的函数依赖的左边属性已含有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI.因为,X(3)=X(2),所以,算法结束。
郑州大学电子商务专业_数据库原理与应用_网上考试题库参考
第1章数据库系统概述一、章节学习目标与要求1、理解数据、数据库、数据库系统、数据库管理系统、数据模型定义、数据模型的三个要素等概念;2、掌握E-R方法、数据库三级模式和两级映象结构以及数据库的独立性概念。
二、章节练习1、选择题1)在数据模型中,对数据库系统动态特性的描述是用_____________。
A、数据结构B、数据操纵C、数据完整性约束D、数据对象2)用户所使用的数据视图的描述称为_____________。
A、外模式B、模式C、内模式D、概念模式3)目前主流的数据模型是_____________A.层次模型B.网状模型C.关系模型D.面向对象模型4)数据库管理系统是_____________A.OS B.DBSC.DBMS D.DB5)涉及数据物理结构描述的模式是_____________A.外模式B.概念模式C.内模式D.模式2、填空题1)数据独立性可分为________________和____________________。
2)数据库的三级模式结构是指数据库系统是由___________、___________和___________构成,两级映像是指______________________和______________________。
3)数据模型的三个组成要素是__________________、____________________和________________________。
4)数据更新包括________________、_________________和____________________。
1:答案:逻辑独立性、物理独立性2:答案:外模式、模式、内模式、外模式/模式映象、模式/内模式映象3:答案:数据结构、数据操作、完整性约束4:答案:插入、删除、修改3、简答题1)什么是数据库?数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按照某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
e-r图范式题
大学的注册办公室维护关于以下实体的数据:(a)课程,包括编号、名称、学分、课程提纲和选修条件;(b)课程提供,包括课程编号、年、学期、节数、教师(可能多个)、时间和教室;(c)学生,包括学生标识、名字和计划;(d)教师,包括标识号、名字、系和职称。
此外,学生课程的登记和学生所选的每门课的成绩评定都要适当地建模。
请画出该系统的E-R图,将E-R图转化为关系模式并进行必要的模式合并个(courseofferings实体集,应用双矩形表示)Student(sid, name, program)Course(courseno, title, credits, syllabus)Instructor(iid, name, dept, title)Courseofferings(courseno, year, semester, secno, room, time)Enrols(sid, courseno, year, semester, secno, grade)Teaches(iid, courseno, year, semester, secno)Requires(maincourse_courseno, prerequisite_courseno)Compute the closure of the following set F of functional dependenciesfor relation schema R = (A, B, C, D, E).A→BCCD→EB→DE→AList the candidate keys for R.Starting with A → BC, we can conclude: A → B and A → C.Since A → B and B → D, A → D (decomposition, transitive)Since A → CD and CD → E, A → E (union, decomposition, transitive)Since A → A, we have (reflexive)A → ABCDE from the above steps (union)Since E → A, E → ABCDE (transitive)Since CD → E, CD → ABCDE (transitive)Since B → D and BC → CD, BC → ABCDE (augmentative, transitive).Therefore, any functional dependency with A, E, BC, or CD on the left hand side of the arrow is in F+, no matter which other attributes appear in the FD.Allow * to represent any set of attributes in R, then F+ is BD → B, BD → D,C → C,D → D, BD → BD, B → D, B → B, B → BD, and all FDs ofthe form A∗→ α, BC∗→ α, CD∗→ α, E∗→ αwhere α is any subset of {A, B, C, D, E}. The candidate keys are A, BC, CD, and E.a B+ = { BDACE}b A->BCD, A->ABCD,BC->DE, ABCD->ABCDEA->ABCDEAF->ABCDEF所以c A->BCD中D无关属性BC->DE中C无关D无关A->BCB->DB->ED->AA->BCB->DED->AD (ABC) (BDE)(DA)(AF)E (ABCD)(AF)(AE)正则覆盖定义和计算方法•定义5.11正则覆盖(canonical cover)F c是一个依赖集,使得F逻辑蕴涵Fc 中的所有依赖,Fc逻辑蕴涵F中的所有依赖,而且必须具有下列特性:–F c中的任何函数依赖都不包含无关属性;–F c中函数依赖的左半部都是唯一的,即F c中不存在两个依赖α1→β1和α2→β2,且α1=α2。
3NF既具有无损连接性又保持函数依赖的分解算法
求最小函数依赖集分三步:1.将F中的所有依赖右边化为单一元素此题fd={abd->e,ab->g,b->f,c->j,cj->i,g->h};已经满足2.去掉F中的所有依赖左边的冗余属性.作法是属性中去掉其中的一个,看看是否依然可以推导此题:abd->e,去掉a,则(bd)+不含e,故不能去掉,同理b,d都不是冗余属性ab->g,也没有cj->i,因为c+={c,j,i}其中包含i所以j是冗余的.cj->i将成为c->iF={abd->e,ab->g,b->f,c->j,c->i,g->h};3.去掉F中所有冗余依赖关系.做法为从F中去掉某关系,如去掉(X->Y),然后在F中求X+,如果Y在X+中,则表明x->是多余的.需要去掉.此题如果F去掉abd->e,F将等于{ab->g,b->f,c->j,c->i,g->h},而(abd)+={a,d,b,f,g,h},其中不包含e.所有不是多余的.同理(ab)+={a,b,f}也不包含g,故不是多余的.b+={b}不多余,c+={c,i}不多余c->i,g->h多不能去掉.所以所求最小函数依赖集为F={abd->e,ab->g,b->f,c->j,c->i,g->h};转换为3NF既具有无损连接性又保持函数依赖的分解算法:第一步:首先用算法1求出R的保持函数依赖的3NF分解,设为q={R1,R2,…,Rk}(这步完成后分解已经是保持函数依赖,但不一定具有保持无损连接)第二步:设X是R的码,求出p=q {R(X)}第三步:若X是q中某个Ri的子集,则在p中去掉R(X)第四步:得到的p就是最终结果例题:R(S#,SN,P,C,S,Z)F={S#→SN,S#→P,S#→C,S#→S,S#→Z,{P,C,S}→Z,Z→P,Z→C}•第一步:求出最小FD集:F={S# →SN, S# →P,S# →C, S#→S, {P,C,S→Z, Z →P,Z →C} // S# →Z冗余,FD:最小函数依赖按具有相同左部分组:q={R1(S#,SN,P,C,S), R2(P,C,S,Z), R3(Z,P,C)}R3是R2的子集,所以去掉R3q={R1(S#,SN,P,C,S), R2(P,C,S,Z)}•第二步:R的主码为S#,于是p=q {R(X)}={R1(S#,SN,P,C,S), R2(P,C,S,Z), R(S#)}•第三步:因为{S#}是R1的子集,所以从p中去掉R(S#)•第四步:p ={R1(S#,SN,P,C,S), R2(P,C,S,Z)}即最终结果判别一个分解的无损连接性举例2:已知R<U,F>,U={A,B,C,D,E},F={A→C,B→C,C→D,DE→C,CE→A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有无损连接性。
互联网数据库0911(自考——电子商务学位课复习资料).doc
1 •数据库技术是随着数据管理的需要而产牛的。
数据处理的的核心是数据管理。
数据管理指的是对数据的分类、组织、编码、储存、检索和维护。
2. 数据管理技术共经历了三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段3. 人工管理阶段:数据不保存、数据需要由应用程序自己进行管理、基本上没有文件概念、数据不共亨4 •文件系统阶段:数据可以长期保存、文件系统管理数据、文件已经多样化、数据的存取基本上以记录为单位。
缺点有:数据共享性差,数据冗余度大;数据和程序缺乏独立性5.数据库管理阶段:(1)数据结构化。
(2)数据共享性高、冗余度小、易扩充。
(3)数据独立性高。
(4)统一的数据管理和控制:数据的安全性保护、数据的完整性控制、数据库恢复和并发控制。
(5)数据的最小存取单位是数据项。
DB:数据库(Database),DB是统一管理的相关数据的集合。
DBMS:数据库管理系统(Database Management System), DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对彖型DBMS。
DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硕件和数据资源组成的系统,即采用了数据库技术的计算机系统。
数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。
第一代数据库系统,即层次数据库系统和网状数据库系统第二代数据库系统,即关系数据库系统笫三代数据库系统,即面向对象数据库系统数据库学科的研究范围:数据库管理系统软件的研制;数据库设计;数据库理论数据模型是现实世界数据特征的抽象。
是数据庄系统的核心和里础。
数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
数据库技术与应用第5、6章 习题答案
第5章数据库完整性与安全性1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。
数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
数据的完整性和安全性是两个不同的概念,但是有一定的联系:前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
2. 什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。
静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束。
静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束。
动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:①修改列定义时的约束;②修改列值时的约束。
动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。
动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
3. 试述DBMS如何实现完整性控制。
解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件。
《数据库技术与应用》第6章习题答案
关系模式:
客户(驾照号,姓名,住址,电话)
车辆(车辆编号,车型,出厂年份)
事故(事故பைடு நூலகம்号,事故发生日期,发生地点,赔偿金)
存在的函数依赖: 客户(驾照号→姓名,驾照号→住址,驾照号→电话) 车辆(车辆编号→车型,车辆编号→出厂年份、车辆编号→驾照号) 事故(事故编号→事故发生日期,事故编号→发生地点,事故编号→赔偿金、事故编号→车辆编号) 4. 设关系模式R(A,B,C,D,E,F),函数依赖集F={A C,C A,B AC,D AC,BD A}。 (1) 求出R的候选码。 (2) 求出F的最小函数依赖集。 解: (1)B、D。 (2) ①将F中每个函数依赖的右部均变成单属性。则, F={A C,C A,B A,B C,D A,D C,BD A}; ②去掉F中各函数依赖左部多余的属性。 在BD A中,由于存在B A和D A因此,BD A为多余的函数依赖,可去掉。 ③去掉F中冗余的函数依赖。 由于B A可由B C和C A推出,因此,可去掉B A。 D A可由D C和C A推出,因此,可去掉D A。 因此,F m={A C,C A,B C,D C }。 5. 设X在关系模式R中成立。如果存在Z X使得Z Y成立,则称函数依赖X称为部分函数依赖,并称Y部分函数依赖于X;否则称 X为完全函数依赖,并称Y完全依赖于X。使用完全函数依赖概念给出2NF的等价定义。 解:
若R1NF,且R的所有函数依赖都满足完全函数依赖,则R2NF。 6. 证明: (1) 如果R的所有属性都是主属性,则R是3NF。 (2) 如果R的码包含R的所有属性(全码),则R是BCNF。
解:
(1) 证明:关系模式R中若不存在这样的候选码X,属性组Y及非主属性Z(Z Y)使得X Y,Y Z成立,则称R3NF。因为如果R的所 有属性都是主属性,即没有非主属性,则不存在非主属性对码的部分和传递函数依赖。因此如果R的所有属性都是主属性,则 R是3NF。 (2) 证明:BCNF要求关系范式满足1NF,且每一个函数依赖的决定因子都包含码。而全码的关系满足1NF,且只有一个决定 因子,即关系模式包含的所有属性。因此如果R 的码包含R的所有属性(全码),则R是BCNF。 7. 在关系模式设计中,有没有理由设计一个属于2NF,但不属于更高范式的关系模式?解释你的答案。
数据库模式的分解无损连接性教案
则ρ={ R1<U1>,R2<U2>}是R的无损分解。反之也
成立。 如:模式S-L(Sno, Sdept, Sloc) 分解为2个模式:
ND(Sno, Sdept) ,NL(Sno, Sloc) 则是无损分解。
解:HJ是L类属性,所以候选键至少包含HJ,另 外,(HJ)+ ={FGHIJ},所以HJ是唯一的候选键。 (1)求出最小依赖集
Fmin=F={F→I,J→I,I→G,GH→I,IH→F}
3.9.4 模式分解算法
(2) 将关系分解为: ρ={ R1(FI),R2(JI),R3(IG),R4(GHI),R5(IHF)} (3) ρ并上候选键: ρ={R1(FI),R2(JI),R3(IG),R4(GHI),R5(IHF),
R6(HJ)}
3.9.4 模式分解算法
课后习题: 已知,关系模式R(A,B,C,D,E),R的最小依 赖集Fmin={A→B,C→D}。 试将R分解为3NF,并具有无损连接性和保持 函数依赖性。
3.9.4 模式分解算法
算法5 转换为BCNF的无损连接分解。 (1)关系模式R的分解ρ,初始时ρ={R<U,F>}。 (2)检查ρ中各关系模式是否均属于BCNF。若是,则
算法2 判别一个分解的无损连接性
②逐一检查F中的每个函数依赖,并修改元素,方法 是:取F中一函数依赖X→Y,找出X所对应的列中具 有相同符号的行,考察这些行中Y列的元素,若其 中有aj,则全部改为aj,否则全部改bmj,其中m是 这些行的行号最小值。
若在某次更改后,有一行是a1a2…an,那么ρ相对 于F是无损分解,算法结束。
3NF既具有无损连接性又保持函数依赖的分解算法
3NF既具有无损连接性又保持函数依赖的分解算法3NF (Third Normal Form) 是关系数据库设计的一个最常用的范式。
它是在满足2NF (Second Normal Form) 的基础上进一步消除了非关键字对主键的传递依赖。
在进行3NF分解算法时,我们需要遵循以下步骤:1.对关系模式进行分析,找出主键和所有函数依赖。
2.检查关系模式是否满足2NF。
如果关系模式满足2NF,转到步骤43.找出所有非关键字的传递依赖,并进行分解。
4.对所有非主属性进行冗余消除分解。
下面将详细描述3NF分解算法的具体步骤:1.对关系模式进行分析:对于给定的关系模式R,我们需要找出其主键和所有函数依赖。
主键是可以唯一标识关系中的每条记录的那个属性或属性组合。
函数依赖是属性间的关系,其中一个或一组属性的值确定另一个或一组属性的值。
2.检查关系模式是否满足2NF:2NF要求关系模式R的所有非主属性都完全函数依赖于主键,即不能存在部分依赖。
如果关系模式已经满足2NF的要求,则可以跳过步骤3,直接进行步骤43.分解传递依赖:针对存在传递依赖的关系模式,我们需要进行分解。
传递依赖是指当一个非关键字属性依赖于另一个非关键字属性时,在关系模式中存在传递依赖。
首先,我们需要找出所有的传递依赖关系。
通常,我们可以通过观察属性之间的函数依赖来找出传递依赖。
如果存在函数依赖X→Y和Y→Z,那么我们可以推断出X→Z为传递依赖。
其次,对于每个传递依赖关系X→Z,我们需要创建一个新的关系模式XZ,并将X和Z以及它们的函数依赖复制到新的模式中。
然后,我们需要从原来的关系模式R中删除属性Z,创建一个新的关系模式YZ,并将Y和Z的函数依赖复制到新的模式中。
最后,我们需检查新的关系模式是否满足2NF,并重复这个过程,直到所有的传递依赖都被消除。
4.冗余消除分解:在消除传递依赖之后,我们需要对所有非主属性进行冗余消除分解。
对于每个非主属性A,我们创建一个新的关系模式A,并将A以及它所决定的所有属性复制到新的模式中。
xx下半年计算机三级《数据库》考前模拟试题(三)答案及解析
xx下半年计算机三级《数据库》考前模拟试题(三)答案及解析1.C【解析】对模式进展分解时,既要保证分解具有“无损连接性”,又要保证分解“保持函数依赖”。
所谓“无损连接”指分解的假设干连接重组时可以准确恢复到原来的数据表,数据记录既没有增加也没有减少。
“保持函数依赖”是指原关系模式含有的属性之问的隐含关系在分解后不能丧失。
此题由所给的F可以看出A,B,C为关系中的主键,D为非主属性,D依赖于A,B,C分解可恢复出原关系,但其中隐含的D对A、B的依赖却丧失了。
2.D【解析】分解使得一个关系变为多个关系,常用于关系模式标准化。
一般情况下可以减少部分数据冗余,但不恰当的分解也可能增加冗余。
3.C【解析】一张关系表中的主码不能为空且具有唯一性。
外码取值可能为被参照关系中已存在的主码值或空值。
最终该表中插入的数据为(1),(2),(4),(6),共4行数据。
4.B【解析】为了提高系统的性能,应该根据应用情况将数据的易变部分和稳定部分、经常存取部分-和存取频率较低的部分分开存放,较常用的放在高速读写的磁盘上,但并没有说索引一定要在高速磁盘,日志一定要在低速磁带,要根据访问频率决定。
5.D【解析】三层架构将更多的任务传给效劳器端计算,所以增加了网络的通信量,其运行速度受制于网络,并不一定会提高。
在适用Intemet、维护工作量等方面,B/S比C/S强;在运行速度、数据平安和人机交互等方面,不如C/S。
6.C【解析】l属于设计数据库设计中的概念构造设计,Ⅲ属于逻辑构造设计,Ⅳ属于物理设计。
Ⅱ、V、Vl属于数据库的实现与维护。
所以答案为c。
7.A【解析】关系数据语言分为关系代数语言、关系演算语言和兼具两者双重特点的语言,如SQL,但所有这些语言的共同特点是非过程化的集合操作语言,所以Ⅱ错误。
Ⅳ是因为查询数据表时SQL语句不会检查数据的完整性约束。
8.C【解析】RAIDl0比RAID5在写数据上更稳定、速度更快,所以C项中应尽量防止存储在RAID5的磁盘存储系统中。
计算机三级(数据库技术)笔试231
[模拟] 计算机三级(数据库技术)笔试231选择题第1题:下列哪一个是输出设备?A.鼠标B.键盘C.数/模转换器D.模/数转换器参考答案:C输入设备有鼠标、键盘、扫描仪、模/数转换器等;输出设备有打印机、显示器、数/模转换器等。
第2题:在一个数据库中,模式与内模式的映像个数是A.1个B.与用户个数相同C.由设置的系统参数决定D.任意多个参考答案:A本题考查数据库二级映像的基本知识。
由于一个数据库只有一个内模式和一个模式,因而模式/内模式的映像也只有一个,故正确答案为A。
第3题:下列叙述不正确的是A.信息是现实世界事物的存在方式或运动状态的反应B.数据是描述现实世界事物的符号记录C.数据是信息的符号表示;信息是数据的内涵D.信息是数据的载体;数据是信息的语义解释参考答案:D信息是现实世界事物的存在方式或运动状态的反映;数据是描述现实世界事物的符号记录,是指用物理符号记录下来的可以鉴别的信息;数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的主义解释。
第4题:下列属于数据库设计阶段的是( )。
Ⅰ、需求分析Ⅱ、概念结构设计Ⅲ、逻辑结构设计Ⅳ、数据库运行和维护Ⅴ、语法分析Ⅵ、数据库实施Ⅶ、物理结构设计A.Ⅰ、Ⅱ、Ⅲ、Ⅳ、ⅦB.Ⅰ、Ⅱ、Ⅲ、Ⅳ、ⅦC.Ⅰ、Ⅱ、Ⅳ、ⅦD.都是参考答案:B考虑数据库及其应用系统开发全过程,将数据库设计分为以下6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施及数据库的运行和维护。
第5题:SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句ALTER TABLE实现哪类功能?( )A.数据查询B.数据操纵C.数据定义D.数据控制参考答案:C第6题:下面有关对象一关系数据库系统的叙述中,不正确的是( )。
A.一个对象由一组属性和对这组属性进行操作的一组方法构成B.消息是用来请求对象执行某一操作或回答某些信息的要求C.方法是用来描述对象静态特征的一个操作序列D.属性是用来描述属性特征的一数据项参考答案:D一个对象由一组属性和对这组属性进行操作的一组方法构成;消息是用来请求对象执行某一操作或回签某些信息的要求;方法是用来描述对象静态特征的一个操作序列;属性是用来描述对象的静态特征的数据项。
关系模式的分解-无损连接与保持函数依赖
规范化过程中将一个关系模式分解为若干个关系模式,应该保证分解后产生的模式和原来的模式等价。常用的等价标准有要求:
●分解是具有无损连接性的;
●分解是保持函数依赖的;
●分解既要具有无损连接又要保持函数依赖两种。
将一个关系模式R(U,F)分解为若干个关系模式R1(U1,F1),R2(U2,F2)…Rn(Un,Fn)(其中U=U1 U2 … Un,R1为F在U1上的投影),这意味着相应的将存储在一个二维表r中的数据分散到若干个二维表r1,r2,…,rn中(其中r1是r在属性组U1上的投影)。我们当然希望这样的分解不丢失信息,也就是说,希望能够通过对关系r1,r2…rn的自然连接运算重新得到关系r中的所有信息。
在将一个关系模式分解为三个或者更多个关系模式的情况下,要判别分解是否具有无损连接性需要比较复杂的算法。然而若将一个关系模式分解为两个关系模式,则很容易判别分解是否具有无损连接性。
关系模式R(U,F)分解为关系模式R1(U1,F1),R2(U2,F2)是具有无损连接性的分解的充分必要条件是(U1∩U2→U1-U2)∈F+,或者(U2∩U1→U2-U1)∈F+。
现在r的一个元组中的x值跨在两个不同的关系中为维护数据库的一致性在一个关系中修改x值时就需要相应的在另外一个关系中修改y值这当然是很麻烦而且是容易出错的于是我们要求模式分解保持函数依赖这条等价标准
关系模式的分解-无损连接与保持函数依赖
2012.11.02
/54219288.html
定义2:设关系模式R(U,F)分解为关系模式R1(U1,F1),R2(U2,F2),…,Rn(Un,Fn),若F=(F1F2…Fn),即F所逻辑蕴含的函数依赖一定也由分解得到的各个关系式中的函数依赖所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的。
拆分成3NF
5.4.3 保持函数依赖的模式分解一、转换成3NF的保持函数依赖的分解算法:ρ={R1<U1,F1>,R2<U2,F2>,...,R k<U k,F k>}是关系模式R<U,F>的一个分解,U={A1,A2,...,A n},F={FD1,FD2,...,FD p},并设F是一个最小依赖集,记FD i为X i→A lj,其步骤如下:①对R<U,F>的函数依赖集F进行极小化处理(处理后的结果仍记为F);②找出不在F中出现的属性,将这样的属性构成一个关系模式。
把这些属性从U中去掉,剩余的属性仍记为U;③若有X→A∈F,且XA=U,则ρ={R},算法终止;④否则,对F按具有相同左部的原则分组(假定分为k组),每一组函数依赖F i所涉及的全部属性形成一个属性集U i。
若U i⊆U j(i≠j),就去掉U i。
由于经过了步骤②,故ki iUU1== ,于是构成的一个保持函数依赖的分解。
并且,每个R i(U i,F i)均属于3NF且保持函数依赖。
例1:关系模式R<U,F>,其中U={C,T,H,I,S,G},F={CS→G,C→T,TH →I,HI→C,HS→I},将其分解成3NF并保持函数依赖。
解:根据算法进行求解(一)计算F的最小函数依赖集①利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖。
由于F的所有函数依赖的右边都是单个属性,故不用分解。
②去掉F中多余的函数依赖A.设CS→G为冗余的函数依赖,则去掉CS→G,得:F1={C→T,TH→I,HI→C,HS→I}计算(CS)F1+:设X(0)=CS计算X(1):扫描F1中各个函数依赖,找到左部为CS或CS子集的函数依赖,找到一个C→T函数依赖。
故有X(1)=X(0)∪T=CST。
计算X(2):扫描F1中的各个函数依赖,找到左部为CST或CST子集的函数依赖,没有找到任何函数依赖。
2021年贵州省毕节地区全国计算机等级考试数据库技术预测试题(含答案)
2021年贵州省毕节地区全国计算机等级考试数据库技术预测试题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、1.选择题(10题)1. 以下哪一个不是栈的基本运算______?A.删除栈顶元素B.删除栈底元素C.判断栈是否为空D.将栈置为空栈2. 下面有关模式分解的叙述中,不正确的是______。
A.若一个模式分解保持函数依赖,则该分解一定具有无损连接性B.若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNFC.若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,但不一定能达到BCNFD.若要求分解具有无损连接性,那么模式分解一定可以达到BCNF3. 设关系模式R(A,B,C) ,F是R上成立的FD集,F={B-C},则分解ρ={AB,BC}相对于F______。
A.是无损连接,也是保持FD的分解B.是无损连接,但不保持FD的分解C.不是无损连接,但保持FD的分解D.既不是无损连接,也不保持FD的分解4. Oracle数据库管理系统的Internet解决方案的产品是Oracle WebServer,下面列出的条目中,哪一条不属于该产品?A.Oracle WebListenerB.Oracle WebAgentC.Oracle OLAPD.Oracle 7服务器5. 在计算机的应用领域中,CAI表示A.计算机辅助设计B.计算机辅助教学C.计算机辅助制造D.计算机辅助程序设计6. 在数据库中可以创建和删除表、视图、索引,可以修改表。
这是因为数据库管理系统提供了______。
A.数据定义功能B.数据操纵功能C.数据维护功能D.数据控制功能7. 下述哪一条是由于关系模式设计不当所引起的问题?A.数据冗余B.数据被非法读取C.数据被非法修改D.发生死锁8. 信息认证是信息安全的一个重要方面,下列哪一项不属于实施信息认证的方法?______。
三级数据库技术笔试-289
三级数据库技术笔试-289(总分:92.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:1,分数:59.00)试题(54)~(55)基于如下描述:有关系模式P(C、S、T、R、G),根据语义有如下函数依赖集:F{C→T,ST→R,TR→C,SC→G}。
(分数:59.00)(1).下列属性组中的哪一个(些)是关系P的候选码?Ⅰ.(C,S) Ⅱ.(C,R) Ⅲ.(S,T)Ⅳ.(T,R) Ⅴ.(S,R)∙ A. 只有Ⅲ∙ B. Ⅰ和Ⅲ∙ C. Ⅰ、Ⅱ和Ⅳ∙ D. Ⅱ、Ⅲ和Ⅴ(分数:1.00)A.B. √C.D.解析:[解析] 本题考查关系模型中候选码的基本概念。
由于(C,S)与(S,T)都是码,故正确答案为B。
(2).现将关系模式P分解为两个关系模式P1(C,T,R),P2(C,S,G.,那么这个分解∙ A. 不具有无损连接性,不保持函数依赖∙ B. 具有无损连接性,保持函数依赖∙ C. 不具有无损连接性,保持函数依赖∙ D. 具有无损连接性且保持函数依赖(分数:1.00)A. √B.C.D.解析:[解析] 本题考查关系模式分解的基本概念。
正确答案为A。
(3).用户或应用程序看到的那部分的局部逻辑结构的描述是∙ A. 模式∙ B. 物理模式∙ C. 子模式∙ D. 内模式(分数:1.00)A.B.C. √D.解析:[解析] 数据库具有概念模式、外模式和内模式三级结构及外模式/模式映像、模式/内模式映像二层映像。
概念模式是对数据库中全部数据的整体逻辑结构的描述,它由若干个概念记录类型组成。
外模式又称子模式或用户模式,是用户与数据库的接口,是用户用到的那部分数据的描述,它由若干个外部记录类型组成。
内模式是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。
外模式/模式映像存在于外部级和概念级之间,用于定义外模式和概念模式间的对立性,一般在外模式中描述。
数据库模式的分解
泛关系假设下的投影联接变换示意图
关系模式R R的一个实例r
模式分解
π Ri(r)
ρ ={R1,R2,..Rk} r1,r2,..rk
S=mρ (r)
π Ri(s)
23
2引理6.4
设 ρ={R1<U1,F1>, R2<U2,F2>,...Rk<Uk,Fk>} 为关系模
式R的一个分解,r为R的任一个关系,ri=π Ri(r), 则
①r mρ (r)(即r的投影连接包含r) ② 如果s=mρ (r) ,则π Ri(S)=ri ③ mρ (mΡ (r))=mρ (r)
24
①r mρ (r)
r的投影连接包含r,分解后再连接起来的r肯定不
会比原来的r小;
② 如果s=mρ (r) ,则π Ri(S)=ri, 投影连接后再投影到子关系模式 = 直接投影到该 子关系模式。即π Ri(r)= π Ri(mρ (r) ), ③ mρ (mΡ (r))=mρ (r) 多次投影连接的结果等于一次投影连接后的结果 25 .
A a1 a2 B b1 b1
r2=πR2(r)
B b1 b1 C c1 c2
A a1 mρ (r) a1 a2 a2
B b1 b1 b1 b1
C c1 c2 c1 c2
r2=πR2(mρ (r)) A a1 a2 B b1 b1 B b1 b1 C c1 c2
27
r1=πR1(mρ (r))
结论:分解后的关系做自然联接必包含 分解前的关系,即分解不会丢失信息, 但可能增加信息,只有r=mρ (r)时,分解 才具有无损联接性
把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的只有能够保证分解后的关系模式与原关系模式等价分解方法才有意义关系模式分解的标准三种模式分解的等价定义分解具有无损连接性分解要保持函数依赖分解既要保持函数依赖又要具有无损连接性无损连接性是指分解后所得到的各个关系可以通过自然连接来实现还原
数据库原理及应用--课后答案
数据库原理及应用课后答案第一章选择题1、A。
从数据库管理系统的角度看,数据库系统的结构通常分为三级模式的总体结构,在这种模式下,形成了二级映像,实现了数据的独立性。
其中三级模式结构指的是外模式、模式和内模式,二级映像指的是外模式/模式映像、模式/内模式映像。
对于外模式/模式映像,当模式改变时,相应的外模式/模式映像作相应的改变,以使外模式保持不变,而应用程序是依据数据的外模式来编写的,外模式不变,应用程序就没必要修改,这保证了数据与程序的逻辑独立性。
对于模式/内模式映像,当数据库的存储结构变了,模式/内模式映像会作相应的改变,以使模式保持不变,而模式不变,与模式没有直接联系的应用程序也不会改变,这保证了数据与程序的物理独立性。
数据逻辑独立性指的就是当模式改变时,外模式和应用程序不需要改变,所以选项A正确。
C选项的内模式改变,模式不变指的是数据的物理独立性,所以C选项不正确,B选项中前后两句与C选项相比顺序不符,所以B选项不正确。
D选项中,应为“模式和应用程序不变”,不应为“外模式”,所以D选项不正确。
2、B。
DB指的是数据库(DataBase),DBMS指的是数据库管理系统(DataBase Management System),DBS指的是数据库系统(DataBase System),DBA指的是数据库管理员(Database Administrator),Data指的是数据。
由书中概念易得DBS(数据库系统)包括DBMS(数据库管理系统),DBMS管理和控制DB(数据库),而DB 载入、存储、重组与恢复Data(数据)。
所以B选项正确。
3、C。
数据库系统的特点有:⑴、实现数据共享;⑵、减少数据冗余度;⑶、保持数据的一致性;⑷、数据的独立性;⑸、安全保密性;⑹、并发控制;⑺、故障恢复由以上可得C选项错误,应改为数据冗余度“低”。
4、C。
DB是长期储存在计算机内、有组织的、可共享的大量数据集合;DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问计算机软件、硬件和数据资源组成的系统;DBMS是把用户对数据的操作转化为对系统存储文件的操作,有效地实现数据库三级(外模式、模式和内模式)之间的转化;MIS指的是管理信息系统(Management Information System),是一个以人为主导,利用计算机硬件、软件及其他办公设备进行信息的收集、传递、存贮、加工、维护和使用的系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求最小函数依赖集分三步:1.将F中的所有依赖右边化为单一元素此题fd={abd->e,ab->g,b->f,c->j,cj->i,g->h};已经满足2.去掉F中的所有依赖左边的冗余属性.作法是属性中去掉其中的一个,看看是否依然可以推导此题:abd->e,去掉a,则(bd)+不含e,故不能去掉,同理b,d都不是冗余属性ab->g,也没有cj->i,因为c+={c,j,i}其中包含i所以j是冗余的.cj->i将成为c->iF={abd->e,ab->g,b->f,c->j,c->i,g->h};3.去掉F中所有冗余依赖关系.做法为从F中去掉某关系,如去掉(X->Y),然后在F中求X+,如果Y在X+中,则表明x->是多余的.需要去掉.此题如果F去掉abd->e,F将等于{ab->g,b->f,c->j,c->i,g->h},而(abd)+={a,d,b,f,g,h},其中不包含e.所有不是多余的.同理(ab)+={a,b,f}也不包含g,故不是多余的.b+={b}不多余,c+={c,i}不多余c->i,g->h多不能去掉.所以所求最小函数依赖集为F={abd->e,ab->g,b->f,c->j,c->i,g->h};转换为3NF既具有无损连接性又保持函数依赖的分解算法:第一步:首先用算法1求出R的保持函数依赖的3NF分解,设为q={R1,R2,…,Rk}(这步完成后分解已经是保持函数依赖,但不一定具有保持无损连接)第二步:设X是R的码,求出p=q {R(X)}第三步:若X是q中某个Ri的子集,则在p中去掉R(X)第四步:得到的p就是最终结果例题:R(S#,SN,P,C,S,Z)F={S#→SN,S#→P,S#→C,S#→S,S#→Z,{P,C,S}→Z,Z→P,Z→C}•第一步:求出最小FD集:F={S# →SN, S# →P,S# →C, S#→S, {P,C,S→Z, Z →P,Z →C} // S# →Z冗余,FD:最小函数依赖按具有相同左部分组:q={R1(S#,SN,P,C,S), R2(P,C,S,Z), R3(Z,P,C)}R3是R2的子集,所以去掉R3q={R1(S#,SN,P,C,S), R2(P,C,S,Z)}•第二步:R的主码为S#,于是p=q {R(X)}={R1(S#,SN,P,C,S), R2(P,C,S,Z), R(S#)}•第三步:因为{S#}是R1的子集,所以从p中去掉R(S#)•第四步:p ={R1(S#,SN,P,C,S), R2(P,C,S,Z)}即最终结果判别一个分解的无损连接性举例2:已知R<U,F>,U={A,B,C,D,E},F={A→C,B→C,C→D,DE→C,CE→A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有无损连接性。
解:用判断无损连接的算法来解。
① 构造一个初始的二维表,若“属性”属于“模式”中的属性,则填a j,否则填b ij。
② 根据A→C,对上表进行处理,由于属性列A上第1、2、5行相同均为a1,所以将属性列C上的b13、b23、b53改为同一个符号b13(取行号最小值)。
③ 根据B→C,对上表进行处理,由于属性列B上第2、3行相同均为a2,所以将属性列C上的b13、b33改为同一个符号b13(取行号最小值)。
④ 根据C→D,对上表进行处理,由于属性列C上第1、2、3、5行相同均为b 13,所以将属性列D上的值均改为同一个符号a4。
⑤ 根据DE→C,对上表进行处理,由于属性列DE上第3、4、5行相同均为a4a5,所以将属性列C上的值均改为同一个符号a3。
⑥ 根据CE→A,对上表进行处理,由于属性列CE上第3、4、5行相同均为a3a5,所以将属性列A上的值均改为同一个符号a1。
⑦ 通过上述的修改,使第三行成为a1a2a3a4a5,则算法终止。
且分解具有无损连接性。
求属性集合X关于函数依赖集F的闭包X+【算法5.1】计算属性集X关于F的闭包X+。
输入:属性集X为U的子集,函数依赖集F。
输出:X+。
步骤:(1) 置初始值A=ф,A*=X;(2) 如果A≠A*,置A=A*,否则转(4);(3) A*,置A*=A*∪Z。
全部搜索完,转(2);⊆依次检查F中的每一个函数依赖Y→Z,若Y(4) 输出A*,即为X+。
【例】已知关系模式R(A,B,C,D,E),F={AB→C,B→D,C→E,EC→B,AC→B}是函数依赖集,求(AB)+。
依算法2.1解:(1) 置初始值A=ф,A*=AB;(2) 因A≠A*,置A=AB;(3) 第一次扫描F,找到AB→C和B→D,其左部⊆AB,故置A*=ABCD。
搜索完,转(2);(2) 因A≠A*,置A=ABCD;(3) 第二次扫描F,找到C→E和AC→B,其左部⊆ ABCD,故置A*=ABCDE。
搜索完,转(2);(2) 因A≠A*,置A=ABCDE;(3) 第三次扫描F,找到EC→B,其左部⊆ ABCDE,故置A*=ABCDE。
搜索完,转(2);(2) 因A=A*,转(4);(4) 输出A*,即(AB)+=ABCDE。
举例:已知关系模式R,U={A,B,C,D,E,G},F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG},求F的最小函数依赖集。
解1:利用算法求解,使得其满足三个条件①利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得F为:F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}②去掉F中多余的函数依赖A.设AB→C为冗余的函数依赖,则去掉AB→C,得:F1={D→E,D→G,C→A,BE→C,BC→D,CG→B,CG→D,ACD→B,CE→A,CE→G}计算(AB)F1+:设X(0)=AB计算X(1):扫描F1中各个函数依赖,找到左部为AB或AB子集的函数依赖,因为找不到这样的函数依赖。
故有X(1)=X(0)=AB,算法终止。
(AB)F1+= AB不包含C,故AB→C不是冗余的函数依赖,不能从F1中去掉。
B.设CG→B为冗余的函数依赖,则去掉CG→B,得:F2={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→A,CE→G}计算(CG)F2+:设X(0)=CG计算X(1):扫描F2中的各个函数依赖,找到左部为CG或CG子集的函数依赖,得到一个C→A函数依赖。
故有X(1)=X(0)∪A=CGA=ACG。
计算X(2):扫描F2中的各个函数依赖,找到左部为ACG或ACG子集的函数依赖,得到一个CG→D函数依赖。
故有X(2)=X(1)∪D=ACDG。
计算X(3):扫描F2中的各个函数依赖,找到左部为ACDG或ACDG子集的函数依赖,得到两个ACD→B和D→E函数依赖。
故有X(3)=X(2)∪BE=ABCDEG,因为X(3)=U,算法终止。
(CG)F2+=ABCDEG包含B,故CG→B是冗余的函数依赖,从F2中去掉。
C.设CG→D为冗余的函数依赖,则去掉CG→D,得:F3={AB→C,D→E,D→G,C→A,BE→C,BC→D,ACD→B,CE→A,CE→G}计算(CG)F3+:设X(0)=CG计算X(1):扫描F3中的各个函数依赖,找到左部为CG或CG子集的函数依赖,得到一个C→A函数依赖。
故有X(1)=X(0)∪A=CGA=ACG。
计算X(2):扫描F3中的各个函数依赖,找到左部为ACG或ACG子集的函数依赖,因为找不到这样的函数依赖。
故有X(2)=X(1),算法终止。
(CG)F3+=ACG。
(CG)F3+=ACG不包含D,故CG→D不是冗余的函数依赖,不能从F3中去掉。
D.设CE→A为冗余的函数依赖,则去掉CE→A,得:F4={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,ACD→B,CE→G}计算(CG)F4+:设X(0)=CE计算X(1):扫描F4中的各个函数依赖,找到左部为CE或CE子集的函数依赖,得到一个C→A函数依赖。
故有X(1)=X(0)∪A=CEA=ACE。
计算X(2):扫描F4中的各个函数依赖,找到左部为ACE或ACE子集的函数依赖,得到一个CE→G函数依赖。
故有X(2)=X(1)∪G=ACEG。
计算X(3):扫描F4中的各个函数依赖,找到左部为ACEG或ACEG子集的函数依赖,得到一个CG→D函数依赖。
故有X(3)=X(2)∪D=ACDEG。
计算X(4):扫描F4中的各个函数依赖,找到左部为ACDEG或ACDEG子集的函数依赖,得到一个ACD→B函数依赖。
故有X(4)=X(3)∪B=ABCDEG。
因为X(4)=U,算法终止。
(CE)F4+=ABCDEG包含A,故CE→A是冗余的函数依赖,从F4中去掉。
③去掉F4中各函数依赖左边多余的属性(只检查左部不是单个属性的函数依赖)由于C→A,函数依赖ACD→B中的属性A是多余的,去掉A得CD→B。
故最小函数依赖集为:F={AB→C,D→E,D→G,C→A,BE→C,BC→D,CG→D,CD→B,CE→G}什么是数据独立性?数据库系统如何实现数据独立性?数据独立性是指应用程序和数据之间相互独立、不受影响,即数据结构的修改不会引起应用程序的修改.数据独立性包括:物理数据独立性和逻辑数据独立性.物理数据独立性是指数据库物理结构改变时不必修改现有的应用程序.逻辑数据独立性是指数据库逻辑结构改变时不用改变应用程序.数据独立性是由DBMS 的二级睁像功能来实现的.当整个系统要求改变模式时(增加记录类型、增加数据项,由DBMS 对各个外模式/模式的映像做相应改变,从而保证了数据的逻辑独立性.当数据的存储结构改变时,由DBMS对模式/内模式的映像做相应改变,从而保证了数据的物理独立性.。