数据库基础(4)函数依赖公理和推论(Armstrong公理),属性闭包和求候选键的技巧 您所在的位置:网站首页 闭包公理证明 数据库基础(4)函数依赖公理和推论(Armstrong公理),属性闭包和求候选键的技巧

数据库基础(4)函数依赖公理和推论(Armstrong公理),属性闭包和求候选键的技巧

2023-09-21 00:54| 来源: 网络整理| 查看: 265

函数依赖里面,函数依赖公理,Armstrong公理以及属性闭包的定义都有必要仔细学习

1.逻辑蕴含基本定义

逻辑蕴含

2.Armstrong公理和推论–可以用来判断一个函数依赖X -> Y 是否逻辑蕴含于函数依赖集F

Armstrong

Armstrong推论(三个规则)的推出过程

过程

使用Armstrong公理判断逻辑蕴含的例题(这个就要自己多练练就熟悉了)

例题

3.函数依赖集F闭包(F+)和属性集闭包(X+)的概念 首先理解什么是F+ (函数依赖集F的闭包)

F+

例题

题目 答案

属性闭包

属性闭包

简单来说,属性闭包X+指的就是 所有X可以决定的属性的集合 我们也可以用属性闭包判断 X - > Y 是否蕴含于F

一道求属性闭包的例题

属性闭包例题 (1)求A+,先把A所决定的所有的属性依次扫描: A+=A A0=AB (因为有A -> B存在,所以A决定了B,就把B和A放在一起) A1=ABC (由于A0=AB, AB中的B又决定了C(B->C),所以我们把C也加入属性闭包的集合中) ABC没有可以决定的属性了,因此最终A+=ABC (2)求属性集AD的闭包(AD+) 这道题和(1)题同理, 首先看F中是否有AD直接决定的属性,看了一下,发现没有 AD-> a 的情况存在 然后,我们考虑AD中的A或D是否有直接决定的属性,扫描一下,发现有! AD+=AD AD0=ADB (因为有A->B,所以把B加入属性闭包) AD1=ADBC (因为第二项是B->C,所以把C也加入属性闭包) 因此最后 AD+ = ADBC (3)第三题就自己做吧~~ 不展示过程啦,道理是一样的

4.关于求候选键的技巧

如果一道题中,给了依赖关系让我们求候选键,最佳方式是利用属性闭包算法来做,比如下面的题: 题目

解题

我们先依次求ABD的属性闭包: A+ = A B+ = B D+ = DAB 由于D决定了AB,但是没有决定C,CD在一起可以决定ABCD,所以第一题中R的候选键是CD



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有