1.2.2 数据模型

1.2.2 数据模型

数据模型是一种对客观事物抽象化描述的表现形式。首先,数据模型要能够真实地反映现实世界;其次,数据模型要尽量简单、易于理解;最后,数据模型要便于实现,因为最终要由计算机来处理。建立数据模型的过程就是数据建模。

按不同的应用层次,数据模型分成三种类型:概念模型、逻辑模型和物理模型。

1.概念模型

概念模型是概念数据模型的简称,用来描述现实世界的概念化结构。在数据库设计初期,设计人员抛开计算机系统及数据库管理系统的具体技术问题,集中精力分析数据与数据之间的联系等,最常用的概念模型是E-R模型。

E-R模型是直接从现实世界中抽象出实体类型及实体间的联系,是对现实世界的一种抽象,主要成分是实体、联系和属性。实体指现实世界中的事物,可以是具体的事物,如学生教师、班级等,也可以是人为的概念,如学生选课、教师监考等。属性是实体的描述性特征,是对实体具有相对重要意义的某一方面情况的描述结果。现实世界中的实体都不是孤立的,它们之间均存在一定的联系,联系可以表示链接实体的一个事件,或者仅仅存在于实体之间的逻辑关系。

用来表示E-R模型的图形称为E-R图。E-R图表示方法如下:

①用矩形表示实体,在框内写上实体名;

②用椭圆形表示实体的属性,并用无向边把实体和属性连接起来;

③用菱形表示实体间的联系,在菱形内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。

例如,学生实体与班级实体以及它们之间的联系的E-R图如图1-1所示。其中,学生实体包括4个属性:学号、姓名、性别和班级编号,班级实体包括2个属性:班级编号和班级名称。班级实体与学生实体之间的联系类型是1:n,表示一对多联系,因为一个班级可以拥有多个学生,而一个学生仅属于一个班级。

img1

图1-1 学生与班级实体联系图

在介绍联系类型之前,先搞清楚什么是实体的实例。实体的实例是实体的具体值,一个实体至少包含一个以上的实例。如“2009001,张斌,男,01”是学生实体的一个实例,“01,09计算机1”是班级实体的一个实例。

联系的类型主要包括以下三种。

(1)一对一联系:如果A实体的一个实例与B实体的一个实例存在关联,反过来B实体的一个实例也仅与A实体的一个实例存在关联,这种联系就是一对一联系,在E-R图中用1:1表示。如教师实体与教师工资实体之间的联系是一对一联系。

(2)一对多联系:如果A实体的一个实例与B实体的多个实例存在关联,反过来B实体的一个实例仅与A实体的一个实例存在关联,这种联系就是一对多联系,在E-R图中用1:n表示。如班级实体与学生实体之间的联系是一对多联系。

(3)多对多联系:如果A实体的一个实例与B实体的多个实例存在关联,反过来B实体的一个实例也与A实体的多个实例存在关联,这种联系就是多对多联系,在E-R图中用m:n表示。如学生实体与课程实体之间的联系是多对多联系。

概念模型必须转换成逻辑模型,才能在数据库管理系统中实现。

2.逻辑模型

逻辑模型是逻辑数据模型的简称,是用户从数据库中所看到的模型,是具体的数据库管理系统所支持的模型。常用的逻辑模型有网状模型、层次模型、关系模型、面向对象模型等。其中,关系模型是目前主流数据库管理系统所采用的逻辑模型。逻辑模型包括三个部分:数据结构、数据操作和数据约束。

(1)数据结构:主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,不同的数据结构具有不同的操作和约束。

(2)数据操作:主要描述在相应的数据结构上的操作类型和方式。

(3)数据约束:主要描述数据结构内数据间的语法、词义联系、数据间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。

3.物理模型

物理模型是面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,不但与具体的数据库管理系统有关,还和操作系统、计算机硬件有关。物理模型的实现由数据库管理系统自动完成。