一表解决数据库1-N关系添加外键问题

开门见山,目前的数据关系图有ER图和MERISE图等等,一般英美用ER的多,欧洲用MERISE的多,我先简单介绍一下

ER图

如下,表示一个老师上N门课,一门课只能被一个老师上
在这里插入图片描述

MERISE图

如下,表示老师一个老师对应1~n门课,一门课对应1个老师
在这里插入图片描述
那么我们应该把外键加在课程的地方,也就是ER的N处,MERISE的1处,为什么呢?我用MERISE列表举例

在这里插入图片描述
当插入一个上课关系时(谁上什么课),我们添加外键就是在已经有一方的条件下插入这个关系。
比如说,在“老师”表中插入外键,其实“谁上课”这个答案已经有了,因为“老师”表中每行都可以唯一确定一个老师,但是“上什么课”是不知道的,所以每当多了一个联系,就要多加一行,因为某个老师“上什么课”有n个选择呢,所以就会造成数据冗余。
而在“课”表中插入时,“上什么课”是知道的,现在只要知道是谁上的,而一个课唯一对应一个老师,所以可以看到其他行是没有信息冗余的。

所以这样可以保证冗余信息最少,结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值