关系数据库设计相关知识汇总(一)

都是我上课的笔记什么的,写在这里吧

****我是可爱的分割线~****

  1. 关系数据库设计的目标
    确定现在的设计是不是好的关系模式,不好的话要将其分解成关系模式集,分解要是无损分解,保持函数依赖的分解,基于多值依赖理论和函数依赖理论。
    (里面不太懂的名词在后面还有解释哦。)

  2. 第一范式
    如果一个域(也就是属性)的元素被认为是不可分的单元,那么称这个域是原子的。如果一个关系模式R所有属性的域都是原子的,那么称这个关系模式R属于第一范式

  3. 函数依赖
    书上的定义: 给定r®的一个实例,若它满足函数依赖 a→b的条件是: 对实例中所有元组对t1和t2,若t1[a]=t2[a],则t1[b]=t2[b]。如果在r®的每个合法实例中都满足函数依赖a→b,那么我们说函数依赖在模式r®上成立。

    人话: 对于数据库中的这张表,如果属性a确定了,那么属性b的值也就确定了,那么这张表就有一个函数依赖a→b。
    就相当于函数的定义,给定一个x,必然只有一个f(x)和它对应。

  4. 用函数依赖表示超码
    如果函数依赖K→R在r®上成立,则K是r®的一个超码

  5. 用函数依赖表示候选码
    如果函数依赖K→R在r®上成立,且不存在任意一个K的真子集S→R,则K是r®的一个候选码

  6. 函数依赖的作用
    ①判定关系是否合法
    ②说明合法关系上的约束

  7. 平凡的函数依赖
    如果b是a的子集,则形如a→b的函数依赖是平凡的。

  8. F+
    F+表示函数依赖集F的闭包,也就是能从F中推导出的所有函数依赖的集合。

  9. Boyce-Codd范式(BCNF)
    具有函数依赖集F的关系模式R属于BCNF的条件是,对F+中所有形如a→b的函数依赖(a,b都是R中的属性哈),二个条件中至少要有一个成立:
    ①a→b是平凡的函数依赖
    ②a是模式R的一个超码

  10. 分解不属于BCNF的模式的一般规则
    设R为不属于BCNF的一个模式,则至少存在一个非平凡的函数依赖a→b,其中a不是R的超码,那么我们用以下两个模式取代R
    (a 并 b) 和 (R-(b-a))

猜你喜欢

转载自blog.csdn.net/m0_46664771/article/details/106064613