数据库系统(二)

文章目录[隐藏]

关系代数

对于关系S1、S2:

笛卡尔积

投影

选择

连接

例题

1.找出 R和S 的公共属性—>(A1,A2)

2.R÷S 找出 R有S没有的属性 —> A3

3.找出A3的象集 3–>{(1,2)} 4–>{(2,1),(3,4)} 7–>{(4,6)}

4.求出πA1,A2(σ1小于3(S))的结果 {(2,1),(3,4)}

5.在 #3的结果 里面找到包含所有 #4结果的答案 —>4

第二问显然为4,4,6

例题:

F+是代表,F函数依赖集的闭包,通俗一点,就是从F函数依赖集能推导出来的依赖关系。原依赖集有A3→A2,A2→A3A4,因此可以得到A3→A2A4。

函数依赖

规范化理论

价值与用途

解决:

  1. 数据冗余
  2. 更新异常
  3. 插入异常
  4. 删除异常

求解候选键

  1. 将关系模式的函数依赖关系用“有向图”的方式表示
  2. 找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属集即为关系模式的候选键
  3. 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键

范式

第一范式(1NF)

在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式。

第二范式(2NF)

当且仅当R是1NF,且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式。

第三范式(3NF)

当且仅当R是1NF,且E中没有非主属性传递依赖于码时,则称R是第三范式。

BC范式(BCNF)

设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。

数据库的关系范式有:

( 1 )第一范式(  1NF  ):属性不可拆分或无重复的列。

( 2 )第二范式(  2NF  ):完全函数依赖。在一个关系中,若某个非主属性数据项依赖于全部关键字称之为完全函数依赖。例:成绩表(学号,课程号,成绩)关系中,(学号,课程号)→ 成绩,只有学号或者只有课程号都无法推导出成绩,因此该关系式属于完全函数依赖。

( 3 )第三范式(  3NF  ):消除传递依赖。不依赖于其他非主属性(消除传递依赖)。满足第三范式的数据库必须先满足第二范式。也就是说,数据库中的属性依赖仅能依赖于主属性,不存在于其他非主属性的关联。例如,图书,图书室的关系。图书包括编号、出版商、页码等信息,图书室包括图书室编号、所存图书(外键)。其中,图书室的表中不应该存储任何图书的具体信息(例如,出版商。),而只能通过主键图书编号来获得对应图书的信息。

( 4 )  BC  范式(  BCNF  ):所有非主属性对每一个码都是完全函数依赖;所有的主属性对于每一个不包含它的码,也是完全函数依赖;没有任何属性完全函数依赖于非码的任意一个组合。 如果说关系模式 R 属于  3NF  ,不一定属于  BCNF  ,如果  R  属于  BCNF  ,则一定属于  3NF  。

( 5 )第四范式(  4NF  ):对于每一个  X- 小于Y  , X  都能找到一个候选码( 若关系中的某一属性组的值能唯一地表示一个元组  ,  而其真子集不行  ,  则称该属性组为候选码)。题干中 “  ( 时间,教室  )  →培训科目   ”且“   培训科目 →培训师  ”,这之间存在传递依赖,不满足 3NF属于2NF  。

模式分解

模式分解就是将以前的关系模式R<U,F>分解成小的关系模式,所谓Fi在Ui上的投影,就是F+中的FD在Ui上成立(X→Y,X,Y∈Ui),对Ui做出规定,首先就是所有Ui的∪组成整个属性集U,其次就是不存在Ui是Uj子集的这种情况。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值