1.关系模式中可能存在的冗余和异常问题
数据冗余问题:指同一数据被反复存储的情况。
更新问题:数据元余造成的,多个内容更改使操作
错误
插入问题:想要插入数据,结构因为表设计的问题,导致不能成功插入
删除问题:只想删除其中的某些数据 ,结果把不该删的也删了
2.函数依赖:
数据的语义不仅表现为完整性约束,对关系模式的设计也提出了一定的要求。关系数据库的逻辑设计问题,一般为:应构造几个关系模式,每个关系模式由哪些属性组成等。
2.一些术语和符号
(1)如果X→Y,但Y不包含X,则称X→Y是非平凡的函数依赖
(2)如果Y不两数依赖于X,则记作X不→Y
(3)如果X一Y,则称下为决定因子。
(4) 如果X一Y,并且Y一X,则记作X→Y。
(5) 如果X→Y并且对于X的一个任意真子集X'都有X'不→Y则称Y完全函数依赖
(6)如果X → Y成立,并且对于X的某个真子集X‘有X’→Y成立,则称Y部分函数依赖于于X。
(7)如果X → Y(非平凡函数依赖,且 Y !→ X),Y → Z,则称Z传递函数依赖于X。
设有关系模式 SC (Sno. Sname, Cmo, Credit,Crade),其中各属性分别为号、姓名、课程号、学分和成绩,主键为(Sno,Cno),则有如下函数依赖:
Sno → Sname 姓名函数依赖于学号。
(Sno,Cno) → Sname 姓名部分函数依赖于学号和课程号。
(Sno,Cno) → Grade 成绩完全函数依赖于学号和课程号
关系模式S (Sno,Sname,Dept,Dept_master ),主码为Sno。
Sno → Sname 姓名完全函数依赖于学号。
Sno → Dept 所在系完全函数依赖于学号。
Dept → Dept_master 系主任完全函数依赖于所在系。
所以有:Sno → Dept_master 系主任传递函数依赖于学号。
Armstrong公理
1.自反律
2.增广律
3.传递律
Armstrong公理推论
合并规则
分解规则
伪传递规则
复合规则
3.闭包及候选键的求解方法
定义:在关系模式R(U,F)中,U是R的属性全集,F是R上的一组两数依赖,设X,Y是U的子集,对于关系模式R的任一关系r,如果r满足F,则r满足X-Y,那么称F逻辑蕴涵x-y,或称函数依赖x-y可由F导出。