Home  >  Article  >  Database  >  DB父子 vs. OO父子(技术)

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

WBOY
WBOYOriginal
2016-06-07 15:25:231264browse

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

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

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

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

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

分析

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn