第2章 数据库系统的数据模型

发布时间 : 星期五 文章第2章 数据库系统的数据模型更新完毕开始阅读

由上可以看出,这种分解法会导致大量的存储数据冗

课程 学生 余。为了减少分解所带来的数据冗余,可以采用虚拟记录法 (IMS系统所采用的方法)。

虚拟记录法是在数据库中,如果有一个记录x要在多处 被引用,则只存储一份这样的记录,其他需要引用的地方用

(学生)v (课程)v 其指针代替。这种用指针代替的记录称为虚拟记录,记为 V.x。图2-9表示学生和课程间的m:n联系。 图2-9 m:n联系的虚拟记录法 10

(3)由于层次结构中的全部记录都是以有序树的形式组织起来,当对某些层次结构进行修改时,不允许改变原数据库中记录类型之间的双亲子女联系,这使得数据库的适应能力受到限制。

(4)虚拟记录的指针必须指向一个实际存在的记录。有虚拟记录指向的记录不得删除。

(5)虚拟记录不能为根记录。 2.3.4 层次数据模型的优缺点 层次数据模型的优点主要有:

, 层次模型结构简单、层次分明,便于在计算机内实现。

, 在层次结构中,从根结点到树中任一结点均存在一条唯一的层次路径,这为有效地

进行数据操纵提供了条件。

, 在层次结构中除根结点外所有结点有且只有一个双亲结点,故实体集之间的联系可

用双亲结点唯一地表示,因此层次模型DBMS对层次结构的数据有较高的处理效

率。

, 层次数据模型提供了良好的完整性支持。 层次数据模型的缺点主要有:

, 层次数据模型缺乏直接表达现实世界中非层次型结构的复杂联系,如多对多联系。

, 对插入或删除操作有较多的限制。 , 查询子女结点必须通过双亲结点。 2.4 网状数据模型

层次数据模型使用树型结构可以有效地描述现实世界中有层次联系的事物,但对广泛存在的非层次型联系只能采用分解法或虚拟记录法等转换方法,把这些复杂联系转换成等价的层次结构。由于分解法会造成大量的记录冗余,虚拟记录法需要大量的指针,造成系统效率下降。为了克服层次模型结构描述非层次型事物的局限,20世纪60年代末美国CODASYL委员会提出了网状数据模型。

2.4.1 基本概念和结构 1)记录与数据项(Data Items)

与层次数据模型类似,在网状数据模型中,也是以记录为数据的存储单位。记录包含若干数据项,数据项相当于字段。但与层次数据模型中的字段不同,网状数据模型中的数据项不一定是简单的数据类型,也可以是多值的和复合的数据。简单的多值数据项为向量,例如一个单位有多个电话号码,则其电话号码数据项是多值的,可用有序集合表示。复合的多值数据项为重复组,例如一个单位有多个地址,而每个地址都是由省名、市名、街道名及号码、邮政编码等项组成的复合数据。

2)系(Set) 社团 班级 在网状数据模型中,数据间的联系用系表示。系代表了两记录1 1 之间的1:n联系,系用一条弧表示,箭头指向“n”方。“1”方S S 12

n 的记录称首记录,“n”方的记录称属记录。右图(书图2,18)n 是简单网状结构的例子。 学生

图2-10 简单的网状结构 11 3)系型

系也有型、值之分。系型主要三种类型。 (1)单属系型

由主记录型和单一的属记录组成。例如班级记录型和学生记录型组成的班级,学生系是单属系型。

计科0201班 班级 张三 王杰 李四 学生 型 值

图2-11 单属系 学校 (2)多属系型

该系型中包含三个以上记录型,其中一个为首记录型,其余为属 记录型。例如,在学校中有教师和职工,他们有不同的记录结构可形 教师 职工 成两个记录类型。当建立一个学校――教职工系型时,可将教师记录

型和职工记录型作为学校的两个属记录型。如图所示。 图2-12 多属系型 (3)奇异系型

这是一种只有属记录型而无首记录型的一种特殊系型。 4)联系记录

系型是首记录型和若干相关属记录型的集合,表示首记录型和属记录型之间1:n的联系。对于简单网状结构可以用系直接实现。但对于二元m:n联系、和多元

m:n:p联系也不能直接用系来表示,而是采用联系记录这个辅助数据结构,来将实体集间的m:n联系转换成两个1:n联系。

例如学生记录与课程记录之间的m:n联系可通过引入联系记录――学生选课记录,将其转换为两个1:n联系。如图2,13所示。

李四 张三 学生 课程 学生 SL SL 1 m 1 选课2 选课3 选课4 选课1 SL CL n CL CL CL m m

课程 网络安全 学生选课 C语言 数据库 m:n联系 型 值

图2,13 用联系记录表示m:n联系

由于网状数据模型中规定,一个记录型不能在一个系中既作为系的首记录又作为系的属记录,即系不能直接用来表示一个记录型的自身联系。这种只有一个记录类型,且记录间存在一定联系的结构称为环,是一种特殊的网状结构。我们通常可采用增加联系记录的方法来解决。例如,职工间的领导关系可以表示成一个环,如图2,14(a)所示,增加一个联系记录型――领导记录,该记录存放领导职务等信息,从而形成两个系类型S、S,如图2,1214(b)所示。

12

职工 系S为职工,领导系,描述哪个职工为领导,职1领导 S工与领导之间的联系是1:1联系;系S为领导,1S 22职工 1:n 职工系,表示某领导与多个被领导职工间的1:n1:1 1:n

的联系。 领导 (a) (b)

图2,14 环结构的表示 2.4.2 数据操作

联系合同范文客服:xxxxx#qq.com(#替换为@)