关系数据库的规范化理论与数据库设计

本文详细介绍了关系数据库的规范化理论,包括数据冗余、更新异常等问题,以及函数依赖、多值依赖的概念。讨论了1NF、2NF、3NF、BCNF和4NF的范式,并阐述了模式分解及其在数据库设计中的应用。此外,还涵盖了数据库设计的六个阶段,强调了规范化理论在数据库设计过程中的重要性。
摘要由CSDN通过智能技术生成

关系数据库的规范化理论与数据库设计

第七章 关系数据库的规范化理论与数据库设计
1、“不好”的关系模式有以下4个问题:
a、数据冗余 b、更新异常 c、插入异常 d、删除异常

2、函数依赖
数据依赖中重要的是函数依赖和多值依赖
(1)函数依赖定义:设R(U)是属性集U上的一个关系模式,XY均为U的子集。若对于RU)的
任一个可能的关系r,r中不可能有两个元组在X中的属性值相等,而在Y中的属性值不等,那么称X
函数决定Y X->Y,Y函数依赖于XX为决定因素(函数中的一一映射关系)
(2)函数依赖包括非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖及传递函
数依赖
平凡函数依赖:
非平凡函数依赖: 如果 XY,但 YX, 则称 XY 是平凡的函数依赖
完全函数依赖: 在关系模式 RU)中,如果XY,并且对于 X 的任何一个真子集X’,都有
XY, 则称 Y 完全函数依赖于 X,记作:
部分函数依赖:XY,但Y不完全函数依赖于X,则称 Y 部分函数依赖于X,记作:
传递函数依赖: 在关系模式R(U)中,如果XY(Y ÍX)YX ,YZ,则称 Z 传递函数依赖于X(3) 函数依赖的逻辑蕴含
设RU, F>是一个关系模式,X可以由F推导出Y,则称F逻辑蕴含XY
(4)码:设 K 为关系模式 R<U,F>中的属性或属性组合。若 ,并且不存在K的真子集决定U,则 
K 称为 R 的一个侯选码(Candidate Key)。若关系模式 R 有多个候选码,则选定其中的一个做
为主码(Primary key)。
主属性与非主属性
全码(ALL KEY):主码为关系模式所有属性
如何找候选码:a.找出F集合的所有仅出现在左边的属性和左右两边都没出现的属性,组合为U1,
U1必包含在候选码中;b.如果U1->U,则U1为一个候选码,否则然后增加其他属性到U1中组成属性
组K,使K->U,则K为候选码,再找出其他候选码
(5)函数依赖的公理系统
a.自反律:若Y ÍX Í U,X-> YF所逻辑蕴含。
b.增广律:若X->YF所逻辑蕴含,且Z Í U,则XZ->YZ为F所逻辑蕴含。
c.传递律:若X- >YY->ZF所逻辑蕴含,则X->ZF所逻辑蕴含。
推论
合并规则:X->Y,X->Z,X->YZ
伪传递规则:X->Y,WY->Z,则XW->Z
分解规则:X->YZÍY,X->Z

31NF、2NF,3NF,BCNF
(1)1NF: 1NF的模式是关系数据库的最基本要求
如果关系模式R的所有属性都是不可再分解的,则称R属于第一范式,简称1NF,记做R1NF。
(2) 2NF:R∈ INF,且每一个非主属性完全函数依赖于码,则R2NF
(3) 3NF: 关系模式R2NF,且每个非主属性都不传递依赖于码,则R3NF
(4) BCNF: 若关系模式R1NF,且对于每个非平凡的函数依赖X-> Y都有X包含码,则R ∈BCNF。在函数依赖的范围内,BCNF达到了最高的规范化程度。

4、多值依赖和4NF
(1)多值依赖:设R(U)是一个属性集U上的一个关系模式, XYZU的子集,并且ZUXY,多值依赖 X→→Y成立当且仅当对R的任一关系r,r在(XZ)上的每个值对应一组Y的值,这
组值仅仅决定于X值而与Z值无关。
平凡多值依赖和非平凡的多值依赖
若X→→Y,而Z=φ,则称 X→→Y为平凡的多值依赖, 否则称X→→Y为非平凡的多值依赖
特性:a.多值依赖具有对称性 若X→→Y,则X→→Z,其中ZUXY
b.函数依赖是多值依赖的特殊情况。若XY,则X→→Y。
c. 若函数依赖XYRU)上成立,则对于任何Y’ Ì Y均有XY’ 成立
多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y’ Ì YX→→Y’ 成立
d. 多值依赖的有效性与属性集的范围有关.X→→YU上成立,则在WX YÍWÍ U)上一定成立;反之则不然,即X→→YWW ÌU)上成立,在U上并不一定成立.
(2)4NF关系模式R<UF>1NF,如果对于R的每个非平凡多值依赖X→→YY Í X),X都含有候选
码,则R4NF。
根据定义:不允许有非平凡且非函数依赖的多值依赖,X包含码,即X->Y,实际就是函数依赖
如果R4NF, 则R ∈ BCNF

5、关系模式分解
常用的等价标准有要求分解具有无损连接性的和分解是保持函数依赖的两种。
关于模式分解的几个事实
(1)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。
(2)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF。
(3)若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNF。
(4)若要求分解既具有无损连接性,又保持函数数依赖,则模式分解可以达到3NF,但不一定能达
到BCNF

6、数据库的分析与设计
(1)数据库设计的6个阶段:需求阶段、概念结构阶段、逻辑结构设计、物理结构设计、数据库实
施、运行维护
(2)设计概念结构通常有4类方法:自顶向下、自底向上、由里向外和混合策略。
E-R模型为工具来描述概念结构。最常用的设计策略是自底向上设计策略
E-R方法的步骤
a.设计局部E-R图 b.设计全局E-R图 解决属性冲突、结构冲突、命名冲突 c.全局E-R图的优化
(3) 逻辑结构设计
E-R模型向关系模型转换: a.实体转换为关系,属性转换为关系的属性,实体码转换为关系的码
b.11的联系,可以转换为一个关系,也可以与联系的任意一端实体关系模式合并
c.1:n的联系可以转换为一个独立关系(属性为1端和n端实体的码和联系本身属性)(码为n端实体
码),也可以与联系的n端实体关系模式合并(加入1端实体码)
d.m:n联系转换为一个关系模式(码为各实体码组合)
e.3个或3个以上的多元联系转换为一个关系模式,模式的码由联系的实体码组成。

7、物理结构设计
(1)存储记录的格式设计:记录的垂直分割法、记录的水平分割法。
(2)存储方法设计:顺序存放、散列存放和聚簇存放。
(3)存取方法设计:索引是一种非常重要的存取路径(建立在经常查询和连接的属性组上)

8、规范化理论是数据库设计的理论基础,可以应用到数据库设计的不同阶段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CaoPengCheng&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值