**
数据模型
**
数据模型,也是一种模型,是对现实世界数据特征的抽象。数据模型是数据库系统的核心和基础。
两种数据模型
数学模型应满足三方面的要求:一是能比较真实的模拟现实世界,二是容易为人所理解,三是便于在计算机上实现。
两种数据模型中,第一类是概念模型,第二类是逻辑模型和物理模型。概念模型也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。第二类中的逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等。它是按计算机系统的观点对数据建模,主要用于对数据库管理系统的实现。第二类中的物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,是面向计算机系统的。
概念模型
- 实体:客观存在的并且可相互区别的事务称为实体。实体可以是具体的人、物、事,也可以是抽象的概念或者联系。
- 属性:实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:学生实体可以由学号、姓名、性别、出生日期、所在院系等属性组成。
- 码:唯一标识实体的属性集称为码。例如学号事学生实体的码。
- 实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如学生(学号、姓名、性别、出生日期、所在院系)就是一个实体。
- 实体集:同一类型实体的集合称为实体集。例如,全体学生就是一个实体集。
- 联系:在现实世界之中,事物内部及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性实体之间的联系,实体之间的联系通常是指不同实体集之间的联系。
实体之间的联系有一对一、一对多和多对多等多种类型。
如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系。例如一门课程可以同时有若干名学生选修,而一个学生可以同时选修多门课程,则课程实体与学生实体具有多对多联系。
概念模型的一种表示方法:实体-联系方法(E-R模型表示)。
数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。