5第五章第2讲函数依赖公理体系
- 格式:ppt
- 大小:357.00 KB
- 文档页数:34
主键,超键,外键,候选键,函数依赖,第⼀范式,第⼆范式,第三范式,BCNF,第四范式最近回顾了下数据库的相关知识,正好借着这个机会,把其中⼀些概念重新理⼀理,也加深⼀些印象。
⾸先我们来看看数据库中的基本概念:超键(super-key):在⼀个关系中能唯⼀地标志⼀个元组。
候选键(candidate):最⼩的超键,其任意真⾃⼰都不能成为⼀个超码。
例如,(⾝份证号,姓名)和(⾝份证号)都可以试超键,但(⾝份证号)是候选码。
主键(primary key):⽤户选作元组标识的⼀个候选键程序主键。
主键通常由⽤户从候选码中选择出来的。
外键(foreign key):假设存在两组关系,r和s,其中r(A, B, C), s(B, D),在关系r上的属性B称作参照s的外键,r也成为外码依赖的参照关系,s叫做外码被参照关系。
参照关系中外键的值必须在参照关系中存在或者null主属性:包括在候选键中的属性。
熟悉了这些概念之后我们来看看范式。
范式(Normal Form)⽬前常见的范式包括第⼀范式(1NF),第⼆范式(2NF),第三范式(3NF),Boyce-Codd(BCNF)和第四范式(4NF)。
第⼀范式:关系模式中的所有熟悉的域都是原⼦的。
如果某个域中元素被认为是不可分的,则成这个域为原⼦的。
如姓名,可以拆分为姓和名,因此,这⾥的姓名是⾮原⼦的。
1NF的缺点是存在数据的冗余以及当插⼊更新删除是容易出现异常。
第⼆范式:在满⾜第⼀范式的关系模式中,每⼀个⾮主属性完全函数依赖于任何⼀个候选键,则R属于第⼆范式。
满⾜第⼀范式的关系模式可以通过模式分解,⽣产满⾜第⼆范式的多个关系模式。
模式分解需要满⾜⼀下两个条件⽆损分解:在分解之后,n个分解关系通过⾃然连接(⾃然连接是在等值连接的基础上去掉相同的列,如果⾃然连接中找不到等值信息那么⾃然连接就等价于笛卡尔积)形成的⼆维表和没分解之前关系的⼆维表是等价的(元组没有增加也没有减少),则称这种分解形成的关系模式保持⽆损连接性;R1∩R2→(R1-R2)或R1∩R2→(R2-R1)保持函数依赖(functional dependency):函数依赖借助了数学上的函数概念α→β,即在属性集α上的值相同时,其在属性集β上的值也相同,我们称β函数依赖与α,α函数决定β。
[总结]关系数据库设计基础(函数依赖、⽆损连接性、保持函数依赖、范式、……)≏≎≟≗≖≍≭∼∽≁≃≂≅≊≈≉≇≳⪞⪆⋧⪊≵≲⪝⪅⋦⪉≴⊂ subset ⋐⊄⊊ ⊈⊃⊇ ⋑⊅⊋ ⊉≺⪯≼⋞≾⪷⋨⪵⪹⊀≻⪰≽⋟≿⪸⋩⪶⪺⊁ in ∋∉∌∝≬⊸函数依赖(Function Dependency)定义设关系模式R(U),属性集合U= {A1,A2,…,An},X,Y为属性集合U的⼦集,如果对于关系模式R(U)的任⼀可能的关系r,r中的任意两个元组u、v,若有 u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X。
⽤符号X→Y表⽰。
其中X为决定因素,Y为被决定因素。
若对于R(U)的任意⼀个可能的关系r,r中不可能存在两个元组在X上的属性值性等,⽽在Y上的属性值不等。
(1) 函数依赖是语义范畴的概念,只能根据语义来确定⼀个函数依赖关系。
(2) 函数依赖X→Y的定义要求关系模式R的任何可能的关系r中的元组都满⾜函数依赖条件。
术语 (1)若X→Y,则X称作决定因素(Determinant) (2)若X→Y,Y→X,称作X<->Y。
(3)若Y不函数依赖于X,称作X -/-> Y。
(4)X→Y,若Y不包含X,即X ⊄ Y,则称X→Y为⾮平凡的函数依赖。
正常讨论的都是⾮平凡的函数依赖。
(5)X→Y,若Y包含X,即X ⊂ Y,则称X→Y为平凡的函数依赖。
(6)完全函数依赖(full functional dependency):在R(U)中,设X、Y是关系模式R(U)中不同的属性⼦集(即X ⊂ U,Y ⊂ U), 若存在 X→Y,且不存在 X的任何真⼦集X'(即 X' ⊊ X),使得 X'→Y,则称Y完全函数依赖 ( full functional dependency ) 于X。
记作 X-F->Y。
(7)部分函数依赖:在关系模式R(U)中,X、Y是关系模式R(U)中不同的属性⼦集(即X ⊂ U,Y ⊂ U), 若X→Y成⽴,如果X中存在任何真⼦集X'(即 X' ⊊ X),⽽且有X'→Y也成⽴,则称Y对X是部分函数依赖,记作:X-P->Y。
关系数据理论课后答案第五章关系数据理论习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、1NF、2NF、3NF、BCNF、多值依赖、4NF。
解析:解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答:函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称"X函数确定Y"或"Y函数依赖于X",记作X→Y。
解析:(1)函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。
(2)函数依赖是属性之间的一种联系,体现在属性值是否相等。
由上面的定义可以知道,如果X→Y,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。
(3)要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。
(4)函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。
答:完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'Y,则称Y对X完全函数依赖,记作:若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:?→Z,则称Z对X传递函数依赖。
传递依赖:在R(U)中,如果X→Y,(Y候选码、主码:设K为R<u,f>中的属性或属性组合,若K→U(完全依赖)则K为R的候选码(Candidate key)。
若候选码多于一个,则选运其中的一个为主码(Pdmary key)。
解析:1)这里我们用函数依赖来严格定义码的概念。
在第二章中我们只是描述性地定义码(可以复习若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Candidate key)。
函数依赖闭包⼀、函数依赖的逻辑蕴涵定义:设有关系模式R(U)及其函数依赖集F,如果对于R的任⼀个满⾜F的关系r函数依赖X→Y都成⽴,则称F逻辑蕴涵X→Y,或称X→Y可以由F推出。
例:关系模式 R=(A,B,C),函数依赖集F={A→B,B→C}, F逻辑蕴涵A→C。
证:设u,v为r中任意两个元组:若A→C不成⽴,则有u[A]=v[A],⽽u[C]≠v[C]⽽且A→B, B→C,知u[A]=v[A], u[B]=v[B], u[C]=v[C],即若u[A]=v[A]则u[C]=v[C],和假设⽭盾。
故F逻辑蕴涵A→C。
满⾜F依赖集的所有元组都函数依赖X→Y(X→Y不属于F集),则称F逻辑蕴涵X→Y(X→Y由F依赖集中所有依赖关系推断⽽出)⼆、Armstrong公理1、定理:若U为关系模式R的属性全集,F为U上的⼀组函数依赖,设X、Y、Z、W均为R的⼦集,对R(U,F)有:F1(⾃反性):若X≥Y(表X包含Y),则X→Y为F所蕴涵;(F1':X→X)F2(增⼴性): 若X→Y为F所蕴涵,则XZ→YZ为F所蕴涵;(F2':XZ→Y)F3(传递性): 若X→Y,Y→Z为F所蕴涵,则X→Z为F所蕴涵;F4(伪增性):若X→Y,W≥Z(表W包含Z)为F所蕴涵,则XW→YZ为F所蕴涵;F5(伪传性): 若X→Y,YW→Z为F所蕴涵, 则XW→Z为F所蕴涵;F6(合成性): 若X→Y,X→Z为F所蕴涵,则X→YZ为F所蕴涵;F7(分解性): 若X→Y,Z≤Y (表Z包含于Y)为F所蕴涵,则X→Z为F所蕴涵。
函数依赖推理规则F1∽F7都是正确的。
2、Armstrong公理:推理规则F1、F2、F3合称Armstrong公理;F4 ∽ F7可由F1、F2、F3推得,是Armstrong公理的推论部分。
三、函数依赖的闭包定义:若F为关系模式R(U)的函数依赖集,我们把F以及所有被F逻辑蕴涵的函数依赖的集合称为F的闭包,记为F+。
第五章关系数据理论部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑第五章关系数据理论6.3 数据依赖的公理系统1. 逻辑蕴含定义6.11 对于满足一组函数依赖 F 的关系模式R <U,F>,其任何一个关系r,若函数依赖X→Y都成立, (即对于r中任意两个元组s,t,若s[X]=t[X],则s[Y]t[Y]>,则称F逻辑蕴含X→Y例如R(X, Y,Z>,F={X→Y, Y→Z}X→Z为了求得给定关系模式的码,为了从一组给定的函数依赖求得蕴涵的函数依赖,就需要一套推理规则。
这组推理规则是Armstrong于1974年提出的,所以称为Armstrong公理系统。
2. Armstrong公理系统一套推理规则,是模式分解算法的理论基础用途:求给定关系模式的码从一组函数依赖求得蕴含的函数依赖关系模式R <U,F >来说有以下的推理规则:Al.自反律<Reflexivity):若Y X U,则X →Y为F所蕴含。
(Sno,S name> →Sname注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于FA2.增广律<Augmentation):若X→Y为F所蕴含,且Z→U,则XZ→YZ为F所蕴含。
A3.传递律<Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。
定理 6.1 Armstrong推理规则是正确的<l)自反律:若Y X U,则X →Y为F所蕴含证: 设Y X U对R <U,F> 的任一关系r中的任意两个元组t,s:若t[X]=s[X],由于Y X,有t[y]=s[y],所以X→Y成立.自反律得证<2)增广律: 若X→Y为F所蕴含,且Z U,则XZ→YZ 为F 所蕴含。
证:设X→Y为F所蕴含,且Z U。
设R<U,F> 的任一关系r中任意的两个元组t,s;若t[XZ]=s[XZ],则有t[X]=s[X]和t[Z]=s[Z];由X→Y,于是有t[Y]=s[Y],所以t[YZ]=s[YZ],所以XZ→YZ为F所蕴含.增广律得证。
armstrong公理证明Armstrong公理是关于数据库关系模型中的函数依赖性的一组规则。
它是计算机科学中非常重要的理论基础之一。
本文将对Armstrong公理进行详细的证明。
1. 引言关系数据库是计算机科学领域中最常用的数据管理工具之一。
它通过使用表来存储和管理数据。
关系数据库中的数据一般由多个表组成,并通过某种方式进行关联。
在关系数据库中,表示数据之间关系的一个重要概念是函数依赖。
2. 函数依赖函数依赖是关系数据库中的一个重要概念。
它描述了一个数据项(或数据项集合)对另一组数据项(或数据项集合)的依赖关系。
例如,假设我们有一个表格“学生”,其中包含学生的ID、姓名和年龄。
在这个例子中,学生的ID唯一确定一个学生的姓名和年龄。
因此,我们可以说“学生的姓名和年龄函数依赖于学生的ID”。
这个函数依赖可以用符号“ID -> (姓名, 年龄)”表示。
在关系模型中,函数依赖也要满足一组规则,这就是Armstrong公理。
Armstrong公理定义了函数依赖的一些基本性质,包括自反性、增强性、传递性和合成性。
3. 自反性Armstrong公理的第一个规则是自反性。
自反性指的是任何集合X的子集Y都满足函数依赖X -> Y。
换句话说,如果X是一个集合,Y是X的一个子集,那么函数依赖X -> Y是成立的。
证明自反性的方法是通过使用关系代数的核心操作来构建关系代数引理。
关系代数是描述关系数据库操作的一种代数描述语言。
它包括一组操作,如选择、投影、连接和并。
我们可以使用关系代数的选择操作来构造一个证明。
选择操作返回一个满足某个条件的元组集合。
在这种情况下,我们可以选择满足Y 的全部可能的函数依赖的X的元组来构建证明。
4. 增强性Armstrong公理的第二个规则是增强性。
增强性指的是如果X -> Y,那么对于任何Z,XZ -> YZ也成立。
换句话说,如果一个集合X的函数依赖于另一个集合Y,那么将Z添加到X和Y中对函数依赖的结果不会改变。