当前位置:Gxlcms > mysql > DB父子vs.OO父子(技术)

DB父子vs.OO父子(技术)

时间:2021-07-01 10:21:17 帮助过:29人阅读

引子 主键外键-父表子表再认识 一个联系信息的概念的分类例子: 用户的联系信息1 用户的目标对象(收货人)的联系信息2 厂商的联系信息1 经销商的联系信息1 经销商店铺联系信息2 由以上的信息可得,联系信息需求分为两大类: 与业务实体成一对一关系的,联系信

引子
主键外键-父表子表再认识

一个联系信息的概念的分类例子:
• 用户的联系信息1
• 用户的目标对象(收货人)的联系信息2
• 厂商的联系信息1
• 经销商的联系信息1
• 经销商店铺联系信息2

由以上的信息可得,联系信息需求分为两大类:

  1. 与业务实体成一对一关系的,联系信息ID以外键关系置入业务对象的。如用户、厂商和经销商自身 的信息;
  2. 用户、厂商和经销商等业务对象所需要的与他有业务关系多个联系人信息。用户的收货人信息和经 销商的店铺的联系信息。

分析

我的联系信息是我的个人属性,它竟然是我的“父”?对吗?
很明显,关系数据库里的父子关系概念与OO的父子类概念是不一样的。
很有趣的是,关系数据库集中关注的是对象间的横向“关系”,几乎没有纵向关系的表达;而OO则相反,继承多态都是纵向关系的表达。当然横向关系也可以表 达,好像表达得不太自然。
因此,关系数据库的“父子”不等于OO的“父子”。
横向“关系”的父是更基本的元素,元素粒度越小,元素越“长”越“老”。关系系数为一,只有主键;
横向“关系”的子是二次元素,元素内有父元素的组成部分;关系系数为多。一定有外键。

人气教程排行