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

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

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

第二章 数据库系统的数据模型 本章主要内容

数据库是个具有一定数据结构的数据集合,这个结构是根据现实世界中事物之间的联系来确定的。在数据库系统中不仅要存储和管理数据本身,还要保存和处理数据之间的联系,这种数据之间联系与就是实体之间的联系。研究如何表示和处理这种联系是数据库系统的一个核心问题,用以表示实体以及实体之间联系的数据库的数据结构称为数据模型。本章将着重介绍一下概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。

2.1 数据模型概述

数据模型(Data Model)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。

为了把现实世界的具体事物抽象、组织为某一DBMS现实世界 支持的数据模型,通常首先把现实世界中的客观对象抽象

认识抽象 为概念模型,然后把概念模型转换为某一DBMS支持的数 据模型,这一过程如图2,1所示。 概念数据模型:信息世界 数据模型按不同的应用层次可划分为两类: 转换 (1)概念数据模型(又称概念模型)

是一种面向客观世界、面向用户的模型,独立于计算逻辑数据模型:DBMS支持的数据模型 机系统的数据模型,完全不涉及信息在计算机中的表示,

只是用来描述某个特定组织所关心的信息结构。概念模型是按用户的观点对数据建模,是用户和数据设计人员之间进行交流的工具,主要是用于数据库设计。例如E,R模型、扩充E,R模型属于这一类模型。

(2)逻辑数据模型(又称数据模型)

是一种直接面向数据库系统的模型,主要用于DBMS的实现。例如层次模型、网状模型、关系模型均属于这一类模型。这类模型有严格的形式化定义,以便于在计算机系统中实现。

2.1.1 数据模型的基本组成

数据模型是现实世界中的事物及其间联系的一种抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。通常一个数据库的数据模型由数据结构、数据操作和数据的约束条件三个部分组成。

(1)数据结构

是指对实体类型和实现间联系的表达实现。它是数据模型最基本的组织部分,规定了数据模型的静态特性。在数据库系统中通常按照数据结构的类型来命名数据模型,例如,采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。

(2)数据操作

是指对数据库进行的检索和更新(包括插入、删除和修改)两类操作。它规定了数据模型的动态操作。

(3)数据的约束条件

数据的约束条件是一组完整性规则的集合,它定义了给定数据模型中数据及其联系应具

1

有的制约和依赖规则。以确保数据库中数据的正确性、有效性和相容性。

2.1.2 数据模型的发展

20世纪60年代后期,在文件系统基础上发展起来的层次模型、网状模型和关系模型等传统数据模型,这些传统数据模型都是在记录的基础上定义了各自数据的基本结构、操作和完整性约束条件以及不同类型记录间的联系。传统数据模型在数据库产生以来得到了广泛的应用,但随着数据库应用系统使用范围的不断扩大,传统数据模型中这种过于面向机器实现、模拟现实世界的能力不足、语义贫乏等弱点日益突出,导致抽象级别更高、表达能力更强的新型数据模型即非传统数据模型的发展。例如20世纪70年代后期产生的E,R数据模型是一种概念模型,它提供了丰富的语义和直接模拟现实世界的能力,且具有直观、自然、易于用户理解等优点。以及CAD/CAM、CASE等专用概念数据模型的产生。

由于数据库新的应用不断扩大,对数据模型的要求也越来越多。附着新一代数据库研究工作的不断深入,20世纪80年代以来又相继推出面向对象数据模型、基于逻辑的数据模型等新的模型。

下面几节我们将着重对概念模型、传统数据模型、面向对象数据模型进行讨论。

2.2 E,R数据模型

概念模型是从现实世界到数据世界的一个中间层次,是数据库设计人员进行数据库设计的重要工具。长期以来在数据库设计中广泛使用的概念模型当属是E,R数据模型。

2.2.1 基本概念

E,R数据模型(即Entity-Relationship data model,实体,联系数据模型)是P. Chen(Peter Pin-Shan Chen)于1976年提出的一种语义数据模型。E-R数据模型不同于传统数据模型,它不是面向实现,而是面向现实世界。设计E-R数据模型的目标是有效和自然地模拟现实世界,而不是它在机器中如何实现,因此E-R数据模型

只应包含那些对描述现实世界有普遍意义的抽象概念。下面介绍一下E-R数据模型的3个抽象概念。

1)实体(Entity)

实体是客观存在的且可以区别的事物。现实世界是由各种各位的实体组成。实体可以是有生命的,也可以是无生命的;可以是具体的,也可以是抽象的;可以是物理上存在的,也可以是概念性的。例如学生、教师、文化艺术、梦、兴趣等等都是实体。所以凡是可以互相区别又可以被人们识别的事、物、概念等统统抽象为实体。

在数据库设计中,人们常常关心的是具有相同性质的实体的集合。这种具有相同性质的一类实体的集合称为实体集。例如全校学生的集合组成学生实体集。实体集中的各个实体是借助实体标识符(称关键字)加以区别的。在E,R数据模型中,也有型与值之分;实体集作为型来定义,而每一个实体是它的实例或值。

2)联系(Relationship)

实体之间会有各种关系,例如学生实体与课程实体之间可能有选课关系,教师实体与学生实体之间可能有讲授关系等。这种实体与实体间的关系抽象为联系。

根据参与联系的实体个数n的不同,通常将联系分为如下几类: (1)二元联系

只有两个实体参与的联系称为二元联系,这是现实世界大量存在的联系。在二元联系中,E,R数据模型又把联系区分为一对一(1:1)、一对多(1:n)、和多对多(m:n)三种。

, 一对一(1:1)联系

若两个实体集中E、E中的每一个实体至多和另一个实体集中的一个实体有联系,则12

2

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