`
gstarwd
  • 浏览: 1512050 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

(四)多对多模式

阅读更多

(四)多对多模式

多对多模式,也是比较常见的一种数据库设计模式,它所描述的两个对象不分主次、地位对等、互为一对多的关系。对于A表来说,一条记录对应着B表的多条记录,反过来对于B表来说,一条记录也对应着A表的多条记录,这种情况就是“多对多模式”。
“多对多模式”需要在A表和B表之间有一个关联表,这个关联表也是“多对多模式”的核心所在。根据关联表是否有独立的业务处理需求,可将其划分为两种细分情况。
1.       关联表有独立的业务处理需求。
举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“多对多模式”这个概念来使用的,请大家注意)。
比如网上书店,通常都会有“书目信息”和“批发单”。一条“书目信息”面对不同的购买 客户、可以存在多张“批发单”,反过来,一张“批发单”也可以批发多条书目,这就是多对多模式。中间的“批发单明细”表就是两者的关联表,具备独立的业务 处理需求,是一个业务实体对象,因此它具备一些特有的属性,比如针对每一条明细记录而言的“累计退货次数”、“累计退货数量”、“累计结算次数”、“累计 结算数量”;由于批发单明细在数据产生后已经打印出纸质清单提供给客户,因此在“批发单明细”表里对纸质清单中打印的书
目信息属性作了冗余(逆标准化), 这样在将来即使修改了“书目信息”表中的属性,也不会影响跟客户核对批发单明细,不会影响未来的财务结算业务。
图5
2.       关联表没有独立的业务处理需求
举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“多对多模式”这个概念来使用的,请大家注意)。
比如用户与角色 之间的关系,一般系统在做权限控制方面的程序时都会涉及到“系统用户 表”和“系统角色表”。一个用户可以从属于多个角色,反过来一个角色里面也可以包含多个用户,两者也是典型的“多对多关系”。其中的关联表“用户角色关联 表”在绝大多数情况下都是仅仅用作表示用户与角色之间的关联关系,本身不具备独立的业务处理需求,所以也就没有什么特殊的属性。
图6
分享到:
评论

相关推荐

    模式识别第四版课后习题答案

    "模式识别第四版课后习题答案" 模式识别是人工智能和机器学习领域中一个非常重要的分支,它涉及到对数据的分析、分类和预测。模式识别第四版课后习题答案是基于 Sergios Theodoridis 和 Konstantinos Koutroumbas ...

    模式识别第四版答案(pattern recognition fourth edition solution)

    模式识别是一门涉及计算机科学、统计学和信号处理等多领域的学科,主要研究如何让计算机系统自动地识别和分类不同的模式。第四版在原有的基础上可能更新了最新的研究成果和技术,使内容更加贴近当前科技发展。 该书...

    中科院模式识别第四章

    中科院模式识别课件 内含第四章ppt和相应的word文档

    ACARS四种模式简介

    通过对VDL模式的了解,我们可以更好地理解ACARS系统的工作原理和应用场景,从而更好地满足航空行业的需求。 知识点: 1. ACARS系统的主要特点是使用数字技术和新的通讯方式,以提高通讯的效率和可靠性。 2. VDL...

    多模式匹配算法的性能分析

    ### 多模式匹配算法的性能分析 #### 一、引言 随着信息技术的发展,多模式匹配算法成为众多领域的关键技术之一,特别是在网络安全、文本检索、生物信息学等领域有着广泛的应用。多模式匹配算法的核心任务是在一个...

    OMRON CP1H 高级指令分析(四)四则运算指令(BIN模式)

    在 BIN 模式下,四则运算指令可以对带符号的单字或双字数据进行运算操作。 无标志位的减法运算是四则运算指令的一种,用于对带符号的单字或双字数据进行减法运算。在 OMRON CP1H 编程控制器中,无标志位的减法运算...

    实验四:工厂模式.rar

    实验四的实践将帮助我们更好地理解工厂模式在实际开发中的应用,以及如何利用它来提高代码的可维护性和可扩展性。通过编写和运行这些代码,我们可以看到如何在不同的场景下选择合适的工厂模式,并体会其带来的好处。...

    activity的四种启动模式

    了解和掌握Activity的四种启动模式对于优化用户体验和应用性能至关重要。 1. **standard模式** 这是最常见的启动模式,也是默认模式。在standard模式下,每当用户通过意图(Intent)启动Activity时,系统都会创建...

    Java 多线程编程中的设计模式~

    以下是对标题“Java 多线程编程中的设计模式”以及描述“Java 多线程编程中的设计模式”的详细解析: ### 一、什么是设计模式? 设计模式是在软件工程中针对特定问题的一种通用解决方案,它不是具体的代码实现,...

    设计模式,四则运算表达式

    设计模式在四则运算表达式中的应用 本文将探讨设计模式在四则运算表达式中的应用,设计一个完成数学运算的计算器,计算器要实现四则运算、三角运算、倒数、乘方/开方这些基本运算,并使用抽象语法树显示计算的过程...

    GRPC 四种模式(官方的demo)

    在GRPC中,服务端和客户端之间的交互主要有四种模式:简单请求(Unary Call)、服务器流(Server Streaming)、客户端流(Client Streaming)以及双向流(Bidirectional Streaming)。下面我们将详细探讨这四种模式...

    多模式匹配算法及硬件实现

    ### 多模式匹配算法及硬件实现 #### 一、引言 模式匹配是计算机科学中的一个基础性问题,在多个领域有着广泛的应用价值。随着互联网技术的发展,文本处理、网络安全、生物信息学等领域对于高效模式匹配的需求日益...

    android Activity 四种启动模式例子

    本项目提供了对Android Activity四种启动模式的实例演示,让我们逐一深入理解这四种模式。 1. standard(标准模式) 这是Activity的默认启动模式。在standard模式下,每次启动一个Activity都会创建一个新的实例,...

    东北大学四种设计模式实验

    本实验“东北大学四种设计模式实验”旨在帮助学生深入理解和掌握四种经典的设计模式:单例模式、组合模式、Builder模式以及装饰器模式,并通过实际应用,将这些模式应用于构建一个赌场系统,从而提升代码的可读性、...

    模式识别(第四版)上机实验

    《模式识别(第四版)上机实验》是一个关于统计学和机器学习的实践课程,旨在让学生深入理解模式识别的基本概念和方法。实验的核心是通过Matlab编程来处理二维随机数,涉及的主要知识点包括: 1. **多元正态分布**...

    Activity四种启动模式Demo

    本示例代码详细展示了Activity的四种启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop)。 1. 标准模式(Standard): 这是Activity的默认启动...

    数据库设计模式数据库设计模式数据库设计模式

    主从模式是一种常见的数据库设计模式,用于描述两个表之间的主从关系,是典型的一对多关系。例如,论坛程序中的板块和发帖、商品和订单等。 例如,某论坛程序中,一个板块可以有多个发帖,一个发帖可以有多个回复。...

Global site tag (gtag.js) - Google Analytics