概念数据模型设计讲解
- 格式:doc
- 大小:2.33 MB
- 文档页数:17
数据库设计概念模型
数据库设计的概念模型是指在进行数据库设计之前,通过需求分析和数据分析,将现实世界中的实体、属性、关系和约束等抽象成一种表示方式,用于描述和体现问题领域的关键概念和关系,并形成一个高层次的逻辑模型。
概念模型的主要目的是确保设计的数据库能够满足用户的需求,并能够正确地反映问题领域的本质特征。
它通常是以实体-属
性-关系(Entity-Attribute-Relationship,EAR)模型为基础,
通过实体、属性和关系之间的联系来描述问题领域的各个方面。
在概念模型中,实体代表问题领域中的具体对象或概念,属性代表实体拥有的特征或属性,关系是实体之间的相互关系和依赖。
此外,还可以通过实体类型、属性类型、关系类型等概念来对模型进行进一步的细化和约束。
概念模型通常以图形化方式进行表示,常用的图形符号包括实体框(表示实体)、属性(表示实体的特征)、关系线(表示实体之间的关系)等。
通过这些图形符号,可以清晰地描述问题领域的实体、属性和关系,并能够形成一个简洁而有效的数据库设计方案。
总之,概念模型是数据库设计的重要基础,它通过对问题领域的抽象和建模,帮助设计人员理清问题领域的关键概念和关系,并为后续的逻辑设计和物理设计提供指导和支持。
数据模型设计基础知识-概述说明以及解释1.引言1.1 概述数据模型设计是指按照一定的规则和原则对数据进行组织和描述的过程,是数据库设计的基础工作。
数据模型设计涉及到数据的结构、关系、约束条件等内容,在数据库系统中扮演着非常重要的角色。
正确的数据模型设计可以保证数据库系统的高效性、可靠性和安全性,为业务运作提供坚实的基础支撑。
在数据模型设计中,需要考虑到数据的组织方式、数据之间的关系以及对数据的操作和管理。
不同的数据模型设计方法可以应用于不同的应用场景,因此对数据模型设计的理解和应用是非常重要的。
本文将从数据模型的基本概念入手,介绍常见的数据模型类型和设计原则,以及对数据模型设计在实际应用中的重要性和展望未来的发展趋势。
希望通过本文的介绍,读者能够对数据模型设计有更深入的理解,并能够在实际工作中灵活运用相关知识,为数据管理和应用提供更好的支持。
1.2 文章结构文章结构本文将分为三个部分来讨论数据模型设计的基础知识。
首先,引言部分将介绍本文的概述,文章结构和目的。
其次,正文部分将详细讨论数据模型的概念,常见数据模型类型以及数据模型设计的原则。
最后,结论部分将总结数据模型设计的重要性,应用和展望未来数据模型设计的发展。
通过这样的结构,读者可以系统地了解和学习数据模型设计的基础知识。
文章1.3 目的:本篇文章的目的是为读者提供关于数据模型设计的基础知识,包括数据模型的概念、常见类型和设计原则。
通过本文的阐述,读者将能够了解数据模型设计的重要性,以及如何应用数据模型设计的原则和方法进行实际的数据建模工作。
此外,本文还将展望未来数据模型设计的发展方向,为读者提供对数据模型设计领域的整体认识,帮助其更好地理解和应用数据模型设计相关的知识。
2.正文2.1 数据模型概念数据模型是描述数据、数据关系、数据操作和数据约束的概念工具或技术。
数据模型用于帮助我们理解数据的结构,组织和处理方式,并为数据库设计和应用程序开发提供指导。
数据库概念模型实例数据库概念模型实例数据库概念模型是描述数据在现实世界中的概念和关系的工具。
它提供了一种表示数据的方式,可以帮助开发人员在设计数据库时更好地了解数据的结构和关系。
本文将介绍数据库概念模型实例,并为您详细阐述。
1.概念模型的定义概念模型是对现实世界中某个领域的概念描述。
它描述一组实体,实体之间的关系以及实体的属性。
在计算机科学中,概念模型是使用面向对象编程语言开发数据库的重要步骤。
2.实例下面是一个简单的概念模型实例。
假设我们正在设计一个订单管理系统。
我们需要将订单,客户和产品作为实体进行建模。
订单:订单是指客户购买产品的请求。
每个订单都有一个唯一的订单号和订单日期。
客户:客户是一名购买产品的人。
每个客户都有一个唯一的客户编号和客户姓名。
产品:产品是客户购买的物品。
每个产品都有一个唯一的产品号码,产品名称和价格。
在这个例子中,我们定义了三个实体:订单,客户和产品。
订单和客户之间是1对1关系,一个订单只属于一个客户。
而一个客户可以有多个订单。
订单和产品之间是1对多关系,一个订单可以包含多个产品。
但是,一个产品只能属于一个订单。
3.数据库模式数据库模式是概念模型的实现。
它将概念模型的实体和关系映射到物理数据模型,例如关系数据库表格。
在我们的订单管理系统中,我们可以将上述实体映射为以下数据库模式:orders (order_id, order_date, customer_id)customers (customer_id, customer_name)products (product_id, product_name, price)order_products (order_id, product_id, quantity)orders表格包含order_id,order_date和customer_id。
customer_id是与customers表格中关联的外键。
customers表格包含customer_id和customer_name。
举例ER模型基本概念
z两个以上实体型之间的联系
¾也存在一对一、一对多和多对多的联系
¾一对多:若实体集E1,E2,…,En存在联系,
对于实体集Ej( j = 1,2,…,i-1,i+1,…,n)中的
实体与联系--例1
m n
m n
p
实体与联系--例1
z Employee1 95~96 department1
z Employee1 96~97 department2
z Employee1 98~99 department1
z Employee1 95~96 department1
z Employee1 96~97 department2
z Employee1 98~99 department1
例2
:一个部门至多只能有一个管理者,但一个经理可以管理多个部门,经理管理部门有一个起始时间和所自
如果对于每个部门都有一个财务预算,则这种表示方式
实体与联系--例3
二元与三元联系--例1
考虑下列附加的需求
多个雇员不能同时购买同一份保险 每份保险必须由雇员购买 一份保险可以涉及到多位家属 家属(Dependents)是一个弱实体集 每位家属只对应一份保险
思考题:是否Dependents 和Beneficiary 是全参与关系
?
答案: 不是
因为本题没有要求每个雇员必须给家属买保险
实例分析。
概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。
在数据仓库领域有一个概念叫conceptual data model,中文一般翻译为“概念数据模型”。
概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。
概念数据模型的内容包括重要的实体及实体之间的关系。
在概念数据模型中不包括实体的属性,也不用定义实体的主键。
这是概念数据模型和逻辑数据模型的主要区别。
概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。
在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。
在数据仓库领域有一个概念叫logical data model,中文一般翻译为“逻辑数据模型”。
逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。
逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。
逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。
逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。
逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。
如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。
在数据仓库领域有一个概念叫physical data model,中文一般翻译为“物理数据模型”。
物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。
物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。
数据模型的概念和作用
数据模型的概念
模型是对现实世界的抽象。
在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。
数据模型是数据库管理的教学形式框架,是用来描述一组数据的概念和定义,包括三个方面:
1、概念数据模型(ConceptualDataModel)
这是面向数据库用户的实现世界的数据模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的DBMS无关。
概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。
2、逻辑数据模型(LogixalDataModel)
这是用户从数据库所看到的数据模型,是具体的DBMS所支持的数据模型,如网状数据模型、层次数据模型等等。
此模型既要面向拥护,又要。
数据库设计概念模型数据库设计是指根据业务需求和数据分析,将数据模型抽象化并转化为数据库表结构的过程。
在数据库设计中,需要考虑到数据存储、数据完整性、数据操作效率等方面的因素,以满足业务需求并提高系统的性能和可靠性。
在进行数据库设计之前,需要对业务需求进行充分的分析和了解。
通过与业务方沟通,了解其需要存储和处理哪些数据,以及数据之间的关系和约束条件等。
在此基础上,进行数据模型的概念设计,可以帮助我们更好地理解数据之间的关系和属性,从而更好地进行数据库设计。
数据模型通常使用实体关系模型(Entity-Relationship Model,简称ER模型)进行表示。
在ER模型中,有三个基本概念,即实体、属性和关系。
实体表示业务中需要存储的具体的对象,属性表示实体的特征,关系表示实体之间的关联或依赖关系。
在进行数据库设计时,可以首先确定实体及其属性。
实体通常表示一个业务对象,如用户、订单、产品等。
属性表示实体的特征,可以分为实体属性和关联属性。
实体属性是独有于一个实体的属性,关联属性是与其他实体相关的属性。
在确定实体和属性后,需要确定实体之间的关系。
关系分为一对一、一对多和多对多三种类型。
一对一关系表示一个实体与另一个实体之间的唯一对应关系;一对多关系表示一个实体可以对应多个其他实体,而一个其他实体只能对应一个实体;多对多关系表示两个实体之间可以相互对应多个实体。
在确定实体和关系后,需要确定主键和外键。
主键是用来唯一标识实体的属性,它的值在整个实体集合中是唯一的。
外键是用来建立实体之间联系的属性,它引用了另一个实体的主键。
在进行数据库设计时,还需要考虑到数据的完整性和约束条件。
数据完整性是指对数据的有效性和正确性进行保证。
常用的数据完整性约束包括主键约束、唯一约束、非空约束、默认值约束和检查约束等。
主键约束保证了主键的值在整个实体集合中的唯一性;唯一约束保证了某个属性值的唯一性;非空约束保证某个属性值不能为空;默认值约束指定一个属性的默认值;检查约束验证某个属性的值是否符合要求。
简述数据模型的概念及其分类
数据模型的概念是指数据库系统中用于提供信息表示和操作手段的一种形式架构,它也是对数据特征的抽象。
数据模型主要从抽象的层次上描述系统的静态特征、动态行为和约束条件。
其描述的内容可以分为三个部分:数据结构、数据操作和数据约束。
数据结构是数据模型的基础,主要描述数据的类型、内容、性质以及数据间的联系等。
数据操作主要描述在相应的数据结构上的操作类型和操作方式。
数据约束则主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
根据不同的应用层次,数据模型可以分为三种类型:概念数据模型、逻辑数据模型和物理数据模型。
概念数据模型主要面向用户和客观世界,描述世界的概念化结构,它与具体的数据管理系统无关。
逻辑数据模型是与具体的数据管理系统相关的模型,它定义了数据库的逻辑结构,包括记录的结构和关系。
物理数据模型则描述了数据库的物理实现,包括存储结构、数据存储方式和访问路径等。
以上内容仅供参考,如需更多信息,建议查阅数据库相关书籍或咨询计算机专业人士。
一、新建概念数据模型1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型。
2)完成概念数据模型的创建。
以下图示,对当前的工作空间进行简单介绍。
(以后再更详细说明)3)选择新增的CDM模型,右击,在弹出的菜单中选择“Properties”属性项,弹出如图所示对话框。
在“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。
在“Notes”标签里可以输入相关描述及说明信息。
当然再有更多的标签,可以点击"More>>"按钮,这里就不再进行详细解释。
二、创建新实体1)在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。
点击Pointer工具或右击鼠标,释放Entitiy工具。
如图所示2)双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。
三、添加实体属性1)在上述窗口的“Attribute”选项标签上可以添加属性,如下图所示。
注意:数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中Data Item的Unique code 和Allow reuse选项有关。
P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,即该列是否为空值。
如果一个实体属性为强制的,那么,这个属性在每条记录中都必须被赋值,不能为空。
2)在上图所示窗口中,点击插入属性按钮,弹出属性对话框,如下图所示。
注意:这里涉及到域的概念,即一种标准的数据结构,它可应用至数据项或实体的属性上。
在以下的教程中将另立章节详细说明。
目标:本文主要介绍属性的标准检查约束、如何定义属性的附加检查。
一、定义属性的标准检查约束标准检查约束是一组确保属性有效的表达式。
在实体属性的特性窗口,打开如图所示的检查选项卡。
数据库概念结构设计的方法
数据库概念结构设计的方法可以分为以下几种:
1. 实体关系模型(ER 模型):此方法将现实世界的实体和它们之间的关系表示为概念结构图。
在概念结构图中,实体用矩形表示,关系用菱形表示。
这种方法强调实体及其属性和实体之间的关系。
2. 层次模型:此方法将数据组织成为一个树状结构。
树的顶层是根节点,每个节点可以有多个子节点,每个子节点只能有一个父节点。
这种方法适合表示具有层级关系的数据。
3. 网状模型:此方法将数据组织成为一个网状结构,其中任意两个节点可以直接相连,而不仅仅是通过层级关系。
这种方法适合表示具有复杂关系的数据。
4. 关系模型:此方法将数据组织成为一个二维表格结构,其中每个表格表示一个关系(即实体),每个表格的每一行表示一个记录,每个记录的每一列表示一个属性。
这种方法是目前最常用的数据库概念结构设计方法。
5. 对象模型:此方法将数据组织成为对象的集合,每个对象具有自己的属性和方法。
这种方法适合表示面向对象的数据。
在实际设计中,可以根据需求和数据的特点选择适合的方法,并结合实际情况进行灵活运用。
1.1.数据模型设计1.1.1模型设计思路数据模型是指用实体、属性及其关系对企业运营和管理过程中涉及的所有业务概念和逻辑规则进行统一定义、命名和编码。
数据模型是业务人员、IT人员和开发商之间进行沟通的一套语言。
概念模型、逻辑模型、物理模型在设计过程中的主要关注点如下:概念数据模型是高阶的数据模型,主要展现数据主题之下的数据实体,并展现数据实体之间的关联关系。
逻辑数据模型是对数据实体的分解细化成为逻辑实体,对数据实体的属性、属性类型、长度和主外键关系等做了定义,遵从“第三范式”以达到最小的数据冗余。
物理数据模型是结合数据存储的物理实现,定义物理实体,描述数据模型的细节,需要考虑所使用的数据库产品、对应的字段类型、长度、索引等因素,并对数据冗余与性能进行平衡。
1.1.2模型设计规范1.1.2.1.表名命名规范1.数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等2.如果表名由几个单词组成,则单词间用下划线(“_”)分割,如subscribed_pois,poi_categories等3.表名尽量用全名4.表名限制在30个字符内。
当表的全名超过30字符时,可用缩写来减少表名的长度,如description –>desc;information –> info;address –> addr等1.1.2.2.表字段命名规范1.字段名为小写2.字段名为有意义的单词,或单词的缩写3.如果字段由几个单词组成,则单词间用下划线(“_”)分割,如client_id,post_code等4.字段名限制在30个字符内。
当字段名超过30字符时,可用缩写来减少字段名的长度,如description –>desc;information –> info;address –> addr等1.1.2.3.索引命名规范1.索引须按照IDX_table_<column>_<column>,其中<table>是建立索引的表名,<column>是建立索引的字段名2.索引名限制在30个字符内。
数据模型设计要点目录1. 数据模型设计的输入 (4)2. 数据模型设计必须的几个阶段 (4)2.1. 概念数据模型设计(Conceptual Data Model) (5)2.2. 逻辑数据模型设计(Logical Data Model) (6)2.2.1. 设计范式要求 (7)2.2.1.1. 第一范式 (7)2.2.1.2. 第二范式 (7)2.2.1.3. 第三范式 (8)2.2.1.4. 逆第三范式 (9)2.2.2. 其他要求 (10)2.2.2.1. 数据类型定义 (10)2.2.2.2. 实体名称定义 (10)2.2.2.3. 主键定义 (10)2.2.2.4. 实体关系定义 (10)2.2.2.5. 数据量估算 (11)2.2.2.6. 索引定义 (11)2.3. 物理数据模型(Physical Data Model) (11)2.3.1. 物理库设计 (12)2.3.1.1. 数据库Server设计 (12)2.3.1.2. 表空间设计 (12)2.3.1.3. 用户及权限设计 (12)2.3.2. 物理表设计 (13)2.3.2.1. 数据类型设计 (13)2.3.2.2. 存储设计 (13)2.3.2.3. 主外键设计 (13)2.3.2.4. 索引设计 (13)2.3.2.5. 生成建表语句 (14)3. 数据模型设计相关工具软件 (14)4. 数据模型设计的产出及规格要求 (14)4.1. 概念数据模型设计阶段 (14)4.2. 逻辑数据模型设计阶段 (14)4.3. 物理数据模型设计阶段 (15)1.数据模型设计的输入传统的瀑布型的开发模型下,其特点是需求驱动。
相应的,数据模型设计的必要输入为需求分析阶段的产出,包括需求规格说明书(需求分析说明书)、数据字典。
分析型应用由于其需求不易迅速全面予以明确,所以适合用螺旋式开发模型,逐步迭代。
但由于分析型应用是数据驱动,所以数据模型的设计要求更高,需要根据业务和数据的实际情况,进行快速全面分析,并有充分的管理思维,才能设计出比较理想的数据模型。
一、新建概念数据模型1)选择File-->New,弹出如图所示对话框,选择CDM模型(即概念数据模型)建立模型。
2)完成概念数据模型的创建。
以下图示,对当前的工作空间进行简单介绍。
(以后再更详细说明).3)选择新增的CDM模型,右击,在弹出的菜单中选择“Properties”属性项,弹出如图所示对话框。
在“General”标签里可以输入所建模型的名称、代码、描述、创建者、版本以及默认的图表等等信息。
在“Notes”标签里可以输入相关描述及说明信息。
当然再有更多的标签,可以点击按钮,这里就不再进行详细解释。
?牯?尾二、创建新实体1)在CDM的图形窗口中,单击工具选项版上的Entity工具,再单击图形窗口的空白处,在单击的位置就出现一个实体符号。
点击Pointer工具或右击鼠标,释放Entitiy工具。
如图所示2)双击刚创建的实体符号,打开下列图标窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。
.三、添加实体属性1)在上述窗口的“Attribute”选项标签上可以添加属性,如下图所示。
注意:数据项中的“添加属性”和“重用已有数据项”这两项功能与模型中Data Item的Unique code和Allow reuse选项有关。
P列表示该属性是否为主标识符;D列表示该属性是否在图形窗口中显示;M列表示该属性是否为强制的,即该列是否为空值。
如果一个实体属性为强制的,那么,这个属性在每条记录中都必须被赋值,不能为空。
2)在上图所示窗口中,点击插入属性按钮,弹出属性对话框,如下图所示。
注意:这里涉及到域的概念,即一种标准的数据结构,它可应用至数据项或实体的属性上。
在以下的教程中将另立章节详细说明。
目标:本文主要介绍属性的标准检查约束、如何定义属性的附加检查。
一、定义属性的标准检查约束标准检查约束是一组确保属性有效的表达式。
在实体属性的特性窗口,打开如图所示的检查选项卡。
.在这个选项卡可以定义属性的标准检查约束,窗口中每项的参数的含义,如下参说属性可接受的最小Minimum属性可接受的最大Maximum属性不赋值时,系统提供的默认Default单位,如公里、吨、Unit属性的数据显示格Format属性的赋值全部变为小写字Lowercase属性的赋值全部变为大写字Uppercase该属性一旦赋值不能再修Cannot modify属性赋值列表,除列表中的值,不能有其他的List Of Values属性列表值的标签Label二、定义属性的附加检查选项卡的Additional Checks可以在当Standard checks 或Rules 不能满足检查的要求时,使语句中通子Server页上,过SQL几个变量来定义、%LOWER%%UPPER%%RULES%%LISTVAL%%MINMAX%用、、、如图所示Rule,和Standard%MINMAX%、%LISTVAL%、%UPPER%、%LOWER%在Standard Check中定义的Minimum 和Maximum、List values 、uppervalues、lowervalues%RULES%在Rules特性窗口Expression选项卡中定义的有效性规则表达式目标:本文主要介绍如何定义实体的主、次标识符。
一、标识符标识符是实体中一个或多个属性的集合,可用来唯一标识实体中的一个实例。
要强调的是,CDM中的标识符等价于PDM中的主键或候选键。
每个实体都必须至少有一个标识符。
如果实体只有一个标识符,则它为实体的主标识符。
如果实体有多个标识符,则其中一个被指定为主标识符,其余的标识符就是次标识符了。
二、如果定义主、次标识符1)选择某个实体双击弹出实体的属性对话框。
在Identifiers选项卡上可以进行实体标识符的定义。
如下图所示2)选择第一行“主标识符”,点击属性按钮或双击第一行“主标识符”,弹出属性对话框,如图所示3)选择?瑴楲畢整屳选项卡,再点击“Add Attributes”工具,弹出如图所示窗口,选择某个属性作为标识符就行了。
目标:本文主要介绍数据项、新增数据项、数据项的唯一性代码选项和重用选项等。
一、数据项数据项(Data Item)是信息存储的最小单位,它可以附加在实体上作为实体的属性。
注意:模型中允许存在没有附加至任何实体上的数据项。
二、新建数据项1)使用“Model”---> Data Items 菜单,在打开的窗口中显示已有的数据项的列表,点击“Add 按钮,创建一个新数据项,如图所示a Row”2)当然您可以继续设置具体数据项的Code、DataType、Length等等信息。
这里就不再详细说明了。
三、数据项的唯一性代码选项和重用选项使用Tools--->Model Options->Model Settings。
在Data Item组框中定义数据项的唯一性代码选项(Unique Code)与重用选项(Allow Reuse)。
注意:如果选择Unique Code复选框,每个数据项在同一个命名空间有唯一的代码,而选择Allow,一个数据项可以充当多个实体的属性。
reuse四、在实体中添加数据项1)双击一个实体符号,打开该实体的属性窗口。
选项卡,打开如下图所示窗口Attributes)单击2.注意:Add a DataItem 与Reuse a DataItem的区别在于Add a DataItem 情况下,选择一个已经存在的数据项,系统会自动复制所选择的数据项。
如果您设置了UniqueCode选项,那系统在复制过程中,新数据项的Code会自动生成一个唯一的号码,否则与所选择的数据项完全一致。
Reuse a DataItem情况下,只引用不新增,就是引用那些已经存在的数据项,作为新实体的数据项。
目标:本文主要介绍联系的定义及使用。
一、联系联系(Relationship)是指实体集这间或实体集内部实例之间的连接。
实体之间可以通过联系来相互关联。
与实体和实体集对应,联系也可以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间的联系,联系是具有方向性的。
联系和联系集在含义明确的情况之下均可称为联系。
按照实体类型中实例之间的数量对应关系,通常可将联系分为4类,即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY)。
TO MANY.二、建立联系在CDM工具选项板中除了公共的工具外,还包括如下图所示的其它对象产生工具。
在图形窗口中创建两个实体后,单击“实体间建立联系”工具,单击一个实体,在按下鼠标左键的同时把光标拖至别一个实体上并释放鼠标左键,这样就在两个实体间创建了联系,右键单击图形窗口,释放Relationship工具。
如下图所示三、四种基本的联系即一对一(ONE TO ONE)联系、一对多(ONE TO MANY)联系、多对一(MANY TO ONE)联系和多对多联系(MANY TO MANY)。
如图所示四、其他几类特殊联系除了4种基本的联系之外,实体集与实体集之间还存在标定联系(Identify Relationship)、非标定联系(Non-Identify RelationShip)和递归联系(Recursive Relationship)。
标定联系:每个实体类型都有自己的标识符,如果两个实体集之间发生联系,其中一个实体类型的标识符进入另一个实体类型并与该实体类型中的标识符共同组成其标识符时,这种联系则称为标定联系,也叫依赖联系。
反之称为非标定联系,也叫非依赖联系。
注意:在非标定联系中,一个实体集中的部分实例依赖于另一个实例集中的实例,在这种依赖联系中,每个实体必须至少有一个标识符。
而在标定联系中,一个实体集中的全部实例完全依赖于另个实体集中的实例,在这种依赖联系中一个实体必须至少有一个标识符,而另一个实体却可以没有自己的标识符。
没有标识符的实体用它所依赖的实体的标识符作为自己的标识符。
换句话来理解,在标定联系中,一个实体(选课)依赖一个实体(学生),那么(学生)实体必须至少有一个标识符,而(选课)实体可以没有自己的标识符,没有标标识符的实体可以用实体(学生)的标识符作为自己的标识符。
递归联系:递归联系是实体集内部实例之间的一种联系,通常形象地称为自反联系。
同一实体类型中不同实体集之间的联系也称为递归联系。
例如:在“职工”实体集中存在很多的职工,这些职工之间必须存在一种领导与被领导的关系。
又如“学生”实体信中的实体包含“班长”子实体集与“普通学生”子实体集,这两个子实体集之间的联系就是一种递归联系。
创建递归联系时,只需要单击“实体间建立联系”工具从实体的一部分拖至该实体的别一个部分即可。
如图五、定义联系的特性在两个实体间建立了联系后,双击联系线,打开联系特性窗口,如图所示。
六、定义联系的角色名在联系的两个方向上各自包含有一个分组框,其中的参数只对这个方向起作用,Role Name为角色名,描述该方向联系的作用,一般用一个动词或动宾组表。
如:“学生to 课目”组框中应该填写“拥有”,而在“课目To 学生”组框中填写“属于”。
(在此只是举例说明,可能有些用词不太合理)。
七、定义联系的强制性Mandatory 表洋这个方向联系的强制关系。
选中这个复选框,则在联系线上产生一个联系线垂直的竖线。
不选择这个复选框则表示联系这个方向上是可选的,在联系线上产生一个小圆圈。
.八、有关联系的基数联系具有方向性,每个方向上都有一个基数。
举例,“系”与“学生”两个实体之间的联系是一对多联系,换句话说“学生”和“系”之间的联系是多对一联系。
而且一个学生必须属于一个系,并且只能属于一个系,不能属于零个系,所以从“学生”实体至“系”实体的基数为“1,1”,从联系的另一方向考虑,一个系可以拥有多个学生,也可以没有任何学生,即零个学生,所以该方向联系的基数就为“0,n”,如图所示。