数据建模与数据库设计

数据建模之思想与方法

E-R模型

给出了一组基本概念,用这组概念可以刻画信息世界
实体
属性:单一属性与复合属性,单值属性和多值属性,可空值属性和非空值属性,导出属性
联系:一元联系(当同一实体的不同实例参与一个联系时,为区别各实例参与联系的方式,需要显式指明其角色(role))、二元联系和多元联系。联系的基数有一对一、 一对多、多对多,完全参与联系、部分参与联系
关键字/码

Chen方法

在这里插入图片描述
1:1联系:箭头直线,由联系指向实体
1:m联系:指向1端为箭头直线,指向多端为无箭头直线
m:n联系:无箭头直线
完全参与联系:双直线
部分参与联系:单直线

E-R模型表达方法之Crow’s foot方法

在这里插入图片描述
在这里插入图片描述

数据建模之工程化方法及案例分析

IDEF1x是一种图示化数据建模方法,是一种工程化建模方法

独立实体:一个实体的实例都被唯一的标识而不决定于它与其他实体的联系
从属实体:一个实体的实例的唯一标识需要依赖于该实体与其他实体的联系
独立实体用直角方形框,从属实体用圆角方形框表示。实体用实体名/实体号标识
独立实体的主关键字没有外键,从属实体的主关键字含有外键。从属实体的实例依赖于独立实体实例存在而存在

关键字,被区分为主关键字和次关键字
在这里插入图片描述
外来关键字:是其他实体的关键字
在这里插入图片描述
标定联系:子实体的实例都是由它与父实体的联系而确定。父实体的主关键字是子实体主关键字的一部分。
非标定联系:子实体的实例能够被唯一标识而无需依赖与其实体的联系。父实体的主关键字不是子实体的主关键字。
在这里插入图片描述
非确定联系:即实体之间的多对多的联系。非确定联系必须分解为若干个一对多的联系来表达。非确定联系通过引入相交实体
(Intersection Entity)或者称相关实体(Associative Entity)来分解为若干个一对多的联系来表达。
确定性联系通过属性继承实现两实体之间的联系。非确定性联系通过引入相交实体实现两实体的联系。
在这里插入图片描述
分类联系:一个实体实例是由一个一般实体实例及多个分类实体实例构成的
一个一般实体是若干具体实体(分类实体)的类
分类实体与一般实体具有相同的主关键字
不同分类实体除具有一般实体特征外,各自还可能具有不同的属性特征
具体化(Specialization)
实体的实例集中,某些实例子集具有区别于该实例集内其它实例的特性,可以根据这些差异特性对该实例集进行分组/分类,这一分组/分类的过程称作具体化。自顶向下、逐步求精。
泛化(Generalization)
若干个实体根据共有的性质,可以合成一个较高层的实体。泛化是一个高层实体与若干个低层实体之间的包含关系。自底向上、逐步合成。
在这里插入图片描述
作用/角色(Role):当一个实体与其父实体有多种联系时,此时需使用“作用/角色”来区分每一种联系。
在这里插入图片描述

函数依赖及其公理/定理

函数依赖:设R(U)是属性集合U={A1,A2,…,An}上的一个关系模式,X,Y是U上的两个子集,若对R(U)的任意一个可能的关系r,r中不可能有两个元组满足在X中的属性值相等而在Y中的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,记作X->Y。

在R(U)中,若X->Y并且对于X的任何真子集X’都有X’不能函数决定Y,则称Y完全函数依赖于X,否则称Y部分函数依赖于X。

在R(U)中,若X->Y,Y->Z且Y不属于X,Z不属于Y, Z不属于X,Y不依赖于X,则称Z传递函数依赖于X。

设K为R(U)中的属性或属性组合,若U完全函数依赖于K,则称K为R(U)上的候选键(Candidate Key)。可任选一候选键作为R的主键(Primary Key);包含在任一候选键中的属性称主属性(Prime Attribute),其他属性称非主属性;若K是R的一个候选键,S包含K,则称S为R的一个超键(Super Key)。
外来键:若R(U)中的属性或属性组合X并非R的候选键,但X却是另一关系的候选键,则称X为R的外来键(Foreign Key),简称外键。

逻辑蕴涵:设F是关系模式R(U)中的一个函数依赖集合,X,Y是R的属性子集,如果从F中的函数依赖能够推导出X->Y,则称F逻辑蕴涵X->Y, 或称X->Y是F的逻辑蕴涵。
闭包:被F逻辑蕴涵的所有函数依赖集合称为F的闭包(Closure),记作 F+。
若F+ = F,则说F是一个全函数依赖族(函数依赖完备集)。

设R(U)是属性集U={A1,A2,…,An}上的一个关系模式,F为R(U)的一组函数依赖,记为R(U,F),则有如下规则成立:
[A1]自反律(Reflexivity rule):若Y属于X属于U,则X->Y被F逻辑蕴涵。
[A2]增广律(Augmentation rule):若X->Y属于F, 且Z属于U,则XZ ->YZ被F逻辑蕴涵。
[A3]传递律(Transtivity rule):若X->Y属于F,且Y->Z,则X->Z被F逻辑蕴涵。
引理:
合并律(Union Rule):若X->Y且X->Z,则X->YZ
伪传递律(Pseudo Transitivity):若X->Y且WY->Z,则XW->Z
分解律(Decomposition?Rule):若X->Y且Z属于Y,则X->Z。
如果 A1,A2,…,An是属性,则X->A1,A2,…,An当且仅当对每个Ai有X->A(1<= i<=n).

属性(集)闭包对R(U,F),X属于U,U={A1,A2,…,An},令:X+F ={Ai|用Armstrong Axiom A1,A2,A3可从F导出X->Ai }称X+F为X关于F的属性(集)闭包。注:显然X属于 X+F。
引理:
X->Y可从F由Armstrong Axiom导出,当且仅当Y属于 X+F 。

Armstrong Axiom A1,A2,A3是有效的和完备的。公理的完备性是指被F逻辑蕴涵的所有函数依赖都能由公理A1,A2,A3在F基础上推出。

覆盖(Cover)对R(U)上的两个函数依赖集合F、G,如果F+= G+,则称F和G是等价的,也称F覆盖G或者G覆盖F。
引理:F+ = G+ 、 F 属于 G+ 且 G 属于F+,可以相互推导。
在这里插入图片描述
每个函数依赖集F可被一个其右端至多有一个属性的函数依赖之集G覆盖。

最小覆盖
若F满足以下条件,则称F为最小覆盖(minimal Cover)或最小依赖集(minimal set of Functional Depandency):
1)F中每个函数依赖的右部是单个属性;
2)对任何X->A属于F,有F- {X->A}不等价于F;
3)对任何X->A属于F,Z属于X,(F-{X->A})并上{Z->A}不等价于F。
[定理]:每个函数依赖集F都有等价的最小覆盖F’

关系模式设计之规范形式

1NF
若关系模式R(U)中关系的每个分量都是不可分的数据项(值、原子),则称R(U)属于第一范式。1NF要求关系中不能有复合属性、多值属性及其组合。
2NF
若R(U)满足1NF且 U中的每一非主属性完全函数依赖于候选键,则称R(U)属于第二范式。第二范式消除了非主属性对候选键的部分依赖。
3NF
若R(U,F)满足2NF 且 R中不存在这样的情况:候选键X,属性组Y属于U和非主属性A,且A不属于X,A不属于Y,Y不依赖于X,Y不属于X,使得X->Y,Y->A成立。满足以上条件则称R(U)属于第三范式。第3范式消除了非主属性对侯选键的传递依赖。
BCNF
若R(U,F)属于1NF,若对于任何X->Y属于F(或X->A属于F),当Y属于X(或A不属于X)时,X必含有候选键,则称R(U)属于Boyce-Codd范式。
有不依赖于候选键的其他函数依赖不满足BCNF。

多值依赖
对R(U),设X,Y属于U,若对于R(U)的任一关系r,若元组t属于r,s属于r,t[X]=s[X],则必有u属于r,v属于r使得:
(1)u[X]=v[X]=t[X]=s[X]
(2)u[Y]=t[Y]且u[U-X-Y]=s[U-X-Y]
(3)v[Y]=s[Y]且v[U-X-Y]=t[U-X-Y]
均成立,则称Y多值依赖于X,或说X多值决定Y,记作X->->Y。
在这里插入图片描述
多值依赖的特性
1)直观地,对于X给定值,Y有一组值与之对应(0或n个)且这组Y值不以任何方式与U-X-Y中属性值相联系,有X->->Y。
2)若交换t,s的Y值而得到的新元组仍在r中,则X->->Y。
3)X,Y不必不相交,u,v可以与t,s相同。
4)函数依赖是多值依赖的特例。
5)令Z=U-X-Y,有X->->Z,若Z等于空,则必有X->->Y。
4NF
设 R(U)属于1NF, D是其上的一组依赖 (函数依赖,多值依赖 ),对任意X->->Y 属于D,若Y不等于空,Y不属于X,XY不等于U,必有X为超键,则称R(U)满足第四范式。第四范式消除了非主属性对候选键以外属性的多值依赖。如果有多值依赖,则一定依赖于候选键。
若R上仅存在函数依赖,则若有R属于BCNF即有R属于4NF,反之,若R属于4NF,也有 R属于BCNF。
W4NF
设 R(U)属于3NF, 若 R 上 的 任 何 互 补 多 值 依 赖 X->->Y(XY不等于U, Y-X不为空) 和X->->(R-X-Y)中必有一个是函数依赖,则称R是弱第四范式的。注:W4NF不一定是BCNF,反之亦然。

模式分解存在什么问题

模式分解
关系模式R(U)的分解是指用R的一组子集p={R1(U1),…,Rk(Uk)}来代替它。其中U= U1并 U2并…并 Uk;Ui=不等于 Uj (i不等于j)。
注:为便于后面叙述,我们用Ri 代替Ri(Ui), R代替R(U)。
对于关系模式R的任一关系r, 它向p的投影连接记为mp®:mp® = R1® jion … joinRk®

无损连接分解
对于关系模式R(U, F), U是属性全集,F是函数依赖集合,p={R1,…,Rk}是R的一个分解,如果对于R的任何满足函数依赖集F的关系r, 有
r= mp®, 则称p是R相对于F的一个无损连接分解。
在这里插入图片描述
保持依赖分解
对于关系模式R(U, F), U是属性全集,F是函数依赖集合,p={R1,…,Rk}是R的一个分解,如在派Ri(F)中的所有依赖之并集(i=1,…,k)逻辑蕴涵F的每个依赖,则称分解p保持依赖集F。其中派Ri(F)是F在Ri上的投影,即F中的任一投影X->Y,如果X, Y均包含于Ri ,则X->Y属于Ri(F)。Ri 指Ri的属性集。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
连接依赖
设R为一关系模式,p={ R1, … , Rn }为R的一个分解,若对R的任一关系r均有:rn目 = 派R1® 派R2® … 派Rn® , 则称R满足n目连接依赖,记为JD[ R1,…,Rn], 或记为n-JD。
5NF
当且仅当关系模式R的每个连接依赖均按其候选键进行连接运算时(均由R的候选键所隐含),则称R是第五范式的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值