【数据库篇】关系模式的表示——(1)问题的提出

1、关系模式的表示 

R:表示关系的名字比如:sc选课表,student学生表。

U:表示一个关系模式的所有属性,比如student表:U(sno,sname,sage,ssex)。

D:表示属性的取值范围比如:性别的取值范围为“男”或“女”。

DOM:表示属性到取值范围的依赖。

F:为属性U上的一组数据依赖。

比如:知道学号sno可以推测出sname,sage,ssex。

 2、数据依赖

比如:学号sno可以推测出sname,sage,ssex。

这就是一种数据依赖。

sname函数依赖于sno。

sage函数依赖与sno。

ssex函数依赖于sno。

3、函数依赖在现实生活中的体现

【例】描述一个学生关系,可以有学号、姓名、系名等属性。

一个学号只对应一个学生,一个学生只在一个系中学习,学号确定之后学生所在的系的值就被唯一确定。

Sno函数决定Sname,Sno函数决定Sdept。

sno -> Sname,Sno -> Sdept。

4、数据依赖存在的问题

比如一个选课表:

U(sno,cno,sdept,mname,grade) 

sno:学号,cno:课号,sdept:系名,mname:系主任名,grade:学生成绩

(1)数据冗余

        浪费大量储存空间,每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。

(2)更新异常

        数据冗余,更新的时候。维护数据完整性代价太大。如果某系更换系主任后,必须更改与该系学生有关的每一个元组,否则会出现数据不一致的异常。

(3)插入异常

        如果一个系刚成立,尚无学生,则无法把这个系及其系主任的信息存入数据库。

(4)删除异常

        如果某个系的学生毕业了,则删除该系学生信息的同时,把这个系及其主任信息也丢掉了。

5、函数依赖的解决方式

        把单一的模式分为多个关系模式,使得每个模式只存在一个函数依赖。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只大黄猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值