首页 理论教育Visu数据模型及关系类型

Visu数据模型及关系类型

【摘要】:表1.3职工授课情况表表1.4学生基本情况表数据模型是指表内的关系,在表之间存在4种关系类型。

1.3 数据模型

数据库的结构形式称为数据模型,它是由数据结构、数据操作和数据约束组成的。数据模型是数据库管理系统用来表示实体与实体之间联系的一种方法,一个具体的数据模型应能正确地反应数据之间存在的整体逻辑关系。

1.3.1 数据模型的基本概念

实体(Entity)是客观存在并且可以区别的事物。例如,一位教师,一名学生等。

属性(Attribute)是实体的特性。例如,一位教师,它的属性包含姓名、性别、年龄、身高、职务等。

1.3.2 数据模型的分类

数据库中的数据从整体上看是有结构的,就是所谓的结构化这种结构决定了数据及相互间的联系方式和数据库的设计方法。根据数据间不同的结构方式可将数据库分为3种模型,即层次模型、网状模型和关系模型。

1.层次模型

层次模型(Hierarchical Model)的总体结构为一个倒立的树形。在不同的数据之间只存在单纯的联系,如图1.3.1所示。层次模型的特点可以概括如下:

(1)仅有一个节点无双亲节点,该节点称为根节点。

(2)除根节点外,其余节点有且仅有一个双亲节点。

2.网状模型

网状模型(Network Model)的总体结构呈网状,在两个数据中间允许存在两种或多种联系,如图1.3.2所示。网状模型的特点可以概括如下:

(1)有一个以上节点,无双亲节点。

(2)允许一个节点有多个双亲节点。

(3)允许节点间有复合链。

img3

图1.3.1 层次结构

img4

图1.3.2 网状结构

3.关系模型(www.chuimin.cn)

关系模型是指一个对象的属性问题,是对象和属性之间的联系,可以看做是二维表的形式。以职工基本情况表来说明该模型如表1.2所示。

表1.2 职工基本情况表

img5

职工基本情况表是一张二维表,表示一个关系。表中的每一行称为一个元组,表中的每一列称为一个属性,属性可以有多个,每个属性的名字称为属性名。关系模型可以用关系名(属性名1,属性名2,…,属性名N)表示。

例如:职工(职工号,姓名,性别,年龄,职称,政治面貌,工资)

“职工”是实体名,实体的属性与关系的属性相对应;加下画线的是关键字,其属性是唯一的,标志一条记录,而且不能重复。

在关系模型数据库中,一个数据库可以包含多个表,每个二维表存放特定的信息,如表1.3和表1.4所示。

表1.3 职工授课情况表

img6

表1.4 学生基本情况表

img7

数据模型是指表内的关系,在表之间存在4种关系类型。

(1)一对一关系。在相互关联的两个数据表中,有一个字段是相同的、唯一的且是关键的。例如在表1.2和表1.3中的字段“职工号”,这种关系就是一对一关系。

(2)一对多关系。在两个数据表中用一个相同的字段作为相互联系的关键字段,在这两个相同的字段中,一个字段被看做原始关键字段,该字段的值是唯一的;另一个数据表中的关键字段是外来关键字段,该字段的值是重复的,那么这两个表就构成了一对多关系。例如在表1.3和表1.4中,关键字段“课程”在表1.3中是原始关键字段,而在表1.4中是外来关键字段,这个相同的字段在两个表中就构成了一对多关系。

(3)多对一关系。多对一关系与一对多关系类似,就是把一个表的关键字段作为原始关键字段,这个字段是重复的,而另外一个表中的关键字段是外来关键字段,而且是唯一的,这两个表就构成了多对一关系。例如在表1.4和表1.3中,关键字段“课程”在表1.4中是原始关键字段,在表1.3中是外来关键字段,这两个表就构成了多对一关系。

(4)多对多关系。多对多关系是在两个表中,把一个数据表中的关键字段作为原始关键字段,这个关键字段必须是重复的,而把另外一个表中的关键字段作为外来关键字段,而这个关键字段也必须是重复的,两个表就构成了多对多关系。在数据处理中,数据表中多对多关系是很普遍的。

1.3.3 数据库的分类

数据库中的数据结构决定了数据库的设计方法和相互间的联系方式,按照数据模型3种不同的结构方式,可将数据库分为3种模型数据库,即层次模型数据库、网状模型数据库和关系模型数据库。各种数据库的具体结构方式和相应的数据模型的结构方式相同。

目前,还有一种数据库模型正处于发展阶段,即对象―关系模型,它除具有关系模型数据库的特点外,还支持文本、图像、图形、声音等新的数据类型,且支持类、继承、方法等丰富的对象机制,并提供了高速集成的支持客户机/服务器的应用接口