关于弱实体的浅谈

直上干货:

      弱实体和强实体的区别是什么呢?

      强实体指的是在这个关系中(比如说银行系统中),用户这个实体 是强实体;为什么?因为不论为啥,银行总要有用户,用户不依赖于其他实体而存在;

      相对而言,弱实体就有些弱势了,他需要----依靠!

为什么他需要依靠?
举个例子,在一个订单(一张表)中,有:当日订单号、物品编号、数量(假设订单号每天都从1开始)
那么有个问题,昨天和今天完全可能出现一行数据一模一样的出现
1   花生  5(昨天的)
1   花生  5(今天的)
就区别不开了对不对,(在讲解的时候,我们用时间把他们俩区别开),所以我们要和  时间有关的某项属性  作为主码  的表  联系在一起,利用时间来唯一标志我们的两张订单。


如果我们加上一个总的订单号,如 20180821 和 20180822,如果加上这个,那么我们就可以确定某一天的某一单的具体内容,我们就能唯一的标志出来而不会重复。
那么问题来了,这个总的订单号哪里来?如果是你设计,你会把这个从哪里拉过来给这个弱实体使用?


假设有多个小工,每个人负责一天(一个天就是一个总的订单号),这就是一张新的表(小工ID,负责的订单号【谁做主码都可以】)
我把这个表的主码(订单号)拉过来帮助订单表完成唯一识别的任务。
订单表就是依赖于这个新表,而且没他还不行(因为没有就不能唯一标识了),所以他就很弱,要依靠。


  • 那么弱实体一般有什么特点呢?
    1. 依靠,没别人 我不能唯一标识我table里面的一行(也叫  元组)
    2. 没主码(只有  部分码   partial key【附上英文】)
    3. 在和所依附的实体集的联系中,要弱实体要全部参与(上面那个订单为例,想想也是,没有总的订单号怎么唯一识别我的订单呢)
  • 希望能帮到大家,欢迎大家提出自己的看法和观点,共同思考。

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值