关系数据库,关系数据库的基本结构是关系模式,比较好的关系模式集合,能有效控制数据库冗余,对数据库进行有效的管理。下面对关系模式的函数依赖,范式和模式设计方法进行分析。
知识点:关系模式,函数依赖,范式
关系模式
关系实质上是一张二维表,表的每一行数据为一个元组,每一列为一个属性。
关系模式就是对关系的描述。记做R(U)或R(U,F)。
例如:关系模式R(S#,C#,CName,Name);
其属性分别表示学号,课程号,课程名,任课教师姓名
函数依赖
表达了属性间的关系
定义:有属性集U,X,Y是U的子集,其关系模式R(U),X→ Y
分类:
非平凡的函数依赖
Y不是X子集;X→ Y
平凡的函数依赖
Y是X子集;X→ Y
按性质分:
完全函数依赖
X`是X真子集,X→ Y,但X`!→ Y,Y完全依赖X
部分函数依赖
X`是X真子集,X→ Y,X`→ Y,Y部分依赖X
传递依赖
X→ Y,Y→Z,则X→ Z
码(键)
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
外键(Foreign Key):在关系模式R中,如果某属性集是其他模式的候选键,那么该属性集对模式R来说就是外键
函数依赖的公理系统(Armstrong公理系统)
推理规则:从已知的FD,推导出另外的一些FD
A1(自反性):若Y⊆X⊆U,则X→ Y
A2(增广性):若X→ Y,且Z⊆U,则XZ→YZ
A3(传递性):同传递依赖
由A1,A2,A3推导规则,以下规则都有上边三种规则通过组合变化导出,所以掌握了这三种,其它的规则不需要去记。
A4(合并性):若X→Y,X→Z,则X→YZ;
A5(分解性):若X→Y,Z→Y,则X→Z
A6(伪传递性):若X→Y,WY→Z,则WX→Z
A7(复合型):若X→Y,W→Z,则XW→YZ
A8(通用一致性):X→Y,W→Z,则 X∪(W-Y)→YZ
范式
范式用来衡量关系模式的好坏
综合范式的要求,最终数据库的关系模式只存在非平凡函数依赖和完全函数依赖
非主属性是相对与主属性来定义的,是指关系中包含任何一个候选码中的属性。
例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性。
原文链接:https://www.f2er.com/javaschema/285969.html