建表原则

Posted peng19920430

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建表原则相关的知识,希望对你有一定的参考价值。

一、表关系的分析

数据库中多表之间存在着三种关系,也就是系统设计中的三种实体关系。如图所示:

技术图片

从图中可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系。在数据库中。实体表之间的关系映射是采用外键来描述的,具体如下。

二、表与表的三种关系

【一对多】

建表原则:再多的一方创建外键指向一的一方的主键:

技术图片

【多对多】

建表原则:创建一个中间表,中间表中至少两个字段作为外键分别指向多对多双方的主键

技术图片

【一对一】

建表原则有两种:

一种:唯一外键对应:假设一对一中的任意的一方为多,在多的一方创建外键指向一的一方的主键,然后将外键设置为唯一。

技术图片

二种:主键对应:一方的主键作为另一方的主键。

 技术图片

数据库表能够描述的实体数据之间的关系,通过对象也可以进行描述, 所谓的关联映射就是将关联关系映射到数据库里, 在对象模型中就是一个或多个引用。 如何采用ava对象关系来描述数据表之间的关系, 具体如图所示。

技术图片

从图可以看出, 通过一对一的关系就是在本类中定义对方类型的对象, 如A中定义B类类型的属性b,B类中定义A类类型的属性a;一对多的关系,图中描述的是一个A对应多个B类类型的情况,需要在A类中以Set集合的方式引入B类型的对象,在B类中定义A类类型的属性a;多对多的关系,在A类中定义B类类型的Set集合,在B类中定义A类类型的Set集合,这里用Set集合的目的是避免了数据的重复。

以上就是系统模型中实体设计的三种关联关系,一对一的关联关系在开发中不常使用,了解即可。

 

以上是关于建表原则的主要内容,如果未能解决你的问题,请参考以下文章

数据库建表原则

定义外键和建表原则

mysql多表之间的关系及其建表原则

MySQL高级:掌握表关系及建表原则

小贝_mysql建表以及列属性

MySQL数据篇之多表操作-----保姆级教程