首页 > 编程知识 正文

mysql设计表注意事项,数据库中主表和子表的概念

时间:2023-05-05 18:17:35 阅读:170287 作者:1908

关系数据库表和表之间通常存在三种关系。

一对一

多对一(如老师和学院)。

多对多(如老师和学生)。

分别就三种关系介绍数据库相关设计的思路和思考过程。

#一对一关系(少见) ) ) ) )。

创建父表和子表。 建议将数据量大的作为子表,以自己的id号作为主键,以父表的主键(id )作为外键。

#多对一关系

每个创建两个表,多表指向另一个表,并对多表施加外键约束。

例1 )每个教师只负责一门课的教学,一门课由几个教师教。 “教师”有属性。 员工编号、教师姓名、角色和“课程”具有属性。 课程号码、课程名称。

分析:从主题中可以看出,需要创建两个表:教师表和课程体系。 如果该关系是多对一的,则教师表指向子表,课程体系指向父表,教师表指向课程体系。

E-R图如下。 使用PowerDesigner15.1创建。

建议案文如下:

#多对多关系

ydm :选择一个表作为父表,另一个表作为子表,并在子表中添加外键。 建表文与例1相似,所以不多赘述。

在创建mhdnm个基本信息表的同时,使用两个id映射作为一个多列索引来创建表示两个表的数据关系的中间表。

例2 )一个产品由多个部件构成,也可以在一个部件上组装多个产品。 有产品编号和价格,零件有零件编号、重量和价格。

mhdnm :需要创建三个表: BOM表、产品表和关系表。

E-R图如下。

建议案文如下:

#总结

表中行中的信息由id (主键)标识,并且多个表之间的关系始终通过建立单个表的id映射来表示。 如果将此映射表包含在映射的表中,则可能会很简单(例如,多对一关系表); 如果很复杂,则需要单独提取。 例如,多对多关系表。 当然也可以不提取,但这样设计会产生很多冗余空间,占用硬盘。 分表节约空间,汇总表节约时间。 具体的表格应该如何设计归根到底取决于需求。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。