第三章 数据库的逻辑结构与物理结构设计

上传人:工**** 文档编号:509468792 上传时间:2023-08-04 格式:DOCX 页数:28 大小:181.93KB
返回 下载 相关 举报
第三章 数据库的逻辑结构与物理结构设计_第1页
第1页 / 共28页
第三章 数据库的逻辑结构与物理结构设计_第2页
第2页 / 共28页
第三章 数据库的逻辑结构与物理结构设计_第3页
第3页 / 共28页
第三章 数据库的逻辑结构与物理结构设计_第4页
第4页 / 共28页
第三章 数据库的逻辑结构与物理结构设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第三章 数据库的逻辑结构与物理结构设计》由会员分享,可在线阅读,更多相关《第三章 数据库的逻辑结构与物理结构设计(28页珍藏版)》请在金锄头文库上搜索。

1、第三章 数据库的逻辑结构与物理结构设计数据库的逻辑结构设计的主要任务是把概念层数据模型转换为组织层数据模型,即根据 数据库的概念结构导出特定的数据库管理系统可以处理的数据库的逻辑结构。与数据库的逻 辑结构相对应,本章我们称组织层的数据模型为逻辑模型。数据库的物理结构设计的主要任 务是为逻辑模型选取一个最适合应用要求的物理结构。本章主要介绍以下内容:逻辑模型关系模型关系规范化逻辑结构设计的任务数据库的物理结构设计第一节 逻辑模型概念模型经过转换成为逻辑模型(也称为结构数据模型、组织层数据模型,常简称为 数据模型)。它直接面向数据库的逻辑结构,直接与DBMS有关。一、主要的逻辑模型目前,数据库领域

2、中主要的逻辑模型有层次模型、网状模型、关系模型和面向对象模型 等。1. 层次模型层次模型(Hierarchical Model)是按照层次结构的形式组织数据库数据的数据模型,是 数据库中使用较早的一种数据模型,其典型代表是 IBM 公司研制的、曾经被广泛使用的第 一个大型商用数据库信息管理系统IMS(Information Management System)。(1) 数据结构。层次模型使用树形结构表示实体及实体间的联系。层次模型的基本特 点是:有且只有一个结点没有父结点,这个结点称为根结点;根以外的其他结点有且只有一 个父结点。在层次模型中,树的结点是记录类型。上一层记录类型和下一层记录类型

3、之间的联系是 1:n的,用结点之间的连线表示。这种联系是父子之间的一对多联系。层次模型如图3-1所 示。在层次模型数据库中查找记录,必须指定存取路径,即从根结点开始沿途所经过的路程。在层次模型中,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。如 果要存取某一记录类型的记录,可以从根结点开始,按照有向树层次逐层向下查找,查找路 径就是存取路径。任何一个给定的记录值只有按其路径查看时,才能显示其全部意义,没有 一个记录值能够脱离父记录而独立存在。除根节点外,任何结点的父结点都是唯一的,因此 只要知道每个结点的父结点,就可以知道整个模型的整体结构。图 3-1 层次模型示例2)层次模型的

4、优缺点。层次模型的优缺点,如表3-1 所示。表 3-1 层次模型的优缺点内容优 点(1)层次模型结构简单、层次分明,便于在计算机内实现。在层次数据结构中,从根结 点到树中任一结点均存在一条唯一的层次路径,为有效地进行数据操纵提供条件(2)由于层次结构规定除根结点外所有结点有且仅有一个父结点,故实体集之间的联系 可用父结点唯一地表示,并且层次模型中总是从父记录指向子记录,所以记录类型 之间的联系名可省略(3)由于实体集间的联系固定,所以层次模型DBMS对层次结构的数据有较高的处理效 率(4)层次数据模型提供了良好的完整性支持缺 点(1)层次数据模型缺乏直接表达现实世界中非层次关系实体集间的复杂联

5、系能力(2)对插入或删除操作有较多的限制(3)查询子结点必须通过父结点2. 网状模型网状模型的典型代表是DBTG系统,亦称CODASYL系统。这是20世纪70年代数据系统 语言研究会(Conference on Data System Language,简称CODASYL)下属的数据库任务组(Data Base Task Group,简称DBTG)提出的一个系统方案。DBTG系统虽然不是实际的软件系统,但 是它提出的基本概念、方法和技术具有普遍意义,对于网状数据库系统的研制和发展起了重 大的影响。(1)数据结构。网状模型是用网状结构表示实体及其之间联系的模型。网状模型的特 点如下:可以有一个以

6、上结点无父结点;至少有一个结点有一个以上父结点。网状模型和层 次模型在本质上是一样的,它们都是基本层次联系的集合。网状模型结点之间的联系不受层 次的限制,可以任意发生联系,所以它的结构是结点的连通图,如图3-2所示。图 3-2 网状数据模型2)网状模型的优缺点。网状模型的优缺点如表3-2所示。表 3-2 网状模型的优缺点内容优点(1) 能更为直接描述现实世界(2) 具有存取效率高等良好性能缺点(1) 数据结构比较复杂,而且随着应用环境的扩大,数据库结构变得更加复杂,不便于 终端用户掌握(2) 由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的 存取路径,因此,用户必须了解

7、系统结构的细节,加重了编写应用程序的负担3. 关系模型关系模型是目前最重要、应用最广泛的一种数据模型。现在主流的数据库系统大都是基 于关系模型的关系数据库系统(Relational Database System)。关系模型是由美国IBM公司San Jose研究室的研究员E.F.Codd于1970年首次提出的。20世纪80年代以来,计算机新推出 的DBMS几乎都支持关系模型。(1)数据结构。在关系数据模型中,把二维表格称为关系,表中的列称为属性,属性 的取值范围称为域,表中的一行称为一个元组,元组用关键字标识。关系模型是由若干关系 模式组成的集合。在关系模型中用二维表表示实体集及其属性,用二维

8、表描述实体集间的联 系。2)关系模型的优缺点。关系模型的优缺点如表3-3 所示。表 3-3 关系数据模型的优缺点内容优点(1) 关系模型建立在严格的数学基础之上(2) 关系模型的概念单一,容易理解(3) 关系模型的存取路径对用户透明缺点(1) 关系模型中的数据联系是靠数据冗余实现的,其查询效率往往不如非关系模型, 必须进行优化,以提高性能(2) 关系模型在处理如计算机辅助设计数据、多媒体数据时就有了局限性,必须要和 其他的新技术结合关系模型自诞生以后发展迅速,深受用户的喜爱。而计算机硬件的飞速发展,更大容量、 更高速度的计算机在一定程度上弥补了关系数据模型的缺点。因而,关系数据库始终保持其 主

9、流库的地位。本书后面章节所介绍的内容主要讲解关系数据库。4. 面向对象模型面向对象的概念最早出现在程序设计语言中, 20世纪70年代末、80年代初开始提出了 面向对象的数据模型(Object-Oriented Data Mode),面向对象模型是面向对象概念与数据 库技术相结合的产物,用以支持非传统应用领域对数据模型提出的新需求。它的基本目标是 以更接近人类思维的方式描述客观世界的事物及其联系,且使描述问题的问题空间和解决问 题的方法空间在结构上尽可能一致,以便对客观实体进行结构模拟和行为模拟。面向对象模型的基本概念有:对象、类、消息与封装、继承。(1)对象(Object):对象是现实世界中的

10、实体的模型化。现实世界中的任一实体都可 模型化为一个对象,每一个对象都有唯一的对象标识,把状态和行为封装在一起。对象由状态和行为两部分组成,对象的状态是对象属性的集合。属性是用来描述对象的 状态、组成及特性,属性既可以是一些简单的数据类型,也可以是一个对象,即对象可以嵌 套。对象的行为是在对象状态上操作的方法的集合。方法用来描述对象的行为方式。方法的 定义一般分为接口说明和实现两部分,接口说明与子程序的接口说明类似,用以说明方法的 名称、参数和结果返回值的类型等。方法的实现是一段程序代码,用以实现方法的功能。(2)类(Class):具有相同属性集和方法集的所有对象构成一个类。任一个对象是某一

11、类的一个实例。类可以由用户自定义,也可以从其他类派生出来,称为子类,原来的类称为 超类(或父类),一个子类可以有多个超类,有的是直接的,也有的是间接的。超类和子类 构成层次结构关系,称为类层次。如图3-3 所示,研究生、本科生及专科生都是学生类的子 类,博士研究生、硕士研究生是研究生的子类,学生和研究生是博士研究生及硕士研究生的 超类,其中研究生是直接超类。(3)消息(Message)与封装(Encapsulation):由于每个对象是其状态与行为的封装, 一个对象不能直接访问或改变另一对象的内部状态(属性)和行为(方法)。对象与外部的 通信只能借助于消息,消息从外部传递给对象,调用对象的相应

12、方法,执行相应的操作,再 以消息的形式返回操作的结果,这是面向对象模型的主要特征之一。封装使方法的接口和实 现分开,有利于数据的独立性,同时封装使对象只接受对象中所定义的操作,有利于提高程 序的可靠性。图 3-3 类层次(4)继承(Inheritance):子类可以继承其所有超类中的属性和方法,同时子类还要定 义自己的属性和方法。如图3-3 所示的硕士研究生继承了研究生的所有属性和方法。继承是 面向对象模型中避免重复定义的机制之一,大大减少了信息冗余,而且作为一种强有力的建 模工具,能以人类思维规律对现实世界提供一种简明准确的描述,同时也有利于软件的重用。面向对象模型由于语义丰富,表达自然,因

13、此面向对象数据库作为新一代数据库,在一 些新的应用领域如 CAD、CAM、CASE 等得到了广泛重视和发展。二、逻辑模型的三要素逻辑模型是一种形式化的数据描述、数据间联系以及有关语义约束规则的方法。数据库 专家E.F.Codd认为:一个基本数据模型是一组向用户提供的规则,这些规则规定逻辑结构如 何组织以及允许进行何种操作。通常一个数据库的逻辑模型由数据结构、数据操作和数据的 约束条件三部分组成,这三部分又称为逻辑模型的三要素。1. 数据结构 数据结构用于描述数据库系统的静态特性,是逻辑模型最基本的组成部分,规定了如何 把基本的数据项组织成较大的数据单位,以描述数据的类型、内容、性质和数据之间的

14、相互 关系。通常,在数据库系统中按照数据结构的类型来命名逻辑模型。例如,层次型数据结构、 网状型数据结构和关系型数据结构的逻辑模型分别称为层次模型、网状模型和关系模型。数 据结构是刻画一个逻辑模型性质最重要的方面。2. 数据操作 数据操作用于描述数据库系统的动态特性,是指一组用于指定数据结构的任何有效的操 作或推导规则。数据库中主要的操作有查询和更新两大类。逻辑模型必须定义这些操作的确 切含义、操作符号、操作规则以及实现操作的数据库语言。3. 数据的约束条件 数据的约束条件是一组完整性规则的集合,它定义了给定逻辑模型中数据及其联系所具 有的制约和依存规则,用以限定相容的数据库状态的集合和可容许

15、的状态改变,以保证数据 库中数据的正确性、有效性和相容性。完整性约束的定义对逻辑模型的动态特性做了进一步的描述与限定。因为在某些情况 下,若只限定使用的数据结构及可在该结构上执行的操作,仍然不能确保数据的正确性、有 效性和相容性。为此,每种数据模型都规定有通用和特殊的完整性约束条件。例如,关系模 型中通用的约束规则是实体完整性和引用完整性。特殊的约束规则是用户定义的完整性。第二节 关系模型由于关系模型是目前最重要、应用最广泛的一种数据模型,而且当前大多数数据库系 统都是基于关系模型的关系数据库系统,因此本节详细讨论关系模型。一、关系模型的数据结构关系模型是以集合论中的关系概念为基础发展起来的数据模型。在关系模型中,基本元 素包括关系、关系模式、属性、元组、域、关键字以及关系实例等。1关系 一个对象可以用一个或多个关系来描述。关系就是定义在它的所有属性域上的多元关 系。设关系为尺,它有属性A ,A , ,A,其对应的域分别为D ,D , ,D,则关系R可表示1 2 n 1 2 n为:R(D / A , D / A , , D / A )或 R(A , A , , A )。1 1 2 2 n n 1 2 n上式是关系R的描述,A (1 i n)是属性名,R的值用r或r(R)表示,是R的属性的i个数,称为关系的目。从形式上看,关系相当于一个二维表(Table),如表3-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号