>  기사  >  데이터 베이스  >  DB父子 vs. OO父子(技术)

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

WBOY
WBOY원래의
2016-06-07 15:25:231306검색

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

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

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

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

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

分析

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.