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

数据库设计模式-主扩展模式

阅读更多

(一)主扩展模式
主扩展模式,通常用来将几个相似的对象的共有属性抽取出来,形成一个“公共属性表”;其余属性则分别形成“专有属性表”,且“公共属性表”与“专有属性表”都是“一对一”的关系。
“专有属性表”可以看作是对“公共属性表”的扩展,两者合在一起就是对一个特定对象的完整描述,故此得名“主扩展模式”。
举例如下(注:这个例子已经作了相当程度的简化,仅仅是用来帮助大家理解“主扩展模式”这个概念来使用的,请大家注意)。
假设某公司包括如下6种类型的工作人员:采购员、营销员、库房管理员、收银员、财务人员和咨询专家,采用主扩展模式进行设计,如下图所示。
图1
无论哪种类型的工作人员,都要访问公司的办公软件,所以都有“登陆代码”和“登录密码”;并且作为一般属性,“姓名”、“性别”、“身份证号”、“入职时间”、“离职时间”等属性,都与个人所从事的工作岗位无关,所以可以抽取出来作为公共属性,创建“公司员工”表。
很显然,公司委派员工采购哪些商品是“采购员”的专有属性,这是由公司的实际业务特点决定的。换句话说,公司不可能把采购任务放到“营销员”身上,也不可能放到“库房管理员”身上,“采购商品”属性就是“采购员”的专用属性。
“采购员”表的主键与“公司员工”表的主键是相同的,包括字段名称和字段的实际取值;“采购员”表的主键同时是“公司员工”表主键的外键。在PDM图里可以看到“采购员”表中的“员工ID”字段后面有一个“<pk,fk>”标记,这个标记就说明“员工ID”字段既是“采购员”表的主键,同时也是该表的外键。
“公司员工”表是主表,“采购员”表是扩展表,二者是“一对一”的关系,两个表的字段合起来就是对“采购员”这个对象的完整说明。同理,“公司员工”表和其他5个表之间也都分别构成了“一对一”的关系。
对于主表来说,从表既可以没有记录,也可以有唯一一条记录来对主表进行扩展说明,这就是“主扩展模式”。

 

分享到:
评论

相关推荐

    数据库设计文档 --软件开发中数据库设计

    数据库设计是软件开发过程中的关键环节,它直接影响到系统的性能、稳定性和可扩展性。一个良好的数据库设计文档能够清晰地阐述系统数据结构、业务规则以及数据间的关联,从而为开发团队提供准确的指导。以下是对...

    设计模式--抽象工厂模式实现多数据库连接

    抽象工厂模式是设计模式中的一种创建型模式,它提供了一个创建对象族的接口,而无需指定它们的具体类。在.NET开发中,这种模式常用于实现多数据库连接,比如连接到MySQL、SQL Server或Oracle等不同的数据库系统。...

    数据库设计指南-60个设计技巧-pdf.rar_数据库设计

    数据库设计是信息系统开发的核心环节,它直接影响到系统的性能、可扩展性和数据一致性。以下是对这份指南中可能涵盖的一些关键知识点的详细解读: 1. **关系数据库理论**:首先,指南可能会介绍关系模型的基础,...

    数据库设计指南-60个设计技巧

    18. **数据库设计模式**:学习和应用常见的数据库设计模式,如星型、雪花型和星座模型。 19. **大数据与NoSQL**:理解非关系型数据库(如MongoDB、Cassandra)的设计原理,适用于处理大规模、高并发的数据场景。 ...

    数据库系统---数据库设计.pdf

    数据库设计是信息系统开发的核心环节,它确保数据的准确、高效和安全存储。本文主要探讨了两种常见的数据库设计方法:基于直观设计法和基于规范设计法,特别是后者中的基于第三范式(3NF)的设计方法。 直观设计法...

    数据库课程设计-工程项目管理(功能简单适合新手)

    这将涉及到数据库设计的范式理论,如第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及BCNF(Boyce-Codd范式)等,确保数据的规范化,减少数据冗余和提高数据一致性。 在实现这些功能时,你可能会用到JDBC...

    数据库-原理-及应用-数据库设计(与“数据库”有关文档共74张).pptx

    【数据库设计概述】 数据库设计是构建数据库及其应用系统的...通过这些方法,数据库设计师可以系统地解决数据组织、数据访问和数据管理的问题,确保数据库系统的性能、可靠性和可扩展性,以满足不同应用场景的需求。

    数据库课程设计--具体工作流程及具体要求

    数据库课程设计是一个系统性的工程,主要分为四个阶段:需求分析阶段、概念设计阶段、逻辑设计阶段和物理设计阶段。...同时,整个设计过程应遵循数据库设计的最佳实践,确保系统具有良好的扩展性和可维护性。

    浅谈数据库设计技巧-程序员应该读的

    数据库设计是软件开发过程中的关键环节,尤其是在大数据和云计算时代,高效、稳定、灵活的数据库设计对于系统的性能、可扩展性和数据安全性具有决定性影响。本文将深入探讨数据库设计的一些重要技巧,帮助程序员提升...

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

    主扩展模式是一种常见的数据库设计模式,用于将几个相似的对象的共有属性抽取出来,形成一个“公共属性表”,其余属性则分别形成“专有属性表”。这种模式通常用于描述具有共同属性的多种对象,例如公司员工的基本...

    C#语法,数据库实例,设计模式----学习C#的必备资料,一应俱全!

    理解并熟练应用这些设计模式,能够提高代码的可读性、可维护性和可扩展性。 这个资料包中的"C#设计模式"部分可能会详细讲解上述设计模式的实现和应用场景,帮助你理解和运用这些模式。"C#数据库实例"则可能通过实际...

    数据库课程设计-学生考研信息管理系统的数据库设计.doc

    7. 数据库设计模式:包括星形模式、雪花模式和星星模式等,用于描述数据库的设计结构和模式。 8. 数据库安全:包括身份验证、访问控制和数据加密等,旨在保护数据库的安全和隐私。 9. 数据库性能优化:包括数据库...

    最新数据库课程设计--仓库管理系统.doc

    本课程设计旨在让学生深入理解数据库在实际业务场景中的应用,提升数据库设计与实现能力。 1. **概述** 在仓库管理系统中,数据库扮演着至关重要的角色,它存储并管理所有与仓库操作相关的数据,如零件信息、库房...

    数据库课程设计-医院管理系统.zip

    在JavaWeb方面,该项目可能使用了Servlet、JSP(JavaServer Pages)以及MVC(Model-View-Controller)设计模式。Servlet是Java服务器端编程的基础,用于处理HTTP请求并生成响应。JSP则常用于动态生成HTML页面,与...

    数据库的几种设计模式

    ### 数据库设计模式详解 #### 一、主扩展模式 主扩展模式是一种高效的数据库设计方法,主要用于处理具有共同属性但又有特有属性的对象集合。这种模式通过将对象间的共有属性提取到一个统一的表中(公共属性表),...

    北邮数据库实验四-数据库模式的设计.doc

    本次北邮数据库实验四的主题是“数据库模式的设计”,主要目的是让学生掌握数据库设计的基本过程,包括从需求分析到E-R图的构建,再到逻辑模式和物理模式的转换,以及最终在数据库中实现表和视图。实验旨在深化对E-R...

    18726+数据库应用技术---SQL+Server+2005篇(第2版)---电子教案

    2. **数据库设计**:包括数据库的概念设计、逻辑设计和物理设计。概念设计通常使用ER(实体-关系)模型,逻辑设计涉及关系模式的创建,而物理设计关注存储结构和索引优化。 3. **SQL Server 2005架构**:理解SQL ...

    北邮数据库实验四-数据库模式的设计.docx

    【数据库模式设计】是数据库设计的关键环节,它涉及到如何将现实世界的数据模型抽象化,以适应计算机系统的存储和处理。本实验是北京邮电大学数据库课程的一个实践环节,旨在让学生深入理解和掌握数据库模式的设计...

    html数据库的设计-数据库设计的六个阶段是什么.pdf

    数据库设计是IT领域中至关重要的一个环节,它涉及到构建高效、稳定、满足用户需求的数据存储系统。本教程主要探讨了数据库设计的六个阶段,适用于HTML数据库或其他类型的数据库设计。以下是这些阶段的详细解释: 1....

Global site tag (gtag.js) - Google Analytics