要表示多对多关系,必须创建第三个表,该表通常称为联接表
,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。
举例1:学生-课程
-
学生信息表
:一行代表一个学生的信息(学号、姓名、手机号码、班级、系别...) -
课程信息表
:一行代表一个课程的信息(课程编号、授课老师、简介...) -
选课信息表
:一个学生可以选多门课,一门课可以被多个学生选择
学号 课程编号
1 1001
2 1001
1 1002
举例2:产品-订单
“订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来定义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。
-
产品表
:“产品”表中的每条记录表示一个产品。 -
订单表
:“订单”表中的每条记录表示一个订单。 -
订单明细表
:每个产品可以与“订单”表中的多条记录对应,即出现在多个订单中。一个订单可以与“产品”表中的多条记录对应,即包含多个产品。
-
举例3:用户-角色
-
多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。
标签:关系,多个,many,订单,课程,产品,表中 来源: https://blog.csdn.net/Leon_Jinhai_Sun/article/details/122379385
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。