Craft6数据库设计教程物理模型设计模式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、实体分割模式(一对一)针对实体表进行字段分割处理。一般是将一张字段较多的实体表如产品实体、订单实体等,将若干字段分割出来,独立设计一张一对一从表。原则是:当查询实体集合时,一般不会用到的字段可以进行分割,如统计,详细描述等。基于主体进行一对一形式的分割。如:产品是主表,产品统计是从表。这些字段原先是设计在主表的,为了优化分割到从表中。从表可以设计外键,也可以不设计,一般为一对一联系,即从表的主键值为主表的主键值。二、继承扩展模式(一对一)继承扩展同样是一对一的形式,但是业务上和主从扩展不一样。继承扩展适合抽象实体和具体实体的扩展。比如抽象实体参与者和具体实体员工、组织、职位等的关联关系。设计时,可以将子表的主键设置为,既是主键又是外键。三、主从扩展模式(一对多)这种是最为常见的模式,即主表和从表是一对多关系。比如对于论坛系统,帖子和回复,则是明显的主从扩展模式。表示一张帖子可以有N个回复。设计是,从表是外键关联主表,一般外键字段设置为非空,级联约束则根据实际需要而设置,如级联删除。四、多对多转换当两个实体或多个实体之间存在多对多关联时,实际设计数据库是设计一张多对多联系表,该表有独立的主键,但是外键关联各个实体表。这张表就是将实体之间的多对多联系转换为一对多联系。对于数据库范式,两个实体的多对多联系转换为两张一对多表是符合范式要求的,但对于多个实体的公共的多对多联系转换为一张公共的联系表(超过2个外键),则不符合第五范式,并且这样设计也容易混乱,所以这种情况会对实体两两分别设计一对多联系表。即将下图的左边的联系改成右边的联系结构。五、实体属性值扩展(EAV)如果要对一个实体进行信息扩展,可以增加一些字段,但这样在系统运营时,则比较麻烦。需要修改数据表,修改代码等。所以对于一些非核心属性,如描述性的信息,可以通过实体属性值扩展模式处理,即EAV模型。此模式可以参考笔者分享的方案《Craft6.cn电商研发方案——EAV实体属性值模型分析和设计》

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功