关于弱实体的浅谈

直上干货:

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

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

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

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


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


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


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

你可能感兴趣的:(关于弱实体的浅谈)