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