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

原创
2016-06-07 15:25:23 935浏览

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

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

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

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

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

分析

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。