数据模型
1.数据模型的三要素
(1)数据结构数据结构是所研究的对象类型(Object Type)的集合。这些对象和对象类型是数据库的组成成分。一般可分为两类:一类是与数据类型、内容和其它性质有关的对象;一类是与数据之间的联系有关的对象。前者如网状模型中的数据项和记录,关系模型中的域、属性和关系等。后者如网状模型中的关系模型。
在数据库领域中,通常按照数据结构的类型来命名数据模型,进而对数据库管理系统进行分类。如层次结构、网状结构和关系结构的数据模型分别称作为层次模型、网状模型和关系模型。相应地,数据库分别称作为层次数据库、网状数据库和关系数据库。
(2)数据操作数据操作是指对各种对象类型的实例(或值)所允许执行的操作的集合,包括操作及有关的操作规则。在数据库中,主要的操作有检索和更新(包括插入、删除、修改)两大类。数据模型定义了这些操作的定义、语法(即使用这些操作时所用的语言)。
数据结构是对系统静态特性的描述,而数据操作是对系统动态特性的描述。两者既有联系,又有区别。
(3)数据的约束条件数据的约束条件是完整性规则的集合。完整性规则是指在给定的数据模型中,数据及其联系所具有的制约条件和依存条件,用以限制符合数据模型的数据库的状态以及状态的变化,确保数据的正确性、有效性和一致性。
2.概念模型
数据模型是数据库系统的核心和基础。每个DBMS软件都是基于某种数据模型的。为了把现实世界中的具体事物或事物之间的联系表示成DBMS所支持的数据模型,人们首先必须将现实世界的事物及其之间的联系进行抽象,转换为信息世界的概念模型;然后将信息世界的概念模型转换为机器世界的数据模型。也就是说,首先把现实世界中的客观对象抽象成一种信息结构。这种信息结构并不依赖于具体的计算机系统和DBMS。然后,再把概念模型转换为某一计算机系统上某一DBMS所支持的数据模型。因此,概念模型是从现实世界到机器世界的一个中间层次。
现实世界的事物反映到人的大脑之中,然后人们开始认识这些事物,经过选择、命名、分类和组织等抽象工作之后形成概念模型,并进入到信息世界。
•用户(user)关心的是现实世界中的事物、事物的属性及其相互关系。例如,用户可能关心他的顾客及其属性,如顾客地址、银行帐号等等。用户也关心自己的定货帐目,如谁订的货、订的什么和订多少等等。
•系统分析员(analyst)同样也关心现实世界,但是系统分析员需要分析用户的信息需求。作为需求分析的结果,分析员必须以文档的形式对需求进行结构化的描述;这个文档就是信息模型。
•实体(Entity)实体是构成数据库的基本元素。实体是指一个存在的东西以区别这个东西所具有的属性和这个东西与其它东西的联系。实体可以是人,也可以是物;可以是实际对象,也可以是概念;可以是事物本身,也可以是指事物之间的联系。
•属性(Attribute)一个实体可以由若干个属性来刻画。属性是相对实体而言的,是实体所具有的特性。
•关键字(Key)能唯一地标识实体的属性的集合称为关键字(或码)。
•域(Domain)属性的取值范围称作域。
•实体型(Entity Type)一类实体所具有的共同特征或属性的集合称为实体型。一般用实体名及其属性来抽象地刻画一类实体的实体型。
•实体集(Entity Set)同型实体的集合叫实体集。例如,学生就是一个实体集。实体集的名即是实体型。对于学生和(学号、姓名、年龄、系、年级)均是实体型,而学生是对实体型(学号、姓名、年龄、系、年级)所起的名称,两者是指同一客观对象。但本科生和研究生可以为相同实体型,而实体集不同。
•联系(Relationship)现实世界的事物之间是有联系的。一般存在两类联系:一是实体内部的组成实体的属性之间的联系,二是实体之间的联系。在考虑实体内部的联系时,是把属性看作为实体。
一般来说,两个实体之间的联系可分为三种:
(1)一对一(1∶1)联系若对于实体集A中的每一个实体,实体集B中至多有唯一的一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记作1∶1。
(2)一对多(1∶n)联系若对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1∶n。
相应地有多对一(n∶1)联系多对一联系,从本质上说,是一对多联系的逆转。其定义同一对多联系类似,不再赘述。
(3)多对多(m∶n)联系若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之对应,则称实体集A与实体集B具有多对多联系,记作m∶n。实质上,多对多联系是任意一种联系。另外,同一实体集内的各个实体间也可以有各种联系。
概念模型的表示方法最常用的是实体一联系方法(Entity-Relationship Approach),简称E-R方法。该方法是由P.P.S.Chen在1976年提出的。E-R方法用E-R图来描述某一组织的概念模型。在这里仅介绍E-R图的要点。在E-R图中:
(1)长方形框表示实体集,框内写上实体型的名称。
(2)用椭圆框表示实体的属性,并用有向边把实体框及其属性框连接起来。
(3)用菱形框表示实体间的联系,框内写上联系名,用无向边把菱形框及其有关的实体框连接起来,在旁边标明联系的种类。如果联系也具有属性,则把属性框和菱形框也用无向边连接上。
3.三种主要的数据模型
实际DBMS所支持的数据模型主要有三种:
•层次模型(Hierarchical Model)
•网状模型(Network Model)
•关系模型(Relational Model)
其中,关系模型是当前DBMS所支持的数据模型的主流。90年代运行的DBMS几乎都是基于关系模型的。层次模型和网状模型统称为非关系模型。非关系模型的结构可以和图论中的图相对应,比较直观,但在理论上不完备,实现效率较低,故此目前很少用。但是最近,层次模型在研究面向对象的DBMS中已得到重视。
在关系模型中,数据在用户的观点中(或在用户视图中)的逻辑结构是一张二维表(Table)。
•关系(Relation),对应于平常讲的一张表。
•元组(Tuple),表中的一行。
•属性(Attribute),表中的一列称为一个属性,给每一列起一个名,称为属性名。这一列或这个属性所有可能取的值的集合称为这个属性的值域(Domain),值域中的一个元素叫做这个属性的值。
•主关键字(Primary Key Attribute或Primary Key),是指能唯一标识一个元组的一个或一组属性。
•分量(Attribute Value),是指元组中的一个属性值。
•关系模式(Relational Schema),是对关系的描述,一般用关系名(属性名1,属性名2,…,属性名n)来表示。
同层次模型和网状模型相比较,关系模型具有下列特点:
(1)概念单一在关系模型中,无论是实体还是实体之间的联系都用关系来表示。
在关系模型中,在用户的观点中,数据的逻辑结构就是表,也只有这唯一的概念。在非关系模型中,用户要区分记录型与记录型之间的联系两个概念;当环境复杂时,数据结构异常复杂,难以掌握。而关系模型,由于概念单一,可以变复杂为直观、简单,易学易用。
(2)规范化所谓关系规范化是指在关系模型中,每一个关系都要满足一定的条件要求。这些条件被称为规范条件。
对于关系,一个最基本的规范条件是,要求关系中的每一个属性(或分量)均是不可分的数据项;也就是说不允许表中有表,表是不可嵌套的。
(3)在关系模型中,用户对数据的操作的输入和输出都是表,也就是说,用户通过操作旧表而得到一张新表。
总之,关系模型概念简单,结构清晰,用户易学易用,有严格的以数学为基础的关系理论作指导,便于DBMS的实现。基于关系的DBMS简化了应用程序员的工作,便于数据库应用系统的设计和维护。故此,关系模型自诞生以后就得到了迅速的发展,成为应用最为广泛的、唯一的数据模型。
分享到:
相关推荐
"FACE_2.1_Shared_Data_Model_v2.1.30_共享数据模型_机载_face_V2_" 是一个关于未来机载能力环境(Future Airborne Capability Environment, 简称FACE)的重要资源,主要关注的是其共享数据模型的一个特定版本——v...
Oracle通讯数据模型(Oracle Communications Data Model)是针对通信服务提供商(Communications Service Providers, CSP)的数据仓库解决方案。它基于标准预构建的方法,旨在加快通信服务提供商实现洞察力的能力,...
### 数据模型资源手册 第一卷 #### 书籍概述 《数据模型资源手册 第一卷》是一本由Len Silverston编写的、旨在为企业提供通用建模方法的手册。本书是企业数据建模人员不可或缺的参考资料之一,它包含了大量经典的...
- **Task Data Model**: 该模型包含了所有任务的基本属性和操作逻辑,比如分配给谁、位于何处等。 - **ApprovalTask**: 特殊类型的Task,涉及审批流程。 - **CatalogTask**: 与服务目录相关的任务,通常由用户请求...
### 数据模型评分卡(Data Model Scorecard):应用行业标准评估数据模型质量 #### 知识点一:数据模型的重要性及质量验证的需求 - **数据模型的定义**:数据模型是数据库设计的核心,它通过图形化的表示方法来描述...
### TR-181 Issue-2 Amendment-2 设备数据模型详解 #### 一、概述 TR-181 Issue-2 Amendment-2是宽带论坛(The Broadband Forum)发布的一项技术报告,主要关注于为TR-069提供设备数据模型。TR-069是一种广泛应用...
高级数据模型英文课件 Some Basic Terms History of Database Models Problems with RDBMS Aspects of Advanced Data Models
本篇文章将深入探讨BlackBerry Datamodel的几个核心知识点,包括信号与槽(Signal and Slot)、排序数据模型(Sorted Data Models)、异步数据提供(Asynchronous Data Providing)以及未排序数据模型(Unsorted ...
数据模型资源手册卷1覆盖了数据模型的基本元素和构建基础,而卷2则针对特定行业,详细阐述了如何设计符合行业特性的数据模型。 在卷1中,我们首先了解到数据模型在数据库设计中的核心地位。数据模型包括了数据结构...
《数据模型资源手册卷3》是一本专注于数据库建模的专业资料,它作为前两卷的深化和提炼,为读者提供了全面而深入的数据模型设计知识。本手册覆盖了多个关键概念和实践,旨在帮助读者理解并掌握如何有效地设计和构建...
总结来说,文档《Teradata Travel and Hospitality Industry Data Model》提供了关于Teradata旅游和酒店行业数据模型的详细知识,说明了这个模型如何帮助相关行业的组织快速获得业务的宏观理解,并通过标准化的数据...
1.2数据模型(Data Model) 数据模型是一种模型,是对现实世界数据特征的抽象。数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。 数据模型的组成要素:数据...
作为 Oracle Retail Data Model 的参考手册,Release 11.3.2-726 版本提供了详细的数据模型信息,旨在帮助用户更好地理解和使用 Oracle Retail Data Model。 数据模型概述 Oracle Retail Data Model 是一个基于...
企业通用建模手册第二卷,作者为Len Silverston。 是企业数据建模人员的不二选择。 提供了许多与特定行业相关的模型,如生产企业,电信行业,医疗行业等。
TR-98数据模型是DSLHomeTM Internet Gateway Device Version 1.1 Data Model for TR-069的重要组成部分,它不仅为远程管理系统提供了标准化的方式来进行设备管理,还确保了不同厂商之间设备的互操作性。通过详细了解...
数据模型资源手册是建模专业人士的重要参考资料,尤其对于那些希望深入了解和掌握数据建模技术的英文读者来说。这本书详尽地介绍了数据模型的概念、类型、设计原则和实践应用,是学习和提升数据建模能力的理想工具。...
数据模型通常包括InfoCubes(信息立方体)、DTP(Data Transfer Process,数据传输过程)和Transformation(转换)。InfoCubes是BW的核心,它们是多维结构,用于存储汇总数据,便于快速查询和分析。在"From the Data...