Principles and Applications of the Database 数据库原理及应用 Principles and Applications of the Database 第1章绪论 仲恺农业工程学院 计算机科学与工程学院 石玉强 An Introduction to Database System
第1章 绪论 本章导读 了解:数据库的发展过程和数据库应用系统的特点 掌握:数据、数据管理、数据库、数据模型和概念模型等专业术语的内涵 第1章 绪论 本章导读 了解:数据库的发展过程和数据库应用系统的特点 掌握:数据、数据管理、数据库、数据模型和概念模型等专业术语的内涵 理解:数据库、数据库系统和数据库应用系统三者之间的关系 仲恺农业工程学院 计算机科学与工程学院
第1章 绪论 本章要点 数据、信息、数据库、数据库管理系统、数据库系统 数据管理技术的发展阶段 数据库系统的三级模式结构、数据独立性 第1章 绪论 本章要点 数据、信息、数据库、数据库管理系统、数据库系统 数据管理技术的发展阶段 数据库系统的三级模式结构、数据独立性 仲恺农业工程学院 计算机科学与工程学院
第1章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统体系结构 1.4 数据库技术的新发展 本章小结 仲恺农业工程学院 第1章 绪论 1.1 数据库系统概述 1.2 数据模型 1.3 数据库系统体系结构 1.4 数据库技术的新发展 本章小结 仲恺农业工程学院 计算机科学与工程学院
1.1 数据库系统概述 1.1.1 数据与信息 1.1.2 数据管理技术的产生与发展 1.1.3 数据库 1.1.4 数据库管理系统 1.1 数据库系统概述 1.1.1 数据与信息 1.1.2 数据管理技术的产生与发展 1.1.3 数据库 1.1.4 数据库管理系统 1.1.5 数据库系统 1.1.6 数据库系统的特点 1.1.7 数据库应用系统 仲恺农业工程学院 计算机科学与工程学院
1.1.1 数据与信息 数据是从观察和测量中所收集到的事实,也有人说数据是描述事物的符号记录,或者说数据是载荷信息的各种符号。数据本质上是对客观事物特征的一种抽象的、符号化的表示,即用一定的符号表示那些从观察或测量中所收集到的基本事实 数据经过加工处理之后,将转变为有助于实现特定目的的信息。因此又可以说信息是数据有意义的表现,或者说信息就是数据的含义。由此可见,信息实际上是经过处理后的数据 数据和信息是两个联系非常密切的概念,数据处理也称为信息处理 仲恺农业工程学院 计算机科学与工程学院
1.1.2 数据管理技术的产生与发展 1.人工管理阶段 2.文件系统阶段 3.数据库系统阶段 仲恺农业工程学院 计算机科学与工程学院
1.人工管理阶段 图1-1人工管理阶段 仲恺农业工程学院 计算机科学与工程学院
(5)数据没有软件系统进行管理,程序员不仅要规定数据的逻辑结构,而且还要设计数据的物理结构,数据面向应用。 1.人工管理阶段 人工管理阶段存在以下问题: (1)数据不独立保存。 (2)应用程序管理数据。 (3)数据不共享。 (4)数据不具有独立性。 (5)数据没有软件系统进行管理,程序员不仅要规定数据的逻辑结构,而且还要设计数据的物理结构,数据面向应用。 仲恺农业工程学院 计算机科学与工程学院
2.文件系统阶段 在人工管理阶段最明显的缺点就是缺乏数据独立性。所以在20世纪50年代后期至60年代中期,随着计算机技术的发展,不但计算机的硬件有了磁盘等直接存储设备,而且在操作系统中也有了专门的数据管理软件,称为文件系统,数据管理进入文件系统阶段。 在文件系统阶段,程序与数据分别独立存放,数据组成数据文件,并且独立命名,程序通过文件名对文件中的数据进行处理,在程序与数据之间的转换由文件管理系统来完成。即采用“应用程序—文件管理系统—数据文件”的存取方式。如图1-2所示。 仲恺农业工程学院 计算机科学与工程学院
2.文件系统阶段 图1-2文件系统管理阶段 仲恺农业工程学院 计算机科学与工程学院
2.文件系统阶段 尽管文件系统使得数据管理技术有了重要进展,数据可以长期保存,可以由专门的文件系统进行数据管理,但是仍然有很多根本性问题没有解决,如: (1)数据冗余度大、共享性差、易产生数据不一致性 在文件系统中,数据文件是用户各自建立的,为用户自己或用户组所有,即使是相同的数据也必须放在各自的文件中,因此数据共享性差,冗余度大。同时由于相同数据的重复存储及各自管理,易产生数据的不一致性。 如:在表1-1 人事文件、表1-2 教学文件、表1-3 科研文件、表1-4 体检文件中都有编号、姓名、性别、职称信息,这显然造成了大量数据的冗余,并且如果该教师职称发生了变化,在人事文件中改变了其相应的职称信息,但在教学、科研等文件中没有被修改,就会产生数据的不一致性。 (2)数据独立性差 即应用程序与数据之间的依赖性很强。数据文件完全是根据具体的应用程序的要求而建立的,如果修改文件系统中文件的逻辑结构,那么必须修改应用程序。同时由于语言环境的变化,当修改应用程序时,也将引起文件数据结构的改变,因此数据与程序间仍缺乏数据独立性。 例如:在表1-1 人事文件中插入一个所在单位和年龄属性,将会引起应用程序的变化。 仲恺农业工程学院 计算机科学与工程学院
2.文件系统阶段 (3)用户负担重 文件系统虽然为用户提供了一种简单的、统一的存取文件的方法,但文件的处理、数据的安全性、完整性得不到可靠保证,这些必须由用户程序完成。 如:在性别信息中,性别只能是“男”或“女”,如果是其它数据则不能接受。但是,关于这个完整性的控制必须由用户程序来完成。 IF NOT (性别=“男” OR 性别=“女”) Print “性别不对,性别只能是‘男’或者‘女’” ENDIF (4)数据无结构 数据文件是按位置存放的,记录之间没有联系,数据是无结构的。 除此之外,文件系统一般不支持多个应用程序对同一文件的并发访问,数据处理的效率较低。同时,使用方式不够灵活。每个数据文件只限于一定的应用,难于对其进行修改和扩充。 仲恺农业工程学院 计算机科学与工程学院
3.数据库系统阶段 20世纪60年代后期,为了克服文件系统存在的问题,同时为了适应日益迅速增长的数据处理的需求,人们开始探索新的数据管理方法与工具。数据库技术应运而生。 数据库技术的目标主要是解决数据独立性问题,即克服程序与数据文件相互依赖,同时要解决数据冗余、数据安全性、数据完整性等问题,因此,出现了统一管理数据的专门软件系统——数据库管理系统。 从文件系统发展到数据库系统是数据管理发展的一个重大转变,它将过去在文件系统中的以程序设计为核心,数据服从程序设计的数据管理模式改变为以数据库设计为核心,应用程序设计退居次位的数据管理模式。如图1-3所示。 仲恺农业工程学院 计算机科学与工程学院
3.数据库系统阶段 图1-3 数据库系统管理阶段 仲恺农业工程学院 计算机科学与工程学院
1.1.3 数据库 数据库是指在计算机的存储设备上合理存放的相互关联的有结构的数据集合。 这个定义具有如下含义: 1.1.3 数据库 数据库是指在计算机的存储设备上合理存放的相互关联的有结构的数据集合。 这个定义具有如下含义: (1) 数据库首先是指在计算机的存储设备上存放的,属于计算机领域的一个术语。 (2) 数据库是一个数据集合。 (3)这个数据集合是有结构的,这一点也是和文件系统相比最大的特点之一。 (4)这个数据集合是相关联的数据集合。 (5) 这个数据集合是合理存放的。到底如何合理存放?这是数据库技术研究的关键问题之一,在规范化理论和数据库设计时专门讨论。 仲恺农业工程学院 计算机科学与工程学院
1.1.4 数据库管理系统 数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。主要功能是建立和维护数据库,接受和完成用户访问数据库的各种请求。 1.数据库管理系统的主要功能 (1)数据库定义功能 (2)数据库管理功能 (3)数据库的建立和维护功能 (4)数据组织、存储和管理功能 (5)通信功能 仲恺农业工程学院 计算机科学与工程学院
2.数据库管理系统应该满足的要求 (1)容易使用 (2)数据处理速度快、能力强 (3)具有可发展性 (4)具有物理数据独立性和逻辑数据独立性 (5)确保数据的完整性 (6)具有良好的数据保密性和安全性 (7)兼容性好 (8)和谐性 仲恺农业工程学院 计算机科学与工程学院
2.数据库管理系统应该满足的要求 (9)逻辑数据结构简单 (10)强有力的用户语言 仲恺农业工程学院 计算机科学与工程学院
3.数据库管理系统的组成 (1)语言 (2)数据库运行程序 (3)数据库维护程序 图1-4 给出了一个典型的DBMS程序模块组成图。 仲恺农业工程学院 计算机科学与工程学院
3.数据库管理系统的组成 仲恺农业工程学院 计算机科学与工程学院
1.1.5 数据库系统 数据库系统(DBS)是实现有组织地、动态地存储大量相关的结构化数据,方便用户使用数据库的计算机软件、硬件资源组成的系统。 数据库系统一般由硬件、软件、数据库、用户四部分组成。 1.硬件 2.软件 3.数据库 4.用户 仲恺农业工程学院 计算机科学与工程学院
1.1.6 数据库系统的特点 数据库系统是一个比较复杂的系统,包括计算机的软件、硬件环境以及数据库、数据库管理系统、数据库管理员等相互独立而又相互联系的若干部分组成。所以,很难用简练语言概括其全部特点,但是用数据库系统管理数据应该具有以下基本特点: 仲恺农业工程学院 计算机科学与工程学院
1.1.6 数据库系统的特点 1.数据结构化 2.数据冗余度小、共享性高、避免了数据的不一致性 3.具有较高的数据独立性 1.1.6 数据库系统的特点 1.数据结构化 2.数据冗余度小、共享性高、避免了数据的不一致性 3.具有较高的数据独立性 4.数据由DBMS统一管理和控制 仲恺农业工程学院 计算机科学与工程学院
1.1.7 数据库应用系统 数据库应用系统是数据库系统及其应用程序的组成。即在数据库系统环境下建立起来的为某种应用服务的软、硬件的集合。我们也经常称这种软件为应用软件。 数据库、数据库系统、数据库管理系统和数据库应用系统(DBAS)之间的关系如图1-5所示。 图1-5 DB、DBMS、DBS、DBAS关系 仲恺农业工程学院 计算机科学与工程学院
1.2 数据模型 1.2.1 数据模型概述 1.2.2 数据模型基本要素 1.2.3 概念模型 1.2.4 常用数据模型 仲恺农业工程学院 1.2 数据模型 1.2.1 数据模型概述 1.2.2 数据模型基本要素 1.2.3 概念模型 1.2.4 常用数据模型 仲恺农业工程学院 计算机科学与工程学院
1.2.1 数据模型概述 在数据库技术中数据模型是指现实世界数据和信息的模拟和抽象。 1.2.1 数据模型概述 在数据库技术中数据模型是指现实世界数据和信息的模拟和抽象。 用计算机模拟现实世界人们的各种事务管理活动,一般需要经历三个阶段,一是人们必须对现实世界的事物进行分析、抽象成概念模型;二是将概念模型转换为便于计算机进行处理的数据模型;三是将数据模型转换为计算机能实现的存储模型。这一过程如图1-6所示。 仲恺农业工程学院 计算机科学与工程学院
1.2.1 数据模型概述 图1-6现实世界到计算机世界的抽象过程 仲恺农业工程学院 计算机科学与工程学院
1.2.1 数据模型概述 在从现实世界到计算机世界的抽象过程中,必须具备如下要求: ⑴真实性。 ⑵易理解性。 ⑶易实现性。 1.2.1 数据模型概述 在从现实世界到计算机世界的抽象过程中,必须具备如下要求: ⑴真实性。 ⑵易理解性。 ⑶易实现性。 数据模型的种类很多,目前被广泛使用的数据模型分为两类:一类是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,这类模型称为概念数据模型,简称概念模型。概念模型是一种面向客观世界,面向用户的模型,主要用于数据库设计。例如E-R模型、扩充的E-R模型等属于概念模型; 仲恺农业工程学院 计算机科学与工程学院
1.2.1 数据模型概述 另一类是直接面向数据库的逻辑结构,称为逻辑数据模型,又称为结构数据模型。它是一种与数据库管理系统相关的模型,主要用于DBMS的实现,如层次模型、网状模型、关系模型、面向对象模型均属这类数据模型。 逻辑数据模型我们常常简称数据模型,它有严格的定义。 数据库专家E.F. Codd认为:一个基本数据模型是一组向用户提供的规则,这些规则规定数据结构如何组织以及允许进行何种操作。通常,一个数据库的数据模型应包含数据结构、数据操作和数据完整性约束三个部分。 仲恺农业工程学院 计算机科学与工程学院
1.2.2 数据模型基本要素 数据模型具有数据结构、数据操作和完整性约束条件三个基本要素。认识或描述一种数据模型也要从它的基本要素开始。 1.2.2 数据模型基本要素 数据模型具有数据结构、数据操作和完整性约束条件三个基本要素。认识或描述一种数据模型也要从它的基本要素开始。 (1)数据结构。数据结构是指对实体模型和实体间联系的表达和实现。数据结构规定了如何描述数据的类型、内容、性质和数据之间的相互关系。它是数据模型最基本的组成部分,规定了数据模型的静态特性。在数据库系统中通常按照数据结构的类型来命名数据模型,例如采用层次型数据结构、网状型数据结构、关系型数据结构的数据模型分别称为层次模型、网状模型和关系模型。 仲恺农业工程学院 计算机科学与工程学院
1.2.2 数据模型基本要素 (2)数据操作。数据操作是指一组用于指定数据结构的任何有效实例执行的操作或推导规则。数据库中主要的操作有查询和更新(插入、删除、修改)两大类。数据模型要为这些操作定义确切的含义、操作规则和实现操作的语言。因此,数据操作规定了数据模型的动态特性。 仲恺农业工程学院 计算机科学与工程学院
1.2.2 数据模型基本要素 (3)数据约束条件。数据完整性约束给出数据及其联系应具有的制约和依赖规则,它定义了给定数据模型中数据及其联系所具有的制约和依存规则,用以限定相容的数据库状态的集合和可容许的状态改变,以保证数据库中数据的正确性、有效性和相容性。 数据结构、数据操作和数据的约束条件是数据模型的三要素,其中数据结构是描述一个模型性质的最重要的方面。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 概念模型是从现实世界到计算机世界转换的一个中间层次,在数据库设计的过程中它是比较关键的一步。因此,概念模型必须能够真实地反映现实世界中被管理事物的特征及其复杂的联系,即应该具有丰富的语义表达能力和直接模拟现实世界的能力,且具有直观、自然、语义丰富、易于用户理解的特点。目前,被广泛使用的概念模型是E-R数据模型(Entity-Relationship data model),即实体—联系数据模型。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 1.信息的三个领域 (1)现实世界:现实世界是存在于人们头脑之外的客观世界,在这里所说的现实世界是指人们对各种事务的管理活动。研究分析现实世界事物的规律和特点,是建立概念模型的基础。 现实世界由各种各样的实体组成,下面给出实体、实体特性、实体集和实体标识符的概念。 ①实体(Entity),是客观存在并可相互区别的个体。实体可以是具体的对象,也可以是抽象的;可以是有生命的,也可以是无生命的。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 ②实体特性(Entity Character),任何一个实体都具有它自己的特征或性质,如:描述学生的特征有学号、姓名、性别、年龄、身高、体重等,把描述实体的主要特征的这一特性称为实体特性。 ③实体集(Entity Sets),具有相同实体特性的一类实体的集合称为实体集,如全校学生的集合组成学生实体集。 ④实体标识符(Entity Identifier),在实体集中唯一能确定实体集中某个实体的最小实体特性集称为实体标识符。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 (2)信息世界:现实世界中的实体,通过人们的感觉器官反映到头脑中,形成信息,组成信息世界。简单的说就是现实世界在人们头脑中的反映。在信息世界里用实体记录表示实体,用实体记录集表示实体集,属性表示实体集的特性,用标识属性表示一个实体标识符。有关属性的几点说明如下: 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 ①一个实体记录可以有若干个属性,但是在研究某一实体记录时,关心的是那些感兴趣的属性,例如:如果要描述有关学生学习成绩的话,对于身高、体重属性就没有必要关心。 ②不能再细分的属性称为原子属性。可以再细分的属性称为可分属性。原子属性与可分属性之间具有相对性,因此,在实际情况中,要根据具体问题来使用属性概念。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 ③属性有型与值之分。属性的具体表现称为属性值。如性别就是一个属性的型,而男、女就是性别属性的值。属性值是附属于属性的,有什么样的属性,就有什么样的值,即属性的型是相对稳定的,属性的值随属性型相对变化,在某种情况下是原子的,在另外一种情况下又是可分的,如性别在不考虑年龄的情况下,属性值是男、女,它们是原子的,如果考虑到年龄,女性又分为幼女、女童、女青年、女中年、女老年等。 ④每个属性值都有一定的变化范围。属性取值的范围称为值域(Domain)。例如:性别属性值域是男、女;成绩属性值域是0~100。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 (3)计算机世界:在信息世界中有些信息可以直接用数字表示,有些信息可以用符号、文字等来表示。但在计算机世界中一切信息只能用二进制数据表示,即在计算机世界中的信息必须是数字化的。因此,计算机世界也称为数据世界。 在计算机世界中常用下列术语: 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 ①记录(Record):信息世界中的实体记录在计算机世界中的表示。 1.2.3 概念模型 ①记录(Record):信息世界中的实体记录在计算机世界中的表示。 ②字段(Field):信息世界中的属性在计算机中的表示,它是可以命名的最小信息单位。 ③文件(File):信息世界中的实体记录集在计算机世界中的表示。 ④关键字(Key Word):能够唯一标识文件中的某一个记录的最小字段集。 仲恺农业工程学院 计算机科学与工程学院
1.2.3 概念模型 表1-5 三个世界所用术语及其对应关系 现实世界 信息世界 计算机世界 实体集 实体记录集 表 实体 实体记录 记录 1.2.3 概念模型 表1-5 三个世界所用术语及其对应关系 现实世界 信息世界 计算机世界 实体集 实体记录集 表 实体 实体记录 记录 实体特征 属性 字段 实体标识符 标识属性 关键字 仲恺农业工程学院 计算机科学与工程学院
2.实体(集)间的联系 2.实体(集)间的联系 在现实世界中实体集不是孤立存在的,它们之间的联系是错综复杂的,所以,在信息世界中我们不但关心每一个实体集、属性,还关心实体集之间的联系。联系分为两类,一类是实体内部的联系,反映的是一部分属性值与另一部分属性值之间的决定关系或依赖关系,即字段间的联系。另一类是实体集间的联系,反映在数据上就是记录间的联系。 关于实体内部的联系重点关心的是关键字,它起到决定作用,其它属性依赖关键字,由于在规范化理论中要进行详细讨论,所以,在这里重点讨论实体间的联系。根据参与联系的实体集的数目不同,把联系分为二元联系和多元联系。 仲恺农业工程学院 计算机科学与工程学院
2.实体(集)间的联系 (1)二元联系:只有两个实体集参与的联系称为二元联系。二元联系有以下三种类型: ①一对一(one to one)联系 设有两个实体集A、B,如果对于实体集A中的每一个实体,B中至多有一个实体与之有联系,反之亦然,则称A、B有一对一联系(1:1联系)。 仲恺农业工程学院 计算机科学与工程学院
2.实体(集)间的联系 学校 学生 学校 校长 教师 学生 图1-10 仲恺农业工程学院 计算机科学与工程学院
2.实体(集)间的联系 ②一对多(one to many)联系 设有两个实体集A、B,若A中每个实体与B中任意个实体(包括零个)相联系,而B中每个实体至多和A中一个实体有联系,则称A和B是一对多联系(1:n联系也用符号)。 把1:n联系倒转过来便成为n:1的联系。如学生实体集与学校实体集之间的联系是n:1的。 仲恺农业工程学院 计算机科学与工程学院
2.实体(集)间的联系 ③多对多(many to many)联系 设有两个实体集A、B,若两个实体集A、B中的每一个实体都和另一个实体集中任意个实体(包括零个)有联系,则称A、B是多对多联系(m:n联系)。 1:1联系是1:n联系的特例,而1:n联系又是m:n联系的特例。它们之间的包含关系如图1-10所示。 仲恺农业工程学院 计算机科学与工程学院
2.实体(集)间的联系 (2)多元联系:参与联系的实体集的个数≥3时,称为多元联系。与二元联系一样,多元联系也分为1:1、1:n和m:n三种。例如。用来描述学生、教师和课程实体集之间的“教学”联系是三元联系,一个教师可以讲授多门课程,并且可以有多个学生学习该课程;一门课程不但可以有多个学生学习,还可以有多名教师来讲授;一个学生可以有多个教师为其讲授多门课程。如图1-11所示。 m:n 教师 学生 课程 r 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 3.E-R 图(Entity-Relationship Approach) 方 框:表示一实体集,在框内写上实体集的名字。 仲恺农业工程学院 计算机科学与工程学院
菱形框:表示联系,菱形框内标明联系名,与其相关的实体集之间用线段连接,且在连线边上标明联系类型。 3.E-R 图 菱形框:表示联系,菱形框内标明联系名,与其相关的实体集之间用线段连接,且在连线边上标明联系类型。 椭圆框:表示属性,在框内写上属性的名字,并用无向边连向与其相关的实体集或联系。 在E-R图中,有时为了突出各实体集之间的联系,可以先画出实体集及其属性,然后再重点画出实体之间的联系。如图下图所示: 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 学校 负责 校长 学生 教学 教师 教师 聘任 院系 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 (2)绘制E-R图的步骤 第一步:通过对现实世界的分析、抽象,找出实体集及其属性; 第二步:找出实体集之间的联系; 第三步:找出实体集联系的属性 第四步:绘制E-R图。绘制E-R图一般先绘制局部E-R图,然后绘制全局E-R图,详细见数据库设计。 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 例如:我们以教学情况为例,进行E-R图设计。 第一步:首先找出相关实体集:学生(S) 教师(T) 课程(C) 院系(D) 每个实体的属性分别为: S: 学号,学生姓名,出生日期,专业,班级 T: 编号,教师姓名,职称,所在教研室 C: 课程号,课程名称,学时,考核方式 D: 院系代号,院系名称 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 第二步:找出实体集之间的联系 S与C之间有联系,且为m:n,因为一个学生可以学习多门课程,反过来一门课程可以被多个学生学习。 T与C之间有联系,且为m:n,因为一个教师可以讲授多门课程,反过来一门课程可以被多个教师讲授。 D与S之间有联系,且为1:n,因为一个院系可以有多个学生,但是一个学生只属于一个院系。 D与T之间有联系,且为1:n,因为一个院系可以有多个教师,但是一个教师只属于一个院系。 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 第三步:找出实体集之间联系的属性 S与C之间联系的结果用成绩表示。 T与C之间联系以讲授哪一个班级来表示。 当E-R图比较复杂时,为了使E-R图简洁,可以使属性不在E-R图中出现,即单独画出每一个实体及实体属性,在E-R图中仅画出实体集和它们之间的联系,在E-R图中每一个实体只允许出现一次,如图1-14所示。 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 仲恺农业工程学院 计算机科学与工程学院
3.E-R 图 教师 编制 院系 授课 课程 学习 学生 成绩 SD 授课班级 m: 1 m: 1: n m m: n 仲恺农业工程学院 计算机科学与工程学院
1.2.4 常用数据模型 常用的结构数据模型有四种:层次模型、网状模型、关系模型和面向对象模型。 1.层次模型 1.2.4 常用数据模型 常用的结构数据模型有四种:层次模型、网状模型、关系模型和面向对象模型。 1.层次模型 层次模型是按照树型(层次)结构表示实体集与实体集之间的联系模型。层次模型中用结点表示实体集,结点之间联系的基本方式是1:n。 层次模型满足如下条件:有且只有一个结点没有双亲结点(称为根结点);根以外的其它结点有且只有一个双亲结点。如图1-15所示为层次模型的例子。 仲恺农业工程学院 计算机科学与工程学院
1.2.4 常用数据模型 图1-15 层次模型例子 仲恺农业工程学院 计算机科学与工程学院
2.网状模型 网状数据模型基本特征是取消了层次模型的限制,它不但允许一个以上的结点无双亲,而且一个结点允许有一个以上的双亲。 在网状数据模型中,用有向图结构表示实体类型及实体间的联系,有向图中每个结点表示一个实体集,称之为记录型,用矩形框表示。记录型之间的联系通过“系”(Set)实现,系用有向线段表示,箭头指向1:n联系的“n”方。“1”方的记录称为首记录,“n”方的记录称为属记录。图1-17是网状结构的一个例子。 仲恺农业工程学院 计算机科学与工程学院
2.网状模型 图1-17 网状结构的一个例子 仲恺农业工程学院 计算机科学与工程学院
3.关系模型 关系数据模型的主要特征是用二维表格表示现实世界实体集及实体集间的联系。在数学上关系有严格的定义,它与前两种模型相比数据结构简单,容易被初学者理解。 仲恺农业工程学院 计算机科学与工程学院
3.关系模型 作为关系,具有如下性质:关系中的每一个属性都是不可分解的,即所有域都应是原子数据的集合;没有完全相同的行和列,行、列的排列顺序是无关紧要的。 在关系模型中有一个比较重要的概念就是关系模式。关系模式是关系中信息内容结构的描述。它包括关系名、属性名、每个属性列的取值集合、数据完整性约束条件以及各属性间固有的数据依赖关系等。因此,关系模式可表示为: R(U,D,DOM,I, ∑) 其中:R是关系名 U是组成关系R的全部属性的集合 D是U中属性取值的值域 DOM是属性列到域的映射;即DOM:U→D,且每个属性Ai所有可能的取值集合构成Di(i=1,2,…,n),并允许Di =Dj,i≠j I是一组完整性约束条件 ∑是属性集间的一组数据依赖 仲恺农业工程学院 计算机科学与工程学院
3.关系模型 在不涉及完整性约束及数据依赖情况下,为了简化,可用R(U)表示关系模式。例如学生关系模式可表示为: S(学号,姓名,性别,年龄,所在院系) 在层次和网状模型中,联系是用指针来实现的,而在关系模型中,联系是通过关系模式中的属性来体现。 仲恺农业工程学院 计算机科学与工程学院
3.关系模型 在关系数据库中,对数据库的查询和更新操作都归结为对关系的运算。 关系运算:即以一个或多个关系为运算对象,对它们进行某些运算形成一个新关系,提供用户所需数据。关系运算按其表达查询方式的不同分为两大类:关系代数和关系演算。 关系代数是由一组以关系作为运算对象的特定的关系运算所组成,用户通过这组运算对一个或多个关系进行“组合”与“分割”,从而得到所需的新关系。 关系代数运算又可分为两类:传统的集合运算和专门的关系运算。传统的集合运算包括并运算、差运算,交运算和笛卡尔乘积运算等。专门的关系运算是根据数据库操作需要而定义的一组运算,它包括:选择运算、投影运算、连接运算、自然连接运算和除运算等。 关系演算是以数理逻辑中的谓词演算来表达关系的操作。关系演算根据使用谓词变量类型的不同,可分为元组关系演算和域关系演算。关系数据模型中的关系代数和关系演算,为关系运算提供了丰富的操作功能。 仲恺农业工程学院 计算机科学与工程学院
3.关系模型 关系模型的数据约束通常由三类完整性约束提供支持,以保证对关系数据库进行操作时不破坏数据的一致性。 (1)实体完整性约束:实体完整性约束是指任一关系中标识属性(关键字)的值,不能为NULL,否则,无法识别关系中的元组。 (2)参照完整性约束:参照完整性是不同关系间的一种约束,当存在关系间的引用时,要求不能引用不存在的元组。若属性组F是关系R(U)的外关键字,并是关系S(U)的关键字(即F不是R(U)的关键字,而是S(U)的关键字,称F是R(U)的外关键字),则对于R(U)中的每个元组在属性组F上的值必须为:①或取空值(NULL);②或等于S(U)中某个元组的关键字值。 (3)用户定义完整性约束:如值的类型、宽度等。 仲恺农业工程学院 计算机科学与工程学院
3.关系模型 关系模型和层次模型、网状模型的最大差别是用关键字而不是用指针导航数据,除此之外,关系模型的主要优点有: 1)关系模型有坚实的理论基础 2)二维表不仅能表示实体集,而且能方便地表示实体集间的联系,它有很强的表达能力,这是层次模型和网状模型所不及的 3)简单 4)数据独立性高 仲恺农业工程学院 计算机科学与工程学院
4.面向对象数据模型 面向对象数据模型(Object-Oriented Data Model 简称OO数据模型)是面向对象程序设计方法与数据库技术相结合的产物。它的基本目标是以更接近人类思维的方式描述客观世界的事物及其联系,且使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致,以便对客观实体进行结构模拟和行为模拟。 仲恺农业工程学院 计算机科学与工程学院
在面向对象数据模型中最基本的概念是对象和类。 (1)对象(Object) (2)类和类的实例 4.面向对象数据模型 在面向对象数据模型中最基本的概念是对象和类。 (1)对象(Object) (2)类和类的实例 仲恺农业工程学院 计算机科学与工程学院
1.3 数据库系统体系结构 1.3.1 数据库系统的三级模式结构 1.3 数据库系统体系结构 1.3.1 数据库系统的三级模式结构 一个数据库结构从逻辑上可以划分为三个层次:外部模式(External Schema),概念模式(Conceptual Schema)和内部模式(Internal Schema),称为数据库系统的三级模式结构。这个结构最早是在1971年通过的DBTG报告中提出来的,后来收录在1975年的ANSI/X3/SPARC(美国国家标准化组织/授权的标准委员会/系统规划与需求委员会)联合成立的DBMS研究组的中期报告中。虽然目前DBMS产品非常多,并且多种多样,但大多数系统在体系结构上都具有三级结构的特征,如图1-21所示 仲恺农业工程学院 计算机科学与工程学院
1.3.1 数据库系统的三级模式结构 图1-21 数据库系统三级模式结构 用户12 用户11 外模式1 外模式N 外模式2 概念模式 内模式 1.3.1 数据库系统的三级模式结构 用户12 外模式1 … 外模式N 外模式2 概念模式 内模式 外模式/概念模式映象 概念模式/内模式映象 DB 用户11 用户22 用户21 用户N1 用户N2 图1-21 数据库系统三级模式结构 仲恺农业工程学院 计算机科学与工程学院
1.3.1 数据库系统的三级模式结构 1.概念模式(Conceptual Schema) 1.3.1 数据库系统的三级模式结构 1.概念模式(Conceptual Schema) 概念模式简称模式,是由数据库设计者综合所有用户数据,按照统一的观点构造的对数据库全局逻辑结构的描述。 一个数据库只有一个概念模式,它是数据库系统三级模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序及程序设计语言无关。 概念模式由DBMS提供的模式描述语言(模式DDL)来定义和描述。 仲恺农业工程学院 计算机科学与工程学院
1.3.1 数据库系统的三级模式结构 (2.外部模式(External Schema) 外部模式又称子模式,是用户与数据库之间的接口,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。 从逻辑关系来看,外部模式是概念模式的一部分,或者说外部模式是概念模式的一个逻辑子集。一个数据库可以有多个外部模式,外部模式表示了用户所理解的实体、实体属性和实体间的联系。 外部模式由DBMS提供的外部模式描述语言(外部模式DDL)来定义和描述。 仲恺农业工程学院 计算机科学与工程学院
1.3.1 数据库系统的三级模式结构 3.内部模式(Internal Schema) 1.3.1 数据库系统的三级模式结构 3.内部模式(Internal Schema) 内部模式也称存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 一个数据库只有一个内部模式。在内部模式中规定了所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。 因此,内部模式是DBMS管理的最低层,它是物理存储设备上存储数据时的物理抽象。内部模式由DBMS提供的内部模式描述语言(内部模式DDL)来定义和描述。 仲恺农业工程学院 计算机科学与工程学院
1.3.2 数据库的两级映像与数据独立性 1.3.2 数据库的两级映像与数据独立性 1.3.2 数据库的两级映像与数据独立性 1.3.2 数据库的两级映像与数据独立性 数据库系统的三级模式是对数据进行三个级别的抽象。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在机器中的具体表示方式和存储方式。 DBMS在这三级模式间提供了两层映像:外模式/模式映像和模式/内模式映像。 为了实现这三个抽象级别的联系和转换,提高数据库系统中的数据独立性 映像是一种对应规则,它指出了映像双方是如何进行转换的。数据库的三级结构是依靠映像来联系和互相转换的。正是这两层映像保证了数据库系统中的数据具有较高的数据独立性。 仲恺农业工程学院 计算机科学与工程学院
1.3.2 数据库的两级映像与数据独立性 1.外模式/模式映像 1.3.2 数据库的两级映像与数据独立性 1.外模式/模式映像 外模式/模式映像定义了各个外模式与模式间的映像关系。对应于同一个模式可以有多个外模式,对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常在各自的外模式中加以描述。 2.模式/内模式映像 模式/内模式映像定义了数据库全局逻辑结构与存储结构之间的对应关系。 数据库系统的三级模式结构定义了数据库的三个抽象层次:物理数据库、概念数据库和逻辑数据库。数据库系统的三种不同模式只是提供处理数据的框架,而填入这些框架中的数据才是数据库的内容。根据三级模式结构引出的数据库抽象层次,是从不同角度观察数据库的视图,图1-22给出数据库的分级结构与抽象层次的对应关系。 仲恺农业工程学院 计算机科学与工程学院
1.3.2 数据库的两级映像与数据独立性 图1-22 系统的分级结构与抽象层次对应图 仲恺农业工程学院 计算机科学与工程学院
1.3.3 用户通过DBMS访问数据库的过程 数据库管理系统是一个负责数据库的定义、建立、操作、管理和维护的软件系统。它是数据库系统的核心组成部分,也是用户的应用程序和物理数据库之间的桥梁。用户、程序员、DBA对数据库数据的一切操作,包括定义、查询、更新及各种控制,都是通过数据库管理系统进行的。DBMS的工作示意图如图1-23所示。 仲恺农业工程学院 计算机科学与工程学院
1.3.3 用户通过DBMS访问数据库的过程 图1-23 用户访问数据库的过程 仲恺农业工程学院 计算机科学与工程学院
1.3.3 用户通过DBMS访问数据库的过程 图1-24 DBMS的工作模式 仲恺农业工程学院 计算机科学与工程学院
1.3.3 用户通过DBMS访问数据库的过程 DBMS的工作过程如下: ⑴ 接受应用程序的数据请求。 ⑵ DBMS对用户的操作请求进行分析(DMBS类似于一个操作命令解释器,把用户程序的数据操作语句转换为具体的物理数据处理,它又像一个向导,把用户对数据库的一次访问从用户数据库带到概念数据库,再导向物理数据库,从而有效地实现了数据库三级模式间的转换)。 ⑶ 由于在计算机的存储设备上的数据数据库管理系统不能直接操作,必须由操作系统统一管理调度,所以,数据库管理系统要向操作系统发出操作请求。 ⑷ 操作系统接到命令后,对数据库中的数据进行处理,将结果送到系统缓冲区,并发出读完标志; ⑸ DBMS接到回答信号后,将缓冲区的数据经过模式映射,变成用户的逻辑记录送到用户工作区,同时给用户回答成功与否的信息。 上述操作过程可以用图1-24所示。 仲恺农业工程学院 计算机科学与工程学院
1.4 数据库技术的新发展 1.分布式数据库 2.并行数据库 3.演绎数据库、知识库和主动数据库 4.多媒体数据库 5.模糊数据库 仲恺农业工程学院 计算机科学与工程学院
本章小结 数据管理技术的发展主要经历了人工管理阶段、文件系统阶段和数据库系统阶段。数据库、数据库系统、数据库管理系统、数据库应用系统是有关数据库的基本概念。 数据模型是指现实世界数据和信息的模拟,在从现实世界到计算机世界的抽象过程中,要求必须具备真实性、易理解性和易实现性。 数据库系统是采用了数据库技术的计算机系统,主要由硬件、软件和用户组成,其中DBMS是数据库系统的核心。数据库的数据模式由外模式、模式和内模式三级模式构成。在三级模式之间提供了两级映象:外模式/模式映象和模式/内模式映像,这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。通过本章的学习,应该: 掌握信息、数据、数据库的概念。 理解数据库技术的起源与发展。 掌握数据库技术的特点。 掌握数据管理系统的功能与结构。 掌握数据库系统的组成、数据库系统的三级模式结构和数据独立性。 仲恺农业工程学院 计算机科学与工程学院
下课了。。。 追 求 仲恺农业工程学院 计算机科学与工程学院