现代数据库管理学习笔记之三 组织中的数据建模

本文探讨了数据建模在组织中的重要性,特别是业务规则的作用和E-R模型的使用。数据建模是系统开发的关键环节,帮助发现数据特征和业务规则,确保数据完整性。E-R模型作为概念数据建模工具,描述了实体、联系和属性,为数据库设计提供基础。数据命名和定义遵循特定规则,以确保清晰性和一致性。同时,文章还强调了联系的度、基数约束以及何时使用联系而非属性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务规则:来源于政策、过程、事件、功能和其他业务对象,以及在组织中声明的约束。业务规则对于数据建模来说是十分重要的,它们决定了如何处理和存储数据。基本的业务规则就是数据名和数据定义。

E-R模型:概念数据建模的主流方法。常作为一种交流工具,用来在数据库开发过程的分析阶段沟通数据库设计者和终端用户。E-R模型建立了一种概念数据模型,它表示的是独立于具体软件的数据库结构和约束,以及相关的数据模型。数据库的实现将基于这些模型。

许多系统开发人员认为数据建模是系统开发过程中最重要的环节,这种认识来源于以下三个重要原因:

1)在设计数据库、程序以及其他系统组成部分的过程中,通过数据建模发现数据的特征是极为关键的。同时,在信息系统中通过数据建模,还可以发现一些业务中的事实和规则,而这些事实和规则对于保证信息系统的数据完整性是非常重要的。

2)在许多现代的信息系统中,数据比过程更复杂,所以在构建系统需求时,数据自然而然地成为核心因素。通常,研究数据结构的目的在于提供丰富的数据源、以支持系统中的各类查询、分析和汇总。

3)与使用数据的业务过程相比,数据更加稳定。因此,基于面向数据的信息系统设计开发比基于面向过程的信息系统具有更长的使用寿命。


数据建模的作用:研究使用数据的组织的规则和制度。在信息处理和存储系统中,业务规则和制度控制的数据的创建、更新和移除,因此,在描述数据的同时必须描述与之相关的业务规则。业务规则和制度不是通用的,一个组织的规则和制度可能随着时间发生变化(一般比较缓慢)。


业务规则:一种定义或约束业务中的某些有关方面的语句,主要说明业务的结构以及控制或影响业务的行为...防止、导致或引发某些时间发生的规则等。


数据命名与定义:命名和定义数据对象是理解数据结构以及进行数据建模的基础。数据对象必须首先命名和定义,然后才能意义明确地用于组织的数据模型。在实体-联系模型的方法中,必须明确命名和定义每个实体、联系和属性。

数据命名的一些常用规则:

1)与业务相关、与具体的软硬件技术无关

2)命名应具有实际意义

3)命名必须是唯一的

4)可读性强

5)由一个得到认可的词汇表中的词汇组成

6)可重用  


数据定义:定义(有时称为结构化断言)可以看做一种业务规则,定义时术语或事实的解释。

术语:是在业务中有特定含义的词或短语。如课程,班级,租用车辆,航班,预约以及乘客等。术语经常可作为数据名得关键字。术语的定义必须谨慎、简练。

事实:是两个或多个术语之间的关联。


良好的数据定义的一般性原则:

1)所有的数据定义和各类业务规则都来源于信息系统的需求分析。在信息系统需求分析的研究过程中,系统和数据分析员应寻找数据对象并给出定义。

2)定义一般伴随图形说明,如实体-联系图。定义不必重复已在图中显示的内容,而是对图形进行补充。定义应就以下方面描述数据对象特征:

    a)细微之处内涵清晰

    b)特殊和例外条件

    c)实例

    d)何处、何时以及如何在组织中创建或计算数据

    f)数据时静态的,还是可以随时间变化的

    g)数据的原子形式是单数还是复数

    h)谁确定数据值

    i)谁拥有数据,即谁控制数据的定义和使用

    j)数据是否可选,以及是否允许空值

    k)该数据是否可以分解为若干个原子部分,或它是否常与其他数据合并成更复杂的复合形式或聚合形式

3)数据对象必须先命名和定义,并检查是否与其他数据对象没有冲突,确认后才能加入至数据模型,如实体-联系模型中。


“掌握数据的含义,就掌握了数据”


实体-联系模型(E-R模型):是组织或业务领域中数据的详细的、合乎逻辑的表示方法。E-R模型的表述基于业务环境中的实体,实体之间的联系(或关联)以及实体与联系的属性(或性质)。E-R模型通常以实体-联系图(E-R图)的形式描述,E-R图是E-R模型的图形化表示。


实体:表示组织所期望维护的数据,是指存在于用户环境中的人、地点、对象、时间或概念。

实体类型:是具有共同性质和特征的实体集合。E-R模型中的每个实体类型都有一个名字。由于名字表示的是一个特定的集合,所以名字总是单数的。实体的名字通常使用大写字母。

实体实例:是实体类型集合中的一个特定记录。


强实体类型:是不依赖于其他实体而独立存在的实体类型。在强实体类型的一个实例中,总可以找出一个唯一的特征(称为标识符),也就是区别于该类型的其他实例的一个属性或属性集合。

弱实体类型:是依赖与其他实体类型而存在的实体类型。在E-R图中,弱实体类型如果没有它所依赖的实体,则它是没有意义的。被弱实体类型依赖的实体类型称为标识属主(属主)。一个弱实体类型没有属于它自己的标识符。通常在E-R图中,一个弱实体类型有一个属性,作为一个部分标识符。到设计的后续阶段,通过将其属主的标识符和部分标识符相绑定,会形成一个弱实体类型的完整标识符。


属性:是组织所关心的实体类型的一个性质或特征。每一个实体类型都有一组与其相关的属性。在命名属性时,应使用首字母大写、其他字母小写的形式。如果属性名包括两个单词,就使用“_”来连接两个单词,两个单词的首字母都大写。

复合属性:能分解为更小部分的属性。

简单(原子)属性:不能分解为更小部分的属性。

多值属性:在给定实体实例中可以有多个值的属性。(相对单值属性而言)

导出属性:是一个其值可以由其他相关属性值计算出的属性。(相对于存储属性而言)

标识符:可以唯一标识一个实体类型实例的属性或属性集。

复合标识符:没有哪一个单独(原子)的属性能作为标识符,即没有一个属性能够唯一标识一个实体。但是两个或更多属性的组合则可以作为标识符来标识实体。


选择标识符标准:

1)将每一个实体类型实例的生存周期中其值都不变的属性作为标识符。

2)选择在每个实体类型的实例中,该属性值都有效且不为空的属性作为标识符。

3)避免使用所谓的智能标识符。这种标识符的结构表示分类,位置等信息。这种代码会随着条件的改变而变化,容易产生标识符非法的情况。

4)尽量使用单值属性作为标识符。


联系:表示的是组织感兴趣的一或多个实体类型之间的关联。

联系类型:表示实体类型之间有意义的关联。“有意义的关联”说明联系中包含一些仅用实体类型无法表示的含义。

联系实例:实体实例之间的关联,每个联系实例恰包括参与联系的各实例类型中的一个实例。


关联实体:表示关联一个或多个实体类型的实例之间的实体类型,同时包含特属于实体实例间联系的属性。(联系本身拥有一个或多个属性)


在关联实体和强实体的连线中没有用菱形表示的联系。这是因为关联实体表示联系。

在四种情况下,需要将联系转化为关联实体类型:
1)所有参与实体类型的联系都是“多”联系

2)对最终用户来说,关联实体类型具有独立性的意义,最好用单值属性作为标识符

3)除了标识符外,关联实体还有其他一个或多个属性

4)关联实体参与一个到多个联系,这些联系独立于与关联联系相关的实体

 

联系的度:是参与联系的实体类型的个数。在E-R图中最常见的联系的度有一元(度数为1),二元(度数为2),三元(度数为3)。

 

什么情况下考虑使用联系而不是属性呢?

答案:如果属性时标识符或数据模型中实体类型的其他特征,同时该属性被多个实体实例共享,则考虑使用联系而不是属性。

 

基数约束:假定有两个实体类型A和B,它们通过联系相连接。基数约束指定对于实体A的每个实例,有多少个实体B的实例可能与之关联。有最小基数和最大基数之分。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值