数据库表设计(一对多,多对多)

做一个项目,必然是少不了数据库设计的!在学习阶段,基本都是单表。然而在实际开发过程中,一对多,多对多的表处处都是!简单整理一下,一对多,多对多表如何设计整理一下思路:

数据库实体间有三种对应关系:一对一,一对多,多对多。

一对一关系示例:

    一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。

一对多关系示例:

    一个学生只属于一个班,但是一个班级有多名学生。

多对多关系示例:

    一个学生可以选择多门课,一门课也有多名学生。

1.一对多关系处理:

通过学生和班级问题了解一对多:

设计数据库表:只需在 学生表 中多添加一个班级号的ID;

注:在数据库中表中初学时,还是通过添加主外键约束,避免删除数据时造成数据混乱!

2.多对多关系处理:

通过学生选课了解多对多问题的处理:

在多对多中在一个表中添加一个字段就行不通了,所以处理多对多表问题时,就要考虑建立关系表了

例:

学生表: 课程表: 关系表:

注:所以对于多对多表,通过关系表就建立起了两张表的联系!多对多表时建立主外键后,要先删除约束表内容再删除主表内容

做一个项目,必然是少不了数据库设计的!在学习阶段,基本都是单表。然而在实际开发过程中,一对多,多对多的表处处都是!简单整理一下,一对多,多对多表如何设计整理一下思路: 数据库实体间有三种对应关系:一对一,一对多,多对多。 一对一关系示例: 一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例: 一个学生只属于一个班,但是一个班级有多名学生。 多对多关系示例: 一个学生可以选择多门课,一门课也有多名学生。 1.一对多关系处理: 通过学生和班级问题了解一对多: 设计数据库表:只需在 学生表 中多添加一个班级号的ID; 注:在数据库中表中初学时,还是通过添加主外键约束,避免删除数据时造成数据混乱! 2.多对多关系处理: 通过学生选课了解多对多问题的处理: 在多对多中在一个表中添加一个字段就行不通了,所以处理多对多表问题时,就要考虑建立关系表了 例: 学生表: 课程表: 关系表: 注:所以对于多对多表,通过关系表就建立起了两张表的联系!多对多表时建立主外键后,要先删除约束表内容再删除主表内容
经验分享 程序员 微信小程序 职场和发展