美文网首页
【想法】实体多对多中间表的理解

【想法】实体多对多中间表的理解

作者: 桌面很乱 | 来源:发表于2019-07-21 00:46 被阅读0次

多对多这里用一个例子,比如科目和学生的关系,一个科目可以对应多个学生,一个学生可以对应多个科目。

中间表就是‘科目-学生’,怎么理解呢?

中间表‘科目-学生’相当于一种绑定关系,科目和学生这两个实体需要通过这个‘绑定关系’去拿到对应的学生和科目。就像遍历map时候用到的entrySet,是一种绑定关系(把key和value绑定的一种关系)。而一个map可以包含多个entrySet。

※科目中包含多个‘科目-学生’的绑定状态,用来找到这个科目所对应的多个学生----一对多
※学生中包含多个‘科目-学生’的绑定状态,用来找到这个学生所对应的多个科目----一对多

这样就成功把多对多的关系通过中间表转换为两个一对多。

这个中间表有时候具有实际意义,比如发票(一个用户对应多张发票,一张发票对应多个商品,发票是用户和商品的中间表),那么他还可以添加其他属性,比如id(独立的id或者联合主键),时间,抽奖码等等,不局限于只用来表达多对多。

相关文章

  • 【想法】实体多对多中间表的理解

    多对多这里用一个例子,比如科目和学生的关系,一个科目可以对应多个学生,一个学生可以对应多个科目。 中间表就是‘科目...

  • JavaWeb - Hibernate框架使用(三)

    表与表的关系 关键是维护关联属性 一对多|多对一 一对多(多对一): 数据表中: 客户表 ​ 联系人表 实体中...

  • 数据库设计规范概述

    关系 将实体与实体之间的关系,反应到表的设计上,将关系分成三种:一对一,一对多(多对一),多对多。所有的关系都是表...

  • python-Flask_SQLAlchemy(4)

    数据表多对多关系 [TOC] 多对多关系 多对多关系,需要通过一个中间表进行关联 中间表使用db.Table的方式...

  • MySQL数据库中的理论知识:表关系 和 范式

    MySQL表关系:一对一, 一对多, 多对多 关系 将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三...

  • Hibernate(三)

    1 多对多操作 1.1 多对多配置 与一对多时操作类似。 创建实体类用户和角色 实体类间相互表示(都用set集合表...

  • Java学习阶段六【web高级进阶】

    openJpa技术: JPA介绍及开发环境搭建、单表实体映射、一对多/多对一、一对一、多对多关联、实体继承、复合主...

  • Spring boot data JPA数据库映射关系:@Man

    多对多,用中间表关联,删除中间表的记录,不会对各方的表造成影响。 我们先来看一段例子 @ManyToMany(ca...

  • Hibernate中表与表的关系模板

    Hibernate中表与表的关系模板代码 一对多的关系 多对一关系 多对多关系 需要第三表来维护 模板实例 实体类...

  • @OneToMany注解的使用

    假设有两个表,订单表和产品表,订单跟产品的关系是一对多的关系,那么在JPA中怎样表示一对多的关系呢?实体关系一对多...

网友评论

      本文标题:【想法】实体多对多中间表的理解

      本文链接:https://www.haomeiwen.com/subject/bhwplctx.html