关系模式,函数依赖,范式

前端之家收集整理的这篇文章主要介绍了关系模式,函数依赖,范式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

关系数据库,关系数据库的基本结构是关系模式,比较好的关系模式集合,能有效控制数据库冗余,对数据库进行有效的管理。下面对关系模式的函数依赖,范式和模式设计方法进行分析。

知识点:关系模式,函数依赖,范式


关系模式

关系实质上是一张二维表,表的每一行数据为一个元组,每一列为一个属性

关系模式就是对关系的描述。记做R(U)或R(UF)

例如:关系模式RS#C#CNameName);

属性分别表示学号,课程号,课程名,任课教师姓名

函数依赖

表达了属性间的关系

定义:有属性UX,YU的子集,其关系模式R(U)X Y

分类

非平凡的函数依赖

Y不是X子集;X Y


平凡的函数依赖

YX子集;X Y

按性质分:

完全函数依赖

X`X真子集,X Y,但X`!→ YY完全依赖X


部分函数依赖

X`X真子集,X YX` YY部分依赖X



传递依赖

X YYZ,则X Z

码(键)

超键(super key)在关系中能唯一标识元组的属性集称为关系模式的超键

候选键(candidate key)不含有多余属性的超键称为候选键

主键(primary key)用户选作元组标识的一个候选键程序主键

外键(Foreign Key):在关系模式R中,如果某属性集是其他模式的候选键,那么该属性集对模式R来说就是外键

函数依赖的公理系统(Armstrong公理系统)

推理规则:从已知的FD,推导出另外的一些FD

A1(自反性):若YXU,则X Y

A2(增广性):若X Y,且ZU,则XZYZ

A3(传递性):同传递依赖

A1A2A3推导规则,以下规则都有上边三种规则通过组合变化导出,所以掌握了这三种,其它的规则不需要去记。

A4(合并性):若XYXZ,则XYZ

A5(分解性):若XYZY,则XZ

A6(伪传递性):若XYWYZ,则WXZ

A7(复合型):若XYWZ,则XWYZ

A8(通用一致性):XYWZ,则 X∪(W-Y)→YZ


范式

范式用来衡量关系模式的好坏

级别

特点

无损

@H_403_647@保持FD

1NF

属性值是原子值,不可再分

2NF

消除非主属性对键的部分函数依赖

ok

ok

3NF

消除非主属性对键的传递函数依赖

ok

ok

综合范式的要求,最终数据库的关系模式只存在非平凡函数依赖和完全函数依赖


属性和非主属性

不包含在任何一个候选码中的属性称为非主属性

非主属性是相对与主属性来定义的,是指关系中包含任何一个候选码中的属性

@H_403_647@例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性

猜你在找的设计模式相关文章