平凡依赖 被所有关系实例都满足的函数依赖称为平凡的 例如 customer-name. oan-number> customer name customer-name-> customer-name 般地,若β≤a则α→>β是平凡的
平凡依赖 被所有关系实例都满足的函数依赖称为平凡的 例如 customer-name, loan-number → customername customer-name → customer-name 一般地,若 则 → 是平凡的
函数依赖: 如下的涵数依赖是传递的 α→B,(Ba),Bα,B→y, 称y传递依赖于α CTO(CNO, TNAME, ADDRESS, OFFICE) CNO→ TNAME, TNAME→> ADDRESS transitive dependency CNO→→ ADDRESS
CTO(CNO,TNAME,ADDRESS,OFFICE): CNO→TNAME,TNAME→ ADDRESS transitive dependency: CNO→ADDRESS ▪ 如下的函数依赖是传递的: → ,( ), , → , 称 传递依赖于 . 函数依赖:
部分依赖: if →>β,ya,y→B B部分依赖于α CTO(CNO, TNAME, ADDRESS, OFFICE) CNO→ TNAME, TNAME→> ADDRESS partial dependency (CNO, TNAME)→ ADDRESS
▪ if: → , , → 部分依赖于 . CTO(CNO,TNAME,ADDRESS,OFFICE): CNO→TNAME,TNAME→ ADDRESS partial dependency: (CNO, TNAME)→ADDRESS 部分依赖:
函数依赖集的闭包: 给定函数依赖集F,存在其他函数依赖被F逻辑蕴含 例如:如果A→B且B→C,则可推出A→C 被F逻辑蕴含的全体函数依赖的集合称为F的闭包 用F+表示F的闭包 可利用 Armstrong公理找出F+ 若Bc,则α→B (自反) 若α→>凤则ya->yB (增广) 若α→>B且β→y,则a→y(传递) 这些规则是 正确的(只产生确实成立的函数依赖) 完备的(产生所有成立的函数依赖)
• 给定函数依赖集F, 存在其他函数依赖被F 逻辑蕴含. – 例如: 如果 A → B 且 B → C, 则可推出 A → C • 被F 逻辑蕴含的全体函数依赖的集合称为F 的闭包. – 用F + 表示F 的闭包. • 可利用Armstrong公理找出 F + : – 若 , 则 → (自反) – 若 → , 则 → (增广) – 若 → 且 → , 则 → (传递) • 这些规则是 – 正确的 (只产生确实成立的函数依赖) – 完备的 (产生所有成立的函数依赖). 函数依赖集的闭包:
·下列过程计算函数依赖集F的闭包 F+=F repeat for each F中的函数依赖∫ 对∫应用自反和增广规则 将结果函数依赖加入F for each ft中的一对函数依赖f1和f if若f和2可利用传递规则合并 then将结果函数依赖加入F until不再变化 注意:后面会介绍完成此任务的另一过程
• 下列过程计算函数依赖集F的闭包: F + = F repeat for each F +中的函数依赖 f 对f 应用自反和增广规则 将结果函数依赖加入F + for each F +中的一对函数依赖f1 和f2 if 若 f1 和f2 可利用传递规则合并 then将结果函数依赖加入F + until F + 不再变化 注意: 后面会介绍完成此任务的另一过程