导图社区 吉林大学《互联网数据库程序设计》2.3属性的函数依赖关系
吉林大学《互联网数据库程序设计》2.3属性的函数依赖关系。函数依赖,完全函数依赖,部分函数依赖。传递函数依赖,优化关系模式
《互联网数据库程序设计》10动态网页及程序设计。链接数据库服务器,链接数据库服务器的通知语句,发送SQL语句的向导,输出记录集中的数据与记录集相关的数据
《互联网数据库程序设计》8.5-8.8数值与逻辑表达式,数值表达式,数值运算符,常用数值函数,逻辑表达式,时间戳
《互联网数据库程序设计》8.1-8.5PHP与表达式,常用PHP编辑器,Dreamweaver开发PHP应用程序,PHP程序语法,PHP与HTML的区别,变量及其赋值运算与表达式输出,字符串表达式,字符串连接符
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
2.3属性的函数依赖关系
示意图
4传递函数依赖
定义
在关系模式R(U)中,设X、Y和Z是不同的属性集合,如果X→Y,Y→2,但Y-/®X且Y不是X的子集,则称Z传递函数依赖于X
举例
在例2.1的用人岗位表的关系模式中,“岗位编号®公司名称”,“公司名称®公司地址”,而“公司名称-/®岗位编号”,因此,公司地址传递函数依赖于岗位编号
在例2-3的函数依赖关系中,由于有“(身份证号,岗位编号)→(笔试成绩,面试成绩,笔试成绩比例)”和“(笔试成绩,面试成绩,笔试成绩比例)→总分”,并且“(笔试成绩,面试成绩,笔试成绩比例)-/®(身份证号,岗位编号)”,因此总分传递函数依赖于(身份证号,岗位编号)
在一个关系模式中,非主属性对关键字的完全或部分函数依赖关系构成了函数依赖关系的完全集,某个传递函数依赖关系可能兼备完全或部分函数依赖关系
例:在表2-5中,总分既传递函数依赖于(身份证号,岗位编号),又完全函数依赖于(身份证号,岗位编号)
如果表中存在某些非主属性部分或传递函数依赖于关键字,则该表中一定存在可优化的冗余数据项或异常操作
3部分函数依赖
在关系模式R(U)中,设X和Y是两个不同的属性集合,有X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记为X(P)→Y
“身份证号→姓名”,“身份证号→最后学历”,故有“(身份证号,岗位编号)(P)→姓名”和“(身份证号,岗位编号)(P)→最后学历”
2完全函数依赖
在关系模式R(U)中,设X和Y是两个不同的属性集合,有X→Y,对于X的任意真 子集X',都有X'-/®Y,则称Y完全函数依赖于X,记为X(F)→Y,(full)
属性之间的完全函数依赖关系表示关系模式中属性之间的依存程度。一般地讲,如果一个关系模式中的每个非主属性都完全函数依赖于关键字,则表示该关系模式设计得比较规范、合理
1函数依赖
设有关系模式R(U),X和Y都是U的子集(部分属性),对于R中的任意两个元组(记录),如果对X的投影值(即对应的属性值)相等,则对Y的投影值就相等。将x和Y的这种关系称为Y函数依赖于X,或称X函数决定Y,记为X→Y。如果Y不函数依赖X,则记为X-/®Y
函数依赖是指一组属性X的值可以决定另一组属性Y的值
在表2-1中,岗位编号决定岗位名称和最低学历,分别记为“岗位编号→岗位名称”和“岗位编号→最低学历”
在表2-5中,身份证号能决定姓名,记为“身份证号→姓名”
表2-5中的笔试成绩和面试成绩都需要身份证号与岗位编号共同确定其值,即“(身份证号,岗位编号)→笔试成绩”和“(身份证号,岗位编号)→面试成绩”
某些属性需要多个属性才能确定其值
属性之间是否存在函数依赖关系,完全由数据语义决定。例如数学函数,给定x值后,与值唯一确定
在表2-5中,一个应聘人员可以申报多个岗位,故可有多个面试成绩和笔试成绩,因此有“身份证号-/®面试成绩”且“身份证号-/®笔试成绩”。同样,一个岗位也可能有多个应聘人员,即对应多个面试成绩和笔试成绩,故有“岗位编号-/®面试成绩”且“岗位编号-/®笔试成绩”
优化关系模式
属性之间的某些函数依赖关系可能导致数据库中的数据重复储存或操作异常