第11章 数据库设计基础
佳木斯大学
content
数据库系统的基本概念
1.数据
数据(Data)实际上就是描述事物的符号记录。
计算机中的数据一般分为两部分,其中一部分与程序仅有
短时间的交互关系,随着程序的结束而消亡,它们称为临时性
(Transient)数据,这类数据一般存放于计算机内存中;而另一
部分数据则对系统起着长期持久的作用,它们称为持久性(Persistent)数据。数据库系统中处理的就是这种持久性数据。
软件中的数据是有一定结构的。首先,数据有型(Type)与
值(Value)之分,数据的型给出了数据表示的类型,如整型、实
型、字符型等,而数据的值给出了符合给定型的值,如整型值
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
15。随着应用需求的扩大。数据的型有了进一步的扩大,它包括了将多种相关数据以一定结构方式组合构成特定的数据框架。这样的数据框架称为数据结构(Data structure),数据库中在特定条件下称之为数据模式(Data schema)。
2.数据库
数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。
数据库存放数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构以建立数据间内在联系与复杂的关系,从
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
而构成数据的全局结构模式。
数据库中的数据具有“集成”、“共享”之特点,也就是数据库集中了各种应用的数据,进行统一的构造与存储,而使它们可被不同应用程序所使用。
3.数据库管理系统
数据库管理系统(Database Management System,简称DBMS)
是数据库的机构,它是一种系统软件,负责数据库中的数据组
织、数据操纵、数据维护、控制及保护和数据服务等。数据库
中的数据是具有海量级的数据,并且其结构复杂,因此需要提
供管理工具。数据库管理系统是数据库系统的核心,它主要有
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
如下几方面的具体功能:
(1)数据模式定义。
(2)数据存取的物理构建。
(3)数据操纵。
(4)数据的完整性、安全性定义与检查。
(5)数据库的并发控制与故障恢复。
(6)数据的服务。
为完成以上六个功能,数据库管理系统一般提供相应的数据语言:(Data Language),它们是:
数据定义语言(Data Definition Language简称DDL)。该语
言负责数据的模式定义与数据的物理存取构建。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
数据操纵语言(Data Manipulation Language简称DML)。该
语言负责数据的操纵,包括查询及增、删、改等操作。
数据控制语言(Data Control Language简称DCL)。该语言
负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能,包括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序、数据库恢复程序等。
上述数据语言按其使用方式具有两种结构形式:
交互式命令语言。
宿主型语言。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
4.数据库管理员
由于数据库的共享性,因此对数据库的规划、设计、维护、监视等需要有专人管理,称他们为数据库管理员(Database Administrator简称DBA)。其主要工作如下:
(1)数据库设计(Database Design)。
(2)数据库维护。
(3)改善系统性能,提高系统效率。
5.数据库系统
数据库系统(Database System简称DBS)由如下几部分组成:数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。这五个部分构成了一个以数据库为核心的完整的运行实体,称为数据库系统。
在数据库系统中,硬件平台包括:
计算机:它是系统中硬件的基础平台,目前常用的有微机、小型机、中型机、大型机及巨型机。
网络:过去数据库系统一般建立在单机上,但是近年来它较多的建立在网络上,从目前形势看,数据库系统今后将以建立在网络上为主,而其结构形式又以客户/服务器(C/S)方式与浏览器/服务器(B/S)方式为主。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
在数据库系统中,软件平台包括:
操作系统:它是系统的基础软件平台,目前常用的有各种UNIX(包括LINUX)与WINDOWS两种。
数据库系统开发工具:为开发数据库应用程序所提供的工具,它包括过程性程序设计语言如C,C++等,也包括可视化开发工具VB、PB、Delphi等,它还包括近期与INTERNET有关的HTML及XML等以及一些专用开发工具。
接口软件:在网络环境下数据库系统中数据库与应用程序,数据库与网络间存在着多种接口,它们需要用接口软件进行联接,否则数据库系统整体就无法运作,这些接口软件包括ODBC,JDBC,OLEDB,CORBA,COM,DCOM等。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
6.数据库应用系统(Database Application System简称DBAS)
利用数据库系统进行应用开发可构成一个数据库应用系统,数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。
数据库应用系统的7个部分以一定的逻辑层次结构方式组成一个有机的整体。如果不计数据库管理员(人员)并将应用软件与应用界面记成应用系统,则数据库应用系统的结构如图所示。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
数据、数据库、数据库管理系统
应用系统
应用开发工具软件
数据库管理系统
操作系统
硬件
图 数据库系统的软硬件层次结构图
佳木斯大学
content
数据库系统的基本概念
下面以一个用户读取某数据记录为例,展示在数据库系统中访问数据的具体执行过程,该过程如图所示,对其各个步骤简单说明如下:
①用户程序中有一条读数据库记录的DML语句,当计算机执行到该语句时,即向DBMS发出读取相应记录的命令。
②DBMS接到该命令后,首先访问该用户对应的子模式,检查该操作是否在合法授权范围内及欲读记录的正确性、有效性,若不合法则拒绝执行,并向应用程序状态返回区发出回答状态信息;反之执行下一步。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
③DBMS读取模式描述并从子模式映像到全局模式,从而确定所需的逻辑记录类型。
④DBMS从逻辑模式映像到存储模式,从而确定读入哪些物理记录以及具体的地址信息。
⑤DBMS向操作系统发出从指定地址读取记录的命令。
⑥操作系统执行读命令,按指定地址从数据库中把记录读入系统缓冲区,并在操作结束后向DBMS作出回答。
⑦DBMS按照模式将读入系统缓冲区中的内容映像成用户要求读取的逻辑记录。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
⑧DBMS将导出的逻辑记录送入用户工作区,并将操作执行情况的状态信息返回给用户。
⑨DBMS将已执行的操作载入运行日志。
⑩应用程序根据返回的状态信息决定是否利用该数据进行操作等。
数据、数据库、数据库管理系统
佳木斯大学
content
数据库系统的基本概念
数据、数据库、数据库管理系统
图 数据库系统访问数据的步骤
佳木斯大学
content
数据库系统的基本概念
数据管理发展至今已经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段,人工管理阶段是在20世纪50年代中期以前,主要用于科学计算,硬件无磁盘,直接存取,软件没有操作系统。20世纪50年代后期到20世纪60年代中期,进入文件系统阶段。20世纪60年代之后,数据管理进入数据库系统阶段。
1.文件系统阶段
文件系统是数据库系统发展的初级阶段,它提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的管理和数据共享的能力。
数据库系统的发展
佳木斯大学
content
数据库系统的基本概念
2.层次数据库与网状数据库系统阶段
从20世纪60年代末期起,真正的数据库系统——层次数据库与网状数据库开始发展,它们为统一管理与共享数据提供了有力支撑,这个时期数据库系统蓬勃发展形成了有名的“数库时代”。
3.关系数据库系统阶段
关系数据库系统出现于20世纪70年代,在80年代得到蓬勃发展,并逐渐取代前两种系统。
关于数据管理三个阶段中的软硬件背景及处理特点,简单概括在表中。
数据库系统的发展
佳木斯大学
数据库系统的基本概念
数据库系统的发展
由DBMS提供数据安全性、完整性、并发
控制和恢复
应用程序自己控制
应用程序自己控制
数据控制能力
整体结构化,用数据模型描述
记录内有结构
整体无结构
无结构
数据结构化
具有高度的物理独立性和一定的逻辑独立性
独立性差
不独立,完全依赖于程序
数据独立性
点
共享性大
冗余度小
共享性差
冗余度大
无共享
冗余度大
数据共享氍发
特
现实世界
某个应用程序
某个应用程序
数据面向对象
数据库管理系统
文件系统
人
数据管理者
联机实时处理
分布处理 批处理
联机实时处理
批处理
批处理
处理方式
景
有数据库管理系统
有文件系统
没有操作系统
软件背景
大容量磁盘
磁盘、磁鼓
无直接存取设备
硬件背景
大规模管理
科学计算、管理
科学计算
应用背景
背
数据库系统
文件系统
人工管理
表 数据管理三个阶段的比较
佳木斯大学
content
数据库系统的基本概念
在关于数据库的诸多新技术中,下面三种是比较重要的:
面向对象数据库系统:用面向对象方法构筑面向对象数据模型使其具有比关系数据库系统更为通用的能力;
知识库系统:用人工智能中的方法特别是用谓词逻辑知识表示方法构筑数据模型,使其模型具有特别通用的能力;
关系数据库系统的扩充:利用关系数据库作进一步扩展,使其在模型的表达能力与功能上有进一步的加强,如与网络技术相结合的Web数据库、数据仓库及嵌入式数据库等。
数据库系统的发展
佳木斯大学
content
数据库系统的基本概念
数据库技术是在文件系统基础上发展产生的,两者都以数据文件的形式组织数据,但由于数据库系统在文件系统之上加入了DBMS对数据进行管理,从而使得数据库系统具有以下特点:
1.数据的集成性
数据库系统的数据集成性主要表现在如下几个方面:
(1)在数据库系统中采用统一的数据结构方式,如在关系数据库中采用二维表作为统一结构方式。
(2)在数据库系统中按照多个应用的需要组织全局的统一的数据结构(即数据模式),数据模式不仅可以建立全局的数据结构,还可以建立数据间的语义联系从而构成一个内在紧密联系的数据整体。
数据库系统的基本特点
佳木斯大学
content
数据库系统的基本概念
(3)数据库系统中的数据模式是多个应用共同的、全局的数据结构,而每个应用的数据则是全局结构中的一部分,称为局部结构(即视图),这种全局与局部的结构模式构成了数据库系统数据集成性的主要特征。
2.数据的高共享性与低冗余性
所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一数据在系统的不同拷贝处有不同的值。因此,减少冗余性以避免数据的不同出现是保证系统一致性的基础。
数据库系统的基本特点
佳木斯大学
content
数据库系统的基本概念
3.数据独立性
数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。
数据独立性一般分为物理独立性与逻辑独立性两级。
(1)物理独立性:物理独立性即是数据的物理结构(包括存储结构、存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。
(2)逻辑独立性:数据库总体逻辑结构的改变,如修改数据
数据库系统的基本特点
佳木斯大学
content
数据库系统的基本概念
模式、增加新的数据类型、改变数据间联系等,不需要修改相应应用程序,这就是数据的逻辑独立性。
4.数据统一管理与控制
数据库系统不仅为数据提供高度集成环境,同时它还为数据提供统一管理的手段,这主要包含以下三个方面:
(1)数据的完整性检查:检查数据库中数据的正确性以保证数据的正确。
(2)数据的安全性保护:检查数据库访问者以防止非法访问。
(3)并发控制:控制多个应用的并发访问所产生的相互干扰以保证其正确性。
数据库系统的基本特点
佳木斯大学
content
数据库系统的基本概念
数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式与外部级模式,二级映射则分别是概念级到内部级的映射以及外部级到概念级的映射。这种三级模式与二级映射构成了数据库系统内部的抽象结构体系,如图所示。
1.数据库系统的三级模式
数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。
(1)概念模式。概念模式(Conceptual Schema)是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。
数据库系统的内部结构体系
佳木斯大学
content
数据库系统的基本概念
(2)外模式。外模式(External Schema)也称子模式(Subschema)或用户模式(User‘s Schema)。它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。
(3)内模式。内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
以概念模式为框架所组成的数据库叫概念数据库(Conceptual Database),以外模式为框架所组成的数据库叫用户数据库(user's Database),以内模式为框架所组成的数据库叫物理数据库(Physical Database)。
数据库系统的内部结构体系
佳木斯大学
content
数据库系统的基本概念
2.数据库系统的两级映射
(1)概念模式到内模式的映射。该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系,此种映射一般由DBMS实现。
(2)外模式到概念模式的映射。概念模式是一个全局模式而外模式是用户的局部模式。一个概念模式中可以定义多个外模式,而每个外模式是概念模式的一个基本视图。外模式到概念模式的映射给出了外模式与概念模式的对应关系,这种映射一般也是由DBMS来实现的。
数据库系统的内部结构体系
佳木斯大学
content
数据模型
数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界,这种反映是一个逐步转化的过程,它分为两个阶段:由现实世界开始,经历信息世界而至计算机世界,从而完成整个转化。
现实世界(real world):用户为了某种需要,需将现实世界中的部分需求用数据库实现,这样,我们所见到的是客观世界中的划定边界的一个部分环境,它称为现实世界。
信息世界(information world):通过抽象对现实世界进行数据库级上的刻画所构成的逻辑模型叫信息世界。
数据模型的基本概念
佳木斯大学
content
数据模型
计算机世界(computer world):在信息世界基础上致力于其在计算机物理结构上的描述,从而形成的物理模型叫计算机世界。
数据是现实世界符号的抽象,而数据模型(data model)则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三个部分,它们是数据结构、数据操作与数据约束。
(1)数据结构。
(2)数据操作。
(3)数据约束。
数据模型的基本概念
佳木斯大学
content
数据模型
数据模型按不同的应用层次分成三种类型,它们是概念数据模型(conceptual data model)、逻辑数据模型(logic data model)、物理数据模型(physical data model)。
概念数据模型简称概念模型,它是一种面向客观世界、面向用户的模型。
逻辑数据模型又称数据模型,它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。
物理数据模型又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机物理结构的表示。
数据模型的基本概念
佳木斯大学
content
数据模型
1.E—R模型的基本概念
(1)实体
现实世界中的事物可以抽象成为实体,实体是概念世界中的基本单位,它们是客观存在的且又能相互区别的事物。
(2)属性
现实世界中事物均有一些特性,这些特性可以用属性来表示。属性刻画了实体的特征。一个实体往往可以有若干个属性。每个属性可以有值,一个属性的取值范围称为该属性的值域(value domain)或值集(value set)。
(3)联系
现实世界中事物间的关联称为联系。
E-R 模型
佳木斯大学
content
数据模型
实体集间的联系有多种,就实体集的个数而言有:
①两个实体集间的联系。
②多个实体集间的联系。
③一个实体集内部的联系。
实体集间联系的个数可以是单个也可以是多个。两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种:
一对一(one to one)的联系,简记为l:l。这种函数关系是常见的函数关系之一。
一对多(one to many)或多对一(many to one)联系,简记为l:M (1:m)或M:l (m:1)。
多对多(many to many)联系,简记为M:N或m:n。
E-R 模型
佳木斯大学
content
数据模型
2.E—R模型三个基本概念之间的联接关系
E-R模型由上面三个基本概念组成。由实体、联系、属性三者结合起来才能表示现实世界。
(1)实体集(联系)与属性间的联接关系
实体是概念世界中的基本单位,属性附属于实体,它本身并不构成独立单位。一个实体可以有若干个属性,实体以及它的所有属性构成了实体的一个完整描述。
属性有属性域,每个实体可取属性域内的值。一个实体的所有属性取值组成了一个值集叫元组(tuple)。
相同型的实体构成了实体集。如表中的每一行是一个实体,它们均有相同的型,因此表内诸实体构成了一个实体集
E-R 模型
佳木斯大学
数据模型
E-R 模型
团员
安徽
18
女
李美丽
105
群众
陕西
21
男
刘过
104
群众
辽宁
20
女
吴亦奇
103
党员
江苏
21
男
王平
102
团员
浙江
18
男
赵英俊
101
政治面貌
籍贯
年龄
性别
姓名
编号
表 人事档案简表
联系也可以附有属性,联系和它的所有属性构成了联系的一个完整描述,因此,联系与属性间也有联接关系。
佳木斯大学
数据模型
E-R 模型
(2)实体(集)与联系
实体集间可通过联系建立联接关系,一般而言,实体集间无法建立直接关系,它只能通过联系才能建立起联接关系。
在E-R模型中有三个基本概念以及它们之间的两种基本联接关系。它们将现实世界中的错综复杂的现象抽象成简单明了的几个概念与关系,具有极强的概括性和表达能力。因此E-R模型目前已成为表示概念世界的有力工具。
-R模型的图示法
E-R模型可以用一种非常直观的图的形式表示,这种图称为E-R图(entity-relationship diagram)。在E-R图中我们
佳木斯大学
数据模型
E-R 模型
分别用下面不同的几何图形表示E-R模型中的三个概念与两个联接关系。
(1)实体集表示法
在E-R图中用矩形表示实体集,在矩形内写上该实体集的名字。如实体集学生(student)、课程(course)可用图表示。
(2)属性表示法
在E-R图中用椭圆形表示属性,在椭圆形内写上该属性的名称。如学生有属性:学号(s#)、姓名(Sn)及年龄(Sa),它们可以用图表示。
(3)联系表示法
在E—R图中用菱形(内写上联系名)表示联系。如学生与课
佳木斯大学
数据模型
E-R 模型
程间的联系SC,用图表示。
三个基本概念分别用三种几何图形表示。它们之间的联接关系也可用图形表示。
(4)实体集(联系)与属性间的联接关系
属性也依附于联系,因此,它们之间也有联接关系。在E-R图中这种关系可用联接这两个图形间的无向线段表示(一般情况下可用直线)。
佳木斯大学
数据模型
E-R 模型
如实体集student有属性S#(学号)、Sn(学生姓名)及Sa(学生年龄);实体集course有属性C#(课程号)、Cn(课程名)及P#(预修课号),此时它们可用图联接。
属性也依附于联系,它们之间也有联接关系,因此也可用无向线段表示。如联系SC可与学生的课程成绩属性G建立联接并可用图表示。
student
S#
S#
Sn
S#
Sa
S#
course
C#
S#
Cn
S#
P#
S#
图 实体集的属性间的联接
佳木斯大学
数据模型
E-R 模型
SC
G
图 联系与属性间的联接
(5)实体集与联系间的联接关系
在E—R图中实体集与联系间的联接关系可用联接这两个图形间的无向线段表示。如实体集student与联系SC间有联接关系,实体集course与联系SC间也有联接关系,因此它们之间可用无向线段相联,构成一个如图所示的图。
佳木斯大学
数据模型
E-R 模型
有时为了进一步刻画实体间的函数关系,还可在线段边上注明其对应函数关系,如l:l,l:n,n:m等,如student与course间有多对多联系,此时在图中可以用图 O所示的形式表示。
图 实体集与联系间的联接关系
佳木斯大学
数据模型
E-R 模型
图 实体集间的联系表示图
实体集与联系间的联接可以有多种,上面所举例子均是两个实体集间联系叫二元联系,也可以是多个实体集间联系,叫多元联系。如工厂、产品与用户间的联系FPU是一种三元联系,此种联接关系可用图表示。
佳木斯大学
数据模型
E-R 模型
一个实体集内部可以有联系。如某公司职工(employee)间上、下级管理(manage)的联系,此时,其联接关系可用图(a)表
实体集间可有多种联系。如教师(T)与学生(s)之间可以有教学(E)联系也可有管理(M)联系,此种联接关系可用图(b)表示。
图 多个实体集间联系的联接方法
佳木斯大学
数据模型
E-R 模型
图 实体集间多种联系
佳木斯大学
数据模型
E-R 模型
由矩形、椭圆形、菱形以及按一定要求相互间联接的线段构成了一个完整的E-R图。
例 由前面所述的实体集student,course以及附属于它们的属性和它们间的联系SC以及附属于SC的属性G构成了一个学生课程联系的概念模型,可用图的E-R图表示。
在概念上,E-R模型中的实体、属性与联系是三个有明显区别的不同概念。但是在分析客观世界的具体事物时,对某个具体数据对象,究竟它是实体,还是属性或联系,则是相对的,所做的分析设计与实际应用的背景以及设计人员的理解有关。这是工程实践中构造E—R模型的难点之一。
佳木斯大学
数据模型
E-R 模型
图 E-R 图的一个实例
佳木斯大学
数据模型
层次 模型
层次模型是最早发展起来的数据库模型。层次模型(hierarchical model)的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织机构,它们自项向下、层次分明。图给出了一个学校行政机构图的简化E—R图,略去了其中的属性。
由图论中树的性质可知,任一树结构均有下列特性:
(1)每棵树有且仅有一个无双亲结点,称为根(root)。
(2)树中除根外所有结点有且仅有一个双亲。
层次数据模型支持的操作主要有查询、插入、删除和更新。在对层次模型进行插入、删除、更新操作时,要满足层次模型
佳木斯大学
数据模型
层次 模型
的完整性约束条件:
进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值;
进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除;
进行更新操作时,应更新所有相应记录,以保证数据的一致性。
层次模型的数据结构比较简单,操作简单;对于实体间联系是固定的、且预先定义好的应用系统,层次模型有较高的性能;同时,层次模型还可以提供良好的完整性支持。
佳木斯大学
数据模型
层次 模型
图 一个简化E-R图
佳木斯大学
数据模型
网状模型
从图论观点看,网状模型是一个不加任何条件限制的无向图。网状模型在结构上较层次模型好,不像层次模型那样要满足严格的条件。图是学校行政机构图中学校与学生联系的简化E—R图。
在实现中,网状模型将通用的网络拓扑结构分成一些基本结构。一般采用的分解方法是将一个网络分成若干个二级树,即只有两个层次的树。
在网状模型的DBTG(data base task group)标准中,基本结构简单二级树叫系(set),系的基本数据单位是记录(record),它相当于E-R模型中的实体(集);记录又可由若
佳木斯大学
数据模型
网状模型
干数据项(data item)组成,它相当于E-R模型中的属性。系有一个首记录(owner record),它相当于简单二级树的根;系同时有若干个成员记录(member record),它相当于简单二级树中的叶;首记录与成员记录之间的联系用有向线段表示(线段方向仅表示由首记录至成员记录的方向,而并不表示搜索方向),在系中首记录与成员记录间是一对多联系(包括一对一联系)。图给出了一个系的实例。
佳木斯大学
数据模型
网状模型
图 一个简化的教学关系E-R图
佳木斯大学
数据模型
网状模型
图 一个系的实例
佳木斯大学
数据模型
关系模型
1.关系的数据结构
关系模型采用二维表来表示,简称表。二维表由表框架(Frame) 及表的元组(Tuple)组成。表框架由n个命名的属性(Attribute)组成,n称为属性元数(Arity)。每个属性有一个取值范围称为值域(Domain)。表框架对应了关系的模式,即类型的概念。
在表框架中按行可以存放数据,每行数据称为元组,实际上,一个元组是由n个元组分量所组成,每个元组分量是表框架中每个属性的投影值。一个表框架可以存放m个元组,m称为表的基数(Cardinality)。
佳木斯大学
数据模型
关系模型
一个n元表框架及框架内m个元组构成了一个完整的二维表。表给出了有关学生(S)二维表的一个实例。
表 二维表的一个实例
18
19
18
20
EE
EE
EE
EE
张浩然
李一明
王伟
赵坚强
2001001
2001002
2001003
2001004
Sa
Sd
Sn
S#
二维表_般满足下面7个性质:
①二雏表中元组个数是有限的——元组个数有限性。
②二维表中元组均不相同——元组的惟一性。
③二维表中元组的次序可以任意交换——元组的次序无
佳木斯大学
数据模型
关系模型
④二维表中元组的分量是不可分割的基本数据项——元组分量的原子性。
⑤二维表中属性名各不相同——属性名惟一性。
⑥二维表中属性与次序无关,可任意交换——属性的次序无关性。
⑦二维表属性的分量具有与该属性相同的值域——分量值域的同一性。
满足以上7个性质的二维表称为关系(Relation),以二维表为基本结构所建立的模型称为关系模型。
关系模型中的一个重要概念是键(Key)或码。键具有标识
佳木斯大学
数据模型
关系模型
元组、建立元组间联系等重要作用。
在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。
二维表中可能有若干个键,它们称为该表的候选码或候选键(Candidata Key)。
从二维表的所有候选键中选取一个作为用户使用的键称为主键(Primary key)或主码,一般主键也简称键或码。
表A中的某属性集是某表B的键,则称该属性集为A的外键(Foreign Key)或外码。
佳木斯大学
数据模型
关系模型
关系框架与关系元组构成了一个关系。一个语义相关的关系集合构成一个关系数据库(Relational Database)。关系的框架称为关系模式,而语义相关的关系模式集合构成了关系数据库模式(Relational Database Schema)。
2.关系操纵
关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除及修改四种操作。
(1)数据查询
用户可以查询关系数据库中的数据,它包括一个关系内的查询以及多个关系间的查询。
佳木斯大学
数据模型
关系模型
①对一个关系内查询的基本单位是元组分量,其基本过程是先定位后操作。
②对多个关系间的数据查询则可分为三步:第一步,将多个关系合并成一个关系:第二步,对合并后的一个关系作定位;第三步,操作。
(2)数据删除
数据删除的基本单位是一个关系内的元组,它的功能是将指定关系内的指定元组删除。它也分为定位与操作两部分,其中定位部分只需要横向定位而无需纵向定位,定位后即执行删除操作。
佳木斯大学
数据模型
关系模型
(3)数据插入
数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。在数据插入中不需定位,仅需做关系中元组插入操作,因此数据插入只有一个基本操作。
(4)数据修改
数据修改是在一个关系中修改指定的元组与属性。数据修改不是一个基本操作,它可以分解为删除需修改的元组与插入修改后的元组两个更基本的操作。
以上四种操作的对象都是关系,而操作结果也是关系,因此都是建立在关系上的操作。这四种操作可以分解成六种基本操作,称为关系模型的基本操作:
佳木斯大学
数据模型
关系模型
①关系的属性指定;
②关系的元组选择;
③两个关系合并;
④一个或多个关系的查询;
⑤关系中元组的插入,
⑥关系中元组的删除。
3.关系中的数据约束
关系模型允许定义三类数据约束,它们是实体完整性约束、参照完整性约束以及用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。
佳木斯大学
数据模型
关系模型
(1)实体完整性约束(Entity Integrity Constraint), 该约束要求关系的主键中属性值不能为空值,这是数据库完整性的最基本要求,因为主键是惟一决定元组的,如为空值则其惟一性就成为不可能的了。
(2)参照完整性约束(Reference Integrity Constraint),该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么就为空值。
(3)用户定义的完整性约束(User defined Integrity Constraint),这是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。
佳木斯大学
关系代数
关系是由若干个不同的元组所组成,因此关系可视为元组的集合。n元关系是一个n元有序组的集合。
设有一个n元关系R,它有n个域,分别是D1,D2,…,Dn,此时,它们的笛卡尔积是:
该集合的每个元素都是具有如下形式的n元有序组:
该集合与n元关系R有如下联系:
即n元关系R是n元有序组的集合,是它的域的笛卡尔积的子集。
佳木斯大学
关系代数
1.关系模型的操作
关系模型有插入、删除、修改和查询4种操作 ;它们又可以进一步分解成6种基本操作:
①关系的属性指定。
②关系的元组的选择。
用上述两种操作即可确定一张二维表内满足一定行、列要求的数据。
③两个关系的合并。
用上述三个操作可以进行多个关系的定位。
④关系的查询。
⑤关系元组的插入。
⑥关系元组的删除。
佳木斯大学
关系代数
2.关系模型的运算
由于操作是对关系的运算,而关系是有序组的集合,因此,可以将操作看成是集合的运算。
(1)插入
设有关系R需插入若干元组,要插入的元组组成关系,则插入可用集合并运算表示为:
(2) 删除
设有关系R需删除一些元组,要删除的元组组成关系,则删除可用集合差运算表示为:
佳木斯大学
关系代数
(3) 修改
修改关系R内的元组内容可用下面的方法实现:
①设需修改的元组构成关系,则先做删除得:
②设修改后的元组构成关系,此时将其插入即得到结果:
(4)查询
用于查询的三个操作无法用传统的集合运算表示,需要引入一些新的运算。
佳木斯大学
关系代数
投影运算
选择(selection)运算
③笛卡尔积(Cartesian Product)运算
对于两个关系的合并操作可以用笛卡尔积表示。设有n元
关系R及m元关系S,它们分别有p、q 个元组,则关系R与S经笛
卡尔积记为R×S,该关系是一个n+m元关系,元组个数是
p×q,由R与S的有序组组合而成。
图11-17给出了两个关系R、S的实例以及R与S的笛卡尔积
T=R×S。
佳木斯大学
关系代数
图 关系R、S及T=R×S
佳木斯大学
关系代数
3.关系代数中的扩充运算
(1)交(inlersection)运算
关系R与S经交运算后所得到的关系是由那些既在R内又在S
内的有序组所组成,记为R∩S。
图给出了两个关系R与S及它们经交运算后得到的关
系T。
交运算可由基本运算推导而得:
佳木斯大学
关系代数
图 关系R、S及R∩S
佳木斯大学
关系代数
(2)除(division)运算
如果将笛卡尔积运算看作乘运算的话,那么除运算就是它
的逆运算。当关系T=R×S时,则可将除运算写成为:
T/R=S
S称为T除以R的商(quotient)。
由于除是采用的逆运算,因此除运算的执行是需要满足一
定条件的。设有关系T、R,T能被除的充分必要条件是:T中的
域包含R中的所有属性;T中有一些域不出现在R中。
在除运算中S的域由T中那些不出现在R中的域所组成,对于
S中任一有序组,由它与关系R中每个有序组所构成的有序组均
出现在关系T中。
佳木斯大学
关系代数
图给出了关系R及一组S,对这一组不同的S给出了经
除法运算后的商R/S,从中可以清楚地看出除法的含义及商的
内容。
图 三个除法
佳木斯大学
关系代数
例 设关系R给出了学生修读课程的情况,关系S给出
了所有课程号,分别如图(a)、(b)所示。试找出修读所
有课程的学生号。
解:修读所有课程的学生号可用T=R/S表示,结果如图11.
20(c)所示。
图 学生修读课程的除法运算
佳木斯大学
关系代数
(3)连接(join)与自然连接(natural join)运算
连接运算又可称为 连接运算,这是一种二元运算,通过
它可以将两个关系合并成一个大关系。设有关系R、S以及比较
式i j,其中i为R中的域,j为S中的域,含义同前。则可以将
R、S在域i,j上的 连接记为:
它的含义可用下式定义:
即R与S的 连接是由R与S的笛卡尔积中满足限制i j的元组
构成的关系,一般其元组的数目远远少于R×S的数目。应当注
意的是,在 连接中,i与j需具有相同域,否则无法作比较。
佳木斯大学
关系代数
在连接中如果 为“=”,就称此连接为等值连接,否则称为不
等值连接;如 为“<”时称为小于连接;如 为“>”时称为大于接
例 设有关系R、S分别如图(a)、(b)所示,
则 为图(c)所示的关系,而
为如图 (d)所示的关系。
在实际应用中最常用的连接是一个叫自然连接的特例。它 满足下面的条件:
(1)两关系间有公共域;
(2)通过公共域的相等值进行连接。
佳木斯大学
关系代数
图
佳木斯大学
关系代数
例 设关系R、S如图 (a)(b)所示,则
如图(c)所示。
图
佳木斯大学
关系代数
4.关系代数的应用实例
例 建立一个学生选课的关系数据库,它由下面三个
关系模式组成:
S(S#,Sn,Sd,Sa);
C(C#,Cn,P#);
SC(S#,C#,G)。其中S#,C#,Sn,Sd,Sa,Cn,P#,G分
别表示学号、课程号、学生姓名、学生系别、学生年龄、课程
名、预修课程号、成绩,而S,C,SC则分别表示学生、课程、
学生选课关系。
写出对关系模式S、C和SC中的下述查询表达式:
佳木斯大学
关系代数
(1)检索学生所有情况:S
(2)检索学生年龄大于等于20岁的学生姓名:
(3)检索预修课号为的课程的课程号:
(4)检索课程号为C,且成绩为A的所有学生姓名:
(5)检索所修读的所有课程名及其预修课号:
佳木斯大学
关系代数
(6)检索年龄为23岁的学生所修读的课程名:
(7)检索至少修读所修读的一门课的学生姓名。
这个例子比较复杂,需作一些分析。将问题分以下三步解决
第l步:取得修读的课程号,它可以表示为:
第2步:取得至少修读为修读的一门课的学号:
佳木斯大学
关系代数
第3步:最后结果为:
分别将R,W代入后即得检索要求之表达式:
佳木斯大学
数据库设计与管理
在数据库应用系统中的一个核心问题就是设计一个能满足
用户要求,性能良好的数据库,这就是数据库设计(Database
design)。
数据库设计的基本任务是根据用户对象的信息需求、处理
需求和数据库的支持环境(包括硬件、操作系统与DBMS)设计出
数据模式。
在数据库设计中有两种方法,一种是以信息需求为主,兼
顾处理需求,称为面向数据的方法(data-oriented
approach);
数据库设计概述
佳木斯大学
数据库设计与管理
另一种方法是以处理需求为主,兼顾信息需求,称为面向
过程的方法(process-oriented approah),这两种方法目前都
有使用。
数据库设计目前一般采用生命周期(life cycle)法,即
将整个数据库应用系统的开发分解成目标独立的若干阶段,它
们是:需求分析阶段、测试阶段、运行阶段、进一步修改阶
段,在数据库设计中采用上面几个阶段中的前四个阶段,并且
重点以数据结构与模型的设计为主线,如图所示。
数据库设计概述
佳木斯大学
数据库设计与管理
数据库设计概述
图 数据库设计的四个阶段
佳木斯大学
数据库设计与管理
需求收集和分析是数据库设计的第一阶段,这一阶段收
集到的基础数据和一组数据流图(Data Flow Diagram简记为
DFD)是下一步设计概念结构的基础。概念结构是整个组织中
所有用户关心的信息结构,对整个数据库设计具有深刻影响。
需求分析阶段的任务是通过详细调查现实世界要处理的
对象(组织、部门、企业等),充分了解原系统的工作概况,
明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的重点是“数据”和“处理”,通过调查要从中获得每个
用户对数据库的如下要求:
数据库设计的需求分析
佳木斯大学
数据库设计与管理
①信息要求。
②处理要求。
③安全性和完整性的要求。
分析和表达用户的需求,经常采用的方法有结构化分析方
法和面向对象的方法。结构化分析方法(Structured
Analysis,简称A方法),用自顶向下、逐层分解的方式分析系
统。用数据流图表达了数据和处理过程的关系,数据字典对系
统中数据的详尽描述,是各类数据属性的清单。
数据库设计的需求分析
佳木斯大学
数据库设计与管理
数据字典是各类数据描述的集合,它通常包括5个部分,
数据项,是数据的最小单位;
数据结构,是若干数据项有意义的集合;
数据流,可以是数据项,也可以是数据结构,表示某一处
理过程的输入或输出;
数据存储,处理过程中存取的数据,常常是手工凭证、手
工文档或计算机文件;
处理过程。
数据字典是在需求分析阶段建立,在数据库设计过程中不
断修改、充实、完善的。
数据库设计的需求分析
佳木斯大学
数据库设计与管理
1.数据库概念设计概述
数据库概念设计的目的是分析数据间内在语义关联,在此
基础上建立一个数据的抽象模型。数据库概念设计的方法有以
下两种:
(1)集中式模式设计法
(2)视图集成设计法
2.数据库概念设计的过程
使用E—R模型与视图集成法进行设计时,需要按以下步骤
进行:首先选择局部应用,再进行局部视图设计,最后对局部
数据库概念设计
佳木斯大学
数据库设计与管理
视图进行集成得到概念模式。
(1)选择局部应用
(2)视图设计
视图设计一般有三种设计次序,它们是:
①自顶向下。
②由底向上。
③由内向外。
数据库概念设计
佳木斯大学
数据库设计与管理
例11.6 学籍管理局部应用中主要涉及的实体包括学生、
宿舍、档案材料、班级、班主任。这些实体之间的联系有:
①一个宿舍可以住多个学生,一个学生只能住在一个宿舍
中,因此宿舍与学生之间是l:N的联系。
②一个班有若干名学生,一个学生只能属于以个班级,因此
班级与学生之间也是1:N的联系。
⑧班主任与学生之间是1:N的联系。
④学生和他自己的档案材料之间是l:l的联系。
⑤班级与班主任之间都是l:l的联系u
于是,省略了实体的属性后学籍管理的E-R图如图所示
数据库概念设计
佳木斯大学
数据库设计与管理
数据库概念设计
图 学籍管理局部E-R图
佳木斯大学
数据库设计与管理
对应于各实体的属性分别为:
学生:{学号,姓名,出生日期,所在系,何时入学,平
均成绩}
档案材料:{档案号,…}
班级:{班级号,学生人数}
班主任:{职工号,姓名,性别,是否为优秀班主任}
宿舍:{宿舍编号,地址,人数}
教室:{教室编号,地址,容量}
其中有下划线的属性为实体的码。
数据库概念设计
佳木斯大学
数据库设计与管理
例 课程管理局部视图的设计:在这一视图中共有五
个实体,分别是学生、课程、教室、教科书,描述这些实体的
属性分别为:
学生:{学号,姓名,年龄,性别,入学时间}
课程:{课程号,课程名,学时数}
选修:{学号,课程号,成绩}
教科书:{书号,书名,ISBN,作者,出版时间,关键字}
教室:{教室编号,地址,容量}
同样,省略了实体的属性后课程管理的E-R图如图所
示。
数据库概念设计
佳木斯大学
数据库设计与管理
(3)视图集成
视图集成的实质是将所有的局部视图统一与合并成一个
完整的数据模式。在进行视图集成时,最重要的工作便是解
决局部设计中的冲突。在集成过程中由于每个局部视图在设
计时的不一致性因而会产生矛盾,引起冲突,常见冲突有下
列几种:
①命名冲突。
②概念冲突。
③冲突。
④约束冲突。
数据库概念设计
佳木斯大学
数据库设计与管理
例 学籍管理局部视图与课程管理局部视图的集成。
根据上面所述的方法,集成过程可按下面步骤进行:
(1)消除冲突
这两个子E—R图存在着多万面的冲突:
1)班主任也属于教师,学籍管理中的班主任实体与课程
管理中的教师实体属性于异名同义,可以统一称为教师。
2)将班主任改为教师后,教师与学生之间呈现两种不同
类型的联系:指导联系和教学联系。由于指导联系实际上可
以包含在教学联系之中,因此可以将这两种联系综合为教学
联系。
数据库概念设计
佳木斯大学
数据库设计与管理
3)调整学生实体属性缀成及次序,调整结果可为:
学生:{学号,姓名,出生日期,年龄,所在系,年级,
平均成绩}
(2)消除冗余
1)学生实体中的年龄可以由出生日期推算出来,属于冗
余数据。
学生:{学号,姓名,出生日期,所在系,年级,平均成
绩}
2)教室实体与班级实体之间的上课联系可以由教室与课
程之间的开设联系、课程与学生之间的选修联系、学生与班
数据库概念设计
佳木斯大学
数据库设计与管理
级之间的组成联系三者推导坦来,因此属于冗余联系。
3)学生实体中的平均成绩可以从选修联系中的成绩属性
中推算出来。
如果需要经常查询学生的平均成绩,可以考虑保留该冗
余数据,提高效率。但是为了维护数据一致性,应采用一定
的机制以保持数据的一致。
这样,集成这两个子E-R图后的学生管理子系统的E-R图
如图所示。
数据库概念设计
佳木斯大学
数据库设计与管理
数据库概念设计
图11.20 学生管理子系统的E-R图
佳木斯大学
数据库设计与管理
1.从E-R图向关系模式转换
数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS
中的关系模式。首先,从E-R图到关系模式的转换是比较直接
的,实体与联系都可以表示成关系,E-R图中属性也可以转换
成关系的属性。实体集也可以转换成关系。E-R模型与关系间
的转换如表所示。
数据库逻辑设计
关系
关系
实体集
联系
属性
元组
属性
实体
关系
E-R模型
关系
E-R模型
表 E-R模型与关系间的比较表
佳木斯大学
数据库设计与管理
下面讨论由E-R图转换成关系模式时会遇到的一些转换问
题。
(1)命名与属性域的处理
关系模式中的命名可以用E-R图中原有命名,也可另行命
名,但是应尽量避免重名,RDBMS一般只支持有限种数据类型
而E-R中的属性域则不受此限制。
(2)非原子属性处理
E—R图中允许出现非原子属性,但在关系模式中一般不
允许出现非原子属性,非原子属性主要有集合型和元组型。
数据库逻辑设计
佳木斯大学
数据库设计与管理
例 学生实体有学号、学生姓名及选读课程,其中
前两个为原子属性而后一个为集合型非原子属性,因为一个
学生可选读若干课程,设有学生S1307,王承志,他修读
Database,Operating System及Computer Network三门课,
此时可将其纵向展开用关系形式如表所示。
数据库逻辑设计
Database
Operating System
computer Network
王承志
王承志
王承志
S1307
S1307
S1307
选读课程
学生姓名
学 号
表11.5 学生实体
佳木斯大学
数据库设计与管理
(3)联系的转换
在一般情况下联系可用关系表示,但是在有些情况下联系
可归并到相关联的实体中。
2.逻辑模式规范化及调整、实现
(1)规范化
在逻辑设计中还需对关系做规范化验证。
(2)RDBMS
对逻辑模式进行调整以满足RDBMS的性能、存储空间等要
求,同时对模式做适应RDBMS限制条件的修改,它们包括如下
内容:
数据库逻辑设计
佳木斯大学
数据库设计与管理
①调整性能以减少连接运算;
②调整关系大小,使每个关系数量保持在合理水平,从
而可以提高存取效率;
③尽量采用快照(snapshot),因在应用中经常仅需某固
定时刻的值,此时可用快照将某时刻值固定,并定期更换,
此种方式可以显著提高查询速度。
3.关系视图设计
逻辑设计的另一个重要内容是关系视图的设计,它又称
为外模式设计。关系视图是在关系模式基础上所设计的直接
数据库逻辑设计
佳木斯大学
数据库设计与管理
面向操作用户的视图,它可以根据用户需求随时创建,一般
RDBMS均提供关系视图的功能。
关系视图的作用大致有如下几点:
(1)提供数据逻辑独立性:使应用程序不受逻辑模式变化
的影响。
(2)能适应用户对数据的不同需求:每个数据库有一个非
常庞大的结构,而每个数据库用户则希望只知道他们自己所
关心的那部分结构,不必知道数据的全局结构以减轻用户在
此方面的负担。
数据库逻辑设计
佳木斯大学
数据库设计与管理
(3)有一定数据保密功能:关系视图为每个用户划定了访
问数据的范围,从而在应用的各用户间起了一定的保密隔离
作用。
数据库逻辑设计
佳木斯大学
数据库设计与管理
数据库物理设计的主要目标是对数据库内部物理结构作
调整并选择合理的存取路径,以提高数据库访问速度及有效
利用存储空间。在现代关系数据库中已大量屏蔽了内部物理
结构,因此留给用户参与物理设计的余地并不多,一般的
RDBMS中留给用户参与物理设计的内容大致有如下几种:索引
设计、集簇设计和分区设计。
数据库的物理设计
佳木斯大学
数据库设计与管理
数据库是一种共享资源,它需要维护与管理,这种工作
称为数据库管理(Database administration),而实施此项管
理的人则称为数据库管理员(Database administrator)简称D
BA。
数据库管理一般包含以下一些内容:数据库的建立、数
据库的调整、数据库的重组、数据库的安全性控制与完整性
控制、数据库的故障恢复和数据库的监控。
数据库管理
佳木斯大学
数据库设计与管理
1.数据库的建立
数据库的建立包括两部分内容,数据模式的建立及数据
加载。
(1)数据模式建立。 数据模式由DBA负责建立
(2)数据加载 。 在数据模式定义后即可加载数据,DBA
可以编制加载程序将外界数据加载至数据模式内,从而完成
数据库的建立。
2.数据库的调整
在数据库建立并经一段时间运行后往往会产生一些不适
数据库管理
佳木斯大学
数据库设计与管理
应的情况,此时需要对其作调整,数据库的调整一般由DBA完
成,调整包括下面一些内容:
(1)调整关系模式与视图使之更能适应用户的需求;
(2)调整索引与集簇使数据库性能与效率更佳;
(3)调整分区、数据库缓冲区大小以及并发度使数据库物
理性能更好。
3.数据库的重组
数据库在经过一定时间运行后,其性能会逐步下降,下降
的原因主要是由于不断的修改、删除与插入所造成的。由于不
数据库管理
佳木斯大学
数据库设计与管理
断的删除与插入而造成集簇的性能下降,同时也造成了存储空
间分配的零散化,使得一个完整表的空间分散,从而造成存取
效率下降。基于这些原因需要对数据库进行重新整理-,重新调
整存贮空间,此种工作叫数据库重组。
4.数据库安全性控制与完整性控制
数据库是一个单位的重要资源,它的安全性是极端重要
的,DBA应采取措施保证数据不受非法盗用与破坏。此外,为保
证数据的正确性,使录入库内的数据均能保持正确,需要有数
据库的完整性控制。
数据库管理
佳木斯大学
数据库设计与管理
5.数据库的故障校复
一旦数据库中的数据遭受破坏,需要及时进行恢复,
RDBMS一般都提供此种功能,并由DBA负责执行故障恢复功能。
6.数据库监控
DBA需随时观察数据库的动态变化,并在发生错误、故障
或产生不适应情况时随时采取措施,如数据库死锁、对数据库
的误操作等;同时还需监视数据库的性能变化,在必要时对数
据库作调整。
数据库管理
佳木斯大学
谢 谢 !
佳木斯大学