数据模型
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简化了应用程序员的工作,便于数据库应用系统的设计和维护。故此,关系模型自诞生以后就得到了迅速的发展,成为应用最为广泛的、唯一的数据模型。
分享到:
相关推荐
Data Model,使对现实世界数据特征的抽象,是数据系统中用以提供信息表示和操作手段的形式构架。 数据模型的应用层次 应用层次 概念模型(信息世界) 逻辑模型(机器世界) 物理模型(物理存储) 数据模型的应用层次...
高级数据模型英文课件 Some Basic Terms History of Database Models Problems with RDBMS Aspects of Advanced Data Models
QlikView 基础培训资料,Data Model(数据模型),希望对大家有帮助。
ServiceNow-Data-Model-v3.4 ServiceNow 数据模型CMDB,ITSM 数据模型,ITOM数据模型
TR-181_Issue-2_Amendment-2-Device Data Model For TR069
未来机载能力环境,旨在提高机载应用软件的可移植性和可复用性。附件为FACE共享数据模型。
1.2数据模型(Data Model) 数据模型是一种模型,是对现实世界数据特征的抽象。数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。 数据模型的组成要素:数据...
企业通用建模手册第二卷,作者为Len Silverston。 是企业数据建模人员的不二选择。 提供了许多与特定行业相关的模型,如生产企业,电信行业,医疗行业等。
The purpose of this Technical Report is to specify the Data Model for the Femto Access Point (FAP) for remote management purposes using the TR-069 CWMP within the scope defined in the following ...
企业通用建模手册第二卷第二部份,作者为Len Silverston。 是企业数据建模人员的不二选择。 提供了许多与特定行业相关的模型,如生产企业,电信行业,医疗行业等。
数据模型资源手册 The Data Model Resource Book Vol. 2-单页版,打好书签的
Data Model Resource Book 数据模型资源手册 这是第一卷,为英文版
数据模型资源手册 the data model resource book, 卷1 卷2英文版,行业数据模型设计的理想参考书.
经典的数据建模资料,作者是大名鼎鼎的david hay
船舶数据,运动模型,简易分析数学模型。matlab语言编写
dataModel.Device 这些数据模型允许表示不同性质的设备(IoT,移动设备,可穿戴设备等)。数据模型清单以下实体类型可用: 。 一种旨在完成特定任务(感测环境,执行操作等)的设备(硬件+软件+固件)。 。 该实体...
3.甲骨文出品的 数据模型机关系数据库设计文档卷1 4.台湾研究机构的两份PPT,对关系数据库理论的详细介绍,内容深入浅出,值得一看。 以上资料对于有兴趣在数据建模和关系数据库设计道路上纵深发展的人应该很值得...
数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架。数据库系统中用以提供信息表示和操作手段的形式构架。数据模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。
dataModel.Transportation 这些数据模型描述了处理交通问题的智能应用程序所涉及的主要实体。这组实体主要与汽车和智能城市垂直细分市场以及相关的物联网应用相关。在可行时,包括对现有schema.org实体类型和属性的...