第九章第一次

  关系模式

 **一、关系模式设计的问题**
(1)数据冗余
一个表里面的数据的基本信息重复。
(2)数据更新
如果要更新某个同学的一项信息,不仅要修改他这一项,还要修改其他的值,使数据复杂化。
(3)数据插入
比如S-L-C表,有了sdept和sloc得值有了,因为没有招生,sno和cno为空,但他们又是主键,不能为空。
(4)数据删除
如果一个学生只选了一门课,之后又放弃了,然后需要删除他的选课记录。但他只选择了一门,所以在删除他的选课记录使也会删除它的其他信息。
**二、函数依赖**
(1)基本概念
x函数决定y,或者y函数依赖于x表示为:X→Y。
例如:
1、对学生关系模式student(sno,sname,sdept,sage)
sno→sname,sno→sdept,sno→sage
2、对学生选课关系模式sc(ano,cno,grade)
(sno,cno)→grade
(2)一些术语和符号
1、如果X→Y,但y不包含x,则称X→Y使费平凡得函数依赖。
2、如果y函数不依赖于x,则记作X\→Y。
3、如果X→Y,则称x为决定因子。
4、如果X→Y,并且Y→X,则记作X↔Y。
5、完全函数依赖:X→Y,且对于x得一个任意真子集x’都有X‘\→Y,则y完全函数依赖于x,记作X→f Y;如果成立X‘→Y,则y部分函数依赖于x,记作X→p Y。
6、如果X→ Y(非平凡函数依赖,并且Y\→X)、Y→Z,则Z传递函数依赖于X。
7、设k为关系模式R得一个属性或者属性组,若满足:
K→f  A1,K→f  A2,.....,K→f  An
则K为关系模式R得候选键(候选码)。称包含在候选键中得属性为主属性,不包含在任何候选码中的属性称为非主属性。
例如:
设有关系模式sc(sno,snae,cno,gredit,grade),其中各属性分别为:学号、课程号、姓名、学分和成绩,主键为(sno,cno),则
sno→sname      姓名函数依赖于学号
(sno,cno)→p  sname        姓名部分函数依赖于学号和课程号
(sno,cno)→f  grade           成绩完全函数依赖于学号和课程号
设有关系模式S(sno,sname,cno,gredit,Dept_master),其中学号、姓名、所在系、系主任(假设一个系只有一个主任)主键为sno,则
sno→sname                        姓名完全函数依赖于学号
由于有:
sno →f  sdept                        所在系完全函数依赖于学号
sdept →f   Dept_master            系主任完全函数依赖于所在系
因此:
sno →传递 Dept_master            系主任传递函数依赖于学号

一、Armstrong公理
1、自反律(reflexivity)
若Y\subseteqX\subseteqY,则X→ Y在R上成立,即一组属性函数决定它的所有子集。

例如:对关系模式sc(sno,sname,cno,gredit,grade),有

(sno,cno)→cno 和(sno,cno)→sno

(2)增广律

若X→ Y在 R上成立,且Z\subseteqU,则XZ→ YZ在R上也成立。

(3)传递律

若X→ Y和Y→ Z在 R上成立,则X→ Z在R上也成立。

 二、Armstrong公理推论

(1)合并规则

若X→ Y和X→ Z在 R上成立,则X→YZ在R上也成立。例如,对关系模式student(sno,sname,sdept,sage),有sno→(sname,sdept),sno→sage,则有sno→(sname,sdept,sage)成立。

(2)分解规则

若X→ Y 和Z\subseteqU在 R上成立,则X→ Y在R上也成立。

(3)伪传递规则

若X→ Y和YW→ Z在 R上成立,则XW→ Z在R上也成立。

(4)复合规则

若X→ Y和W→ Z在 R上成立,则XW→YZ在R上也成立。

例如,对关系模式sc(sno,snae,cno,gredit,grade),有:

sno→sname      和 cno→gredit  成立

则有:(sno,cno)→(sname,gredit)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值