(四)多对多模式
多对多模式,也是比较常见的一种数据库设计模式,它所描述的两个对象不分主次、地位对等、互为一对多的关系。对于A表来说,一条记录对应着B表的多条记录,反过来对于B表来说,一条记录也对应着A表的多条记录,这种情况就是“多对多模式”。
“多对多模式”需要在A表和B表之间有一个关联表,这个关联表也是“多对多模式”的核心所在。根据关联表是否有独立的业务处理需求,可将其划分为两种细分情况。
1.
关联表有独立的业务处理需求。
举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“多对多模式”这个概念来使用的,请大家注意)。
比如网上书店,通常都会有“书目信息”和“批发单”。一条“书目信息”面对不同的购买
客户、可以存在多张“批发单”,反过来,一张“批发单”也可以批发多条书目,这就是多对多模式。中间的“批发单明细”表就是两者的关联表,具备独立的业务
处理需求,是一个业务实体对象,因此它具备一些特有的属性,比如针对每一条明细记录而言的“累计退货次数”、“累计退货数量”、“累计结算次数”、“累计
结算数量”;由于批发单明细在数据产生后已经打印出纸质清单提供给客户,因此在“批发单明细”表里对纸质清单中打印的书
目信息属性作了冗余(逆标准化),
这样在将来即使修改了“书目信息”表中的属性,也不会影响跟客户核对批发单明细,不会影响未来的财务结算业务。
2.
关联表没有独立的业务处理需求
举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“多对多模式”这个概念来使用的,请大家注意)。
比如用户与角色
之间的关系,一般系统在做权限控制方面的程序时都会涉及到“系统用户
表”和“系统角色表”。一个用户可以从属于多个角色,反过来一个角色里面也可以包含多个用户,两者也是典型的“多对多关系”。其中的关联表“用户角色关联
表”在绝大多数情况下都是仅仅用作表示用户与角色之间的关联关系,本身不具备独立的业务处理需求,所以也就没有什么特殊的属性。
分享到:
相关推荐
"模式识别第四版课后习题答案" 模式识别是人工智能和机器学习领域中一个非常重要的分支,它涉及到对数据的分析、分类和预测。模式识别第四版课后习题答案是基于 Sergios Theodoridis 和 Konstantinos Koutroumbas ...
模式识别是一门涉及计算机科学、统计学和信号处理等多领域的学科,主要研究如何让计算机系统自动地识别和分类不同的模式。第四版在原有的基础上可能更新了最新的研究成果和技术,使内容更加贴近当前科技发展。 该书...
中科院模式识别课件 内含第四章ppt和相应的word文档
在本文件中,我们关注的是由Sergios Theodoridis所著的《模式识别》(第四版)的课后题答案。该书是模式识别领域的经典教材,包含了丰富的理论知识和实践应用。 首先,文档提到了贝叶斯决策理论(Bayes Decision ...
本实验“东北大学四种设计模式实验”旨在帮助学生深入理解和掌握四种经典的设计模式:单例模式、组合模式、Builder模式以及装饰器模式,并通过实际应用,将这些模式应用于构建一个赌场系统,从而提升代码的可读性、...
通过对VDL模式的了解,我们可以更好地理解ACARS系统的工作原理和应用场景,从而更好地满足航空行业的需求。 知识点: 1. ACARS系统的主要特点是使用数字技术和新的通讯方式,以提高通讯的效率和可靠性。 2. VDL...
在 BIN 模式下,四则运算指令可以对带符号的单字或双字数据进行运算操作。 无标志位的减法运算是四则运算指令的一种,用于对带符号的单字或双字数据进行减法运算。在 OMRON CP1H 编程控制器中,无标志位的减法运算...
实验四的实践将帮助我们更好地理解工厂模式在实际开发中的应用,以及如何利用它来提高代码的可维护性和可扩展性。通过编写和运行这些代码,我们可以看到如何在不同的场景下选择合适的工厂模式,并体会其带来的好处。...
了解和掌握Activity的四种启动模式对于优化用户体验和应用性能至关重要。 1. **standard模式** 这是最常见的启动模式,也是默认模式。在standard模式下,每当用户通过意图(Intent)启动Activity时,系统都会创建...
以下是对标题“Java 多线程编程中的设计模式”以及描述“Java 多线程编程中的设计模式”的详细解析: ### 一、什么是设计模式? 设计模式是在软件工程中针对特定问题的一种通用解决方案,它不是具体的代码实现,...
设计模式在四则运算表达式中的应用 本文将探讨设计模式在四则运算表达式中的应用,设计一个完成数学运算的计算器,计算器要实现四则运算、三角运算、倒数、乘方/开方这些基本运算,并使用抽象语法树显示计算的过程...
《模式识别》第四版是由希腊学者Sergios Theodoridis和Konstantinos Koutroumbas共同编著的一本经典教材,深入探讨了模式识别这一关键的计算机科学领域。本书涵盖了从传统方法到现代深度学习的广泛理论和技术,是...
以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...
在GRPC中,服务端和客户端之间的交互主要有四种模式:简单请求(Unary Call)、服务器流(Server Streaming)、客户端流(Client Streaming)以及双向流(Bidirectional Streaming)。下面我们将详细探讨这四种模式...
本项目提供了对Android Activity四种启动模式的实例演示,让我们逐一深入理解这四种模式。 1. standard(标准模式) 这是Activity的默认启动模式。在standard模式下,每次启动一个Activity都会创建一个新的实例,...
《模式识别(第四版)上机实验》是一个关于统计学和机器学习的实践课程,旨在让学生深入理解模式识别的基本概念和方法。实验的核心是通过Matlab编程来处理二维随机数,涉及的主要知识点包括: 1. **多元正态分布**...