
第1章数帮库技术基础 数据库是数据管理的实用技术,是计算机技术的重要分支,它的出现极大地促进了计算 机应用向各行各业的渗透。本章将介绍数据库技术的有关基本概念、特点,各种数据模型, 数据库系统的构成等知识,这些内容将作为后续数据库技术的学习起到指导性的作用。 L.1数据管理的概述 1.1,1数据,数据管理与数据处理 1.数据 数据(Daa》是捕述事物的符号记录。除了常用的数字数据外,文字(如名称)、图形、图 像、声音等信息,也都是数据。日常生活中,人门为了交流,会直接用自然语言(如汉语) 去描述事物。在计算机中,为了存储和处理这些事物。就要袖出对这些事物感兴趣的特征组 成一个记录来描述。例如,在学生档案中,可以对学生的学号、姓名、性别、出生年月、家 庭住址、电话、郎编和入学成馈等情况这样描述:001010202,髮晓明,男,19g7-823, 广州市海珠区。020-3403342.510310,604。 数据与其语义是不可分的。对于上面一条学生记录,了解其语义的人会得到知下信息: 髮晓明是一个学生,学号为001010202,198了年8月8日出生,家庭住址是广州市海殊区, 电话是020-3406332,邮编是510310,入学成锁是601分:面不了解其语义的人则无法理 解其合义。可见,数据的形式木身并不楂完全表达其内容,需要经过语义解释, 2数据管理与数据处理 现实世界中的事物反晚到人们的头脑里,经过认识,选择,命名等筹合分析而形成了印 象和概念,产生认识,这就是信息,即进入信息世界。在信息世界里,有些信息可以直接用 数据表示,如学生学号,出生日期、成绩等:有些是由符号、文字减其它形式米表示的。在 计算机中,所有的信息只能用二进制数表示,一切信息进入计算机时,必须是数据化的。 信息是维特生产活动、经济活动和社会话动必不可少的资源:数据是将现实世界中的各 种信息记录下米、可识别的符号,它用类型和数值来表示。数据的表现形式是多种多样的, 例知:文字、图形、图像、声音、学生的档案记录、商品的销售账目、货物的运输情况等, 这些都是数据。数据的形式本身并不能完全表达其内容,它需要经过语文解释。数据与其语 义是不可分的:并不是所有的数据都是信息,信息是一种己经被加工为特定形式的数据。这 种数据形式对接段者来说是有意义的。即只有有价值的数据才是信息。数据处理是指从某些 已知的数据出发,推导如工出一些新的数据,这些新的数据又表示了新的信皂。在具体操作
第 1 章 数据库技术基础 数据库是数据管理的实用技术,是计算机技术的重要分支,它的出现极大地促进了计算 机应用向各行各业的渗透。本章将介绍数据库技术的有关基本概念、特点,各种数据模型, 数据库系统的构成等知识,这些内容将作为后续数据库技术的学习起到指导性的作用。 1.1 数据管理的概述 1.1.1 数据、数据管理与数据处理 1.数据 数据(Data)是描述事物的符号记录。除了常用的数字数据外,文字(如名称)、图形、图 像、声音等信息,也都是数据。日常生活中,人们为了交流,会直接用自然语言(如汉语) 去描述事物。在计算机中,为了存储和处理这些事物,就要抽出对这些事物感兴趣的特征组 成一个记录来描述。例如,在学生档案中,可以对学生的学号、姓名、性别、出生年月、家 庭住址、电话、邮编和入学成绩等情况这样描述:0401010202,聂晓明,男,1987-8-23, 广州市海珠区,020-34063342,510310,604。 数据与其语义是不可分的。对于上面一条学生记录,了解其语义的人会得到如下信息: 聂晓明是一个学生,学号为 0401010202,1987 年 8 月 23 日出生,家庭住址是广州市海珠区, 电话是 020-34063342,邮编是 510310,入学成绩是 604 分;而不了解其语义的人则无法理 解其含义。可见,数据的形式本身并不能完全表达其内容,需要经过语义解释。 2.数据管理与数据处理 现实世界中的事物反映到人们的头脑里,经过认识、选择、命名等综合分析而形成了印 象和概念,产生认识,这就是信息,即进入信息世界。在信息世界里,有些信息可以直接用 数据表示,如学生学号、出生日期、成绩等;有些是由符号、文字或其它形式来表示的。在 计算机中,所有的信息只能用二进制数表示,一切信息进入计算机时,必须是数据化的。 信息是维持生产活动、经济活动和社会活动必不可少的资源;数据是将现实世界中的各 种信息记录下来、可识别的符号,它用类型和数值来表示。数据的表现形式是多种多样的, 例如:文字、图形、图像、声音、学生的档案记录、商品的销售账目、货物的运输情况等, 这些都是数据。数据的形式本身并不能完全表达其内容,它需要经过语义解释。数据与其语 义是不可分的;并不是所有的数据都是信息,信息是一种已经被加工为特定形式的数据,这 种数据形式对接收者来说是有意义的。即只有有价值的数据才是信息。数据处理是指从某些 已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。在具体操作

中,浅及到数据收集,管理,加工和输出等过程。数据处理是用计算机对数据进行处理的系 饶应用。它是一个由人,计算机等组成的能进行信息的收集、传递,存储、加工,推护,分 析、计划、控制、决策和使用的系统,这些基本操作环节称为数据管理,数据管理技术是解 决上述基本环节的,而其它环节(加工/计算、输出等操作)是由应用程序实现的。所以数据 库是管理信息系饶nagement InformationSyster)的核心, 在数据处理中,通常数据的计算比较简单,而数据的管理比较复杂。数据管理是指数据 的收集、整理、组织、存储和检素等操作。这都分操作是数据处理业务的基本环节。是任何 数据处理业务中必不可少的共有部分,因此有必要学习和掌挥数据管理的技术,对数据处理 提供有利的支持。 1.1.2数据管理的发展 数据管理是数据库的核心任务,内容包括对数据的分类、组织、编码、储存、检索和推 护。随着计算机硬件和载件的发展。数据库技术也不斯地发展。从数据管理方式的角度看, 数据管理到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。 1.人工管理阶段 人工管理验段大约在0世纪图年代中期以前,在那时,由于计算机技术相树落后,硬 件主要是:磁带、卡片,纸带,没有诞盘,而且计算机是很品贵的资源。主要用于科学计算: 状件方面也没有操作系统(更没有管理数据的状件)。数据不能保存,编写程序时要安排数据 的物理存销,数据是面向程序的,一个程序对应一些数据。如图1-1所示。 这个时期数据管理的特点是: ()数据不保存。该时期的计算机主要应用于科学计算,一般不需委将数据长期保存,只 是在计算某一课思时将数据输入,用完后不保存原始数据,也不保存计算结果。 ()没有对数据进行管理的款件系统。程序员不仅要规定数据的速细结构,面且还要在程 序中设计物理结构,包括存储结构,存取方法,输入输出方式等。因此程序中存取数据的子 程序随着存储的改麦而改变,数据与程序不具有一政性。 (③)没有文件的概念,数据的组织方式必须由程序员自行设计,()一组数据对应于一个程 序,数据是面向应用的。即使两个程序用到相同的数据,也必须各自定义,各自组织,数据 无法共享,无法相互利用和互相参黑,从面导致程序和程序之间有大量重复的数据。 2文件系统阶段 文件系统骑段是指计算机不仅用于科学计算,而且还大量用于管理数据的阶段(从上世 纪0华代后期到60年代中期)。在硬件方面,外存错器有了磁量、磁鼓等直接存取的存储
中,涉及到数据收集、管理、加工和输出等过程。数据处理是用计算机对数据进行处理的系 统应用。它是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工、维护、分 析、计划、控制、决策和使用的系统,这些基本操作环节称为数据管理,数据管理技术是解 决上述基本环节的,而其它环节(加工/计算、输出等操作)是由应用程序实现的,所以数据 库是管理信息系统(ManagementInformationSystem)的核心。 在数据处理中,通常数据的计算比较简单,而数据的管理比较复杂。数据管理是指数据 的收集、整理、组织、存储和检索等操作,这部分操作是数据处理业务的基本环节,是任何 数据处理业务中必不可少的共有部分,因此有必要学习和掌握数据管理的技术,对数据处理 提供有利的支持。 1.1.2 数据管理的发展 数据管理是数据库的核心任务,内容包括对数据的分类、组织、编码、储存、检索和维 护。随着计算机硬件和软件的发展,数据库技术也不断地发展。从数据管理方式的角度看, 数据管理到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。 1.人工管理阶段 人工管理阶段大约在 20 世纪 50 年代中期以前,在那时,由于计算机技术相对落后,硬 件主要是:磁带、卡片、纸带,没有磁盘,而且计算机是很昂贵的资源,主要用于科学计算; 软件方面也没有操作系统(更没有管理数据的软件),数据不能保存,编写程序时要安排数据 的物理存储,数据是面向程序的,一个程序对应一些数据。如图 1-1 所示。 这个时期数据管理的特点是: ⑴数据不保存。该时期的计算机主要应用于科学计算,一般不需要将数据长期保存,只 是在计算某一课题时将数据输入,用完后不保存原始数据,也不保存计算结果。 ⑵没有对数据进行管理的软件系统。程序员不仅要规定数据的逻辑结构,而且还要在程 序中设计物理结构,包括存储结构、存取方法、输入输出方式等。因此程序中存取数据的子 程序随着存储的改变而改变,数据与程序不具有一致性。 ⑶没有文件的概念。数据的组织方式必须由程序员自行设计。⑷一组数据对应于一个程 序,数据是面向应用的。即使两个程序用到相同的数据,也必须各自定义、各自组织,数据 无法共享,无法相互利用和互相参照,从而导致程序和程序之间有大量重复的数据。 2.文件系统阶段 文件系统阶段是指计算机不仅用于科学计算,而且还大量用于管理数据的阶段(从上世 纪 50 年代后期到 60 年代中期)。在硬件方面,外存储器有了磁盘、磁鼓等直接存取的存储

设备。在软件方面,操作系饶中己经有了专门用于管理数据的款件,称为文件系饶。在处理 方式上,不仅有了文件批处理,面且能够联机实时处理。 这个时期数据管理的特点是 ()数据需要长期候存在外存上供反复使用。由于计算机大量用于数据处理,经常对文件 进行查询、修政、插入和酬除等操作,所以数据需要长期保留,以便于反复操作。 程序之间有了一定的独立性,操作系饶提供了文件管理功能和访问文件的存取方法, 程序和数据之间有了数据存取的接口,程序可以通过文件名和数据打交道,不必再寻钱数据 的物理存成位置。至此,数据有了物理结构和逻细结构的区别,但此时程序和数据之间的独 立性尚还不充分。 (文件的形式己经多样化。由于己经有了直接存取的存储设备,文件也就不再局限于顺 序文件,还有了常引文件、链表文件等。因而,对文件的访问可以是顺序访问,也可以是直 接访月, (4)数据的存取基本上以记录为单位。 文件系统羚段程序和数据之间的关系如图1-2所示。由图12可以看出,文件系统中的 数据和程序虽然具有了一定的独立性,但还很不充分,每个文件仍然对应于一个应川程序, 数据还是面向应用的。要如对现有的数据再增加一些新的应用是很困难的,系统不易扩充: 一旦数据的逻辑结构改变,必须修改应用程序。并且,各个文件之间是孤立的。不能反肤现 实世界事物之间的内在联系。各个不同应用程序之间也不能共享相同的数据。从而造成数据 冗余度大,并容易产生相月数据的不一致性。 3数据岸系统阶段 到上世纪0年代后期,数据管理规模更为庞大,应用更广泛,数据量刚增,共享要求(多 种应用、多种语言互相履盖地共享数据集合)更高,在硬件方面有了大容量和快速存取磁盘。 于是山现了数据库系统,它的折导思想是:对所有的数据实行统一的、集中的和独立的管理, 使数据存储鞋立于使用数据的程序,实现数据共享。如图1-3所示。 数据岸系统阶段有如下特点: ()数据共享 共享是指多用户,多种应用、多种语言互相履盖随共享数据集合。数据库系统阶段可以 实现文件级、记录级、数据项级的数据共享。 (2而向全组织的数据结构化 按厕某种数据核型,将整个组织的全部数据组织成一个结构化的数据整体。而文件系饶
设备。在软件方面,操作系统中已经有了专门用于管理数据的软件,称为文件系统。在处理 方式上,不仅有了文件批处理,而且能够联机实时处理。 这个时期数据管理的特点是: ⑴数据需要长期保存在外存上供反复使用。由于计算机大量用于数据处理,经常对文件 进行查询、修改、插入和删除等操作,所以数据需要长期保留,以便于反复操作。 ⑵程序之间有了一定的独立性。操作系统提供了文件管理功能和访问文件的存取方法, 程序和数据之间有了数据存取的接口,程序可以通过文件名和数据打交道,不必再寻找数据 的物理存放位置。至此,数据有了物理结构和逻辑结构的区别,但此时程序和数据之间的独 立性尚还不充分。 ⑶文件的形式已经多样化。由于已经有了直接存取的存储设备,文件也就不再局限于顺 序文件,还有了索引文件、链表文件等。因而,对文件的访问可以是顺序访问,也可以是直 接访问。 ⑷数据的存取基本上以记录为单位。 文件系统阶段程序和数据之间的关系如图 1-2 所示。由图 1-2 可以看出,文件系统中的 数据和程序虽然具有了一定的独立性,但还很不充分,每个文件仍然对应于一个应用程序, 数据还是面向应用的。要想对现有的数据再增加一些新的应用是很困难的,系统不易扩充。 一旦数据的逻辑结构改变,必须修改应用程序。并且,各个文件之间是孤立的,不能反映现 实世界事物之间的内在联系,各个不同应用程序之间也不能共享相同的数据,从而造成数据 冗余度大,并容易产生相同数据的不一致性。 3.数据库系统阶段 到上世纪 60 年代后期,数据管理规模更为庞大,应用更广泛,数据量剧增,共享要求(多 种应用、多种语言互相覆盖地共享数据集合)更高,在硬件方面有了大容量和快速存取磁盘。 于是出现了数据库系统,它的指导思想是:对所有的数据实行统一的、集中的和独立的管理, 使数据存储独立于使用数据的程序,实现数据共享。如图 1-3 所示。 数据库系统阶段有如下特点: ⑴数据共享 共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合。数据库系统阶段可以 实现文件级、记录级、数据项级的数据共享。 ⑵面向全组织的数据结构化 按照某种数据模型,将整个组织的全部数据组织成一个结构化的数据整体。而文件系统

是一个无结构的数据集合,文件之间是孤立的,不能反联事物之间的联系,数据面白专用, 没有弹性,不直扩充。 ()数据鞋立性 数据岸系统阶段的数据具有物理独立性,逐辑独立性,面且具有较高的数据和程序的独 立性,将数据描述,定义从应用程序中分离出来,独立于应用程序而存在,相互鞋立,互不 依赖。 ()可控数据元余度 数据库系统阶段的最据存储不必重复存储,从而节省存销空间,保证数据的一致性:在 理论上数据存储可以做到沉余度为零,还可以有意安排若干元余,由用户控制,称为可控沉 余度。 (⑤)统一数据控制功能 共享一般是并发的,当多个用户同时使用数据库时,数据岸系统提供如下控制功能:数 据安全控制:数据完整性拉制(正确性、有效性、相容性):并发控制:数据核复, 1,1,3数据库,数据库管理系统和数据库系统 1.数据岸 所谓数据库(①atabase,简称),是将数据拔一定的数据模型组凯、描述和储存,具 有较小的沉余度,较高的数据独立性和易扩展性,并可为各种用户共享的数据集合 通常,收集并抽取一个应用所需要的大量数据之后,应该将其保存起米以供进一步加工 处理和抽取有用信息。保存方法有多种,尤其以保存在数据库中最佳。因为它们一般由相互 关联数据表组成,能使数据沉余度尽可能的小。数据表由一些列构成,列主要用米存储在数 据表中的相同数据类型的一系列值。 2数据库管理系统 对收集到的大量数据进行整理、加工、归并、分类、计算、存储等处理,产生新的数据 以便反应事物或现象的本质和特征及其内在暖系。例如:在微波炉生产中。生产管理者根据 某种微波炉历年销售数量及最近的市场需求调查,获得了许多数据,再对这些数据进行加工, 就会得出相美微波护的市场预测信息。生产管理者就可根据这些信息进行分析和评价,做出 对该产品是增产、减产还是停产的决策。完成这个数据处理任务的是数据库管理系统 (①阳tabaseManagemontSystem,简称WS)。它位于用户与操f作系饶之问的一层数据管理软 件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。它使用户方便地 定义数据和操纵数据,并能够保证数据的安全性、完整性、以及多用户对数据的并发使用及
是一个无结构的数据集合,文件之间是孤立的,不能反映事物之间的联系,数据面向专用, 没有弹性,不宜扩充。 ⑶数据独立性 数据库系统阶段的数据具有物理独立性、逻辑独立性,而且具有较高的数据和程序的独 立性,将数据描述、定义从应用程序中分离出来,独立于应用程序而存在,相互独立,互不 依赖。 ⑷可控数据冗余度 数据库系统阶段的数据存储不必重复存储,从而节省存储空间,保证数据的一致性;在 理论上数据存储可以做到冗余度为零,还可以有意安排若干冗余,由用户控制,称为可控冗 余度。 ⑸统一数据控制功能 共享一般是并发的,当多个用户同时使用数据库时,数据库系统提供如下控制功能:数 据安全控制;数据完整性控制(正确性、有效性、相容性);并发控制;数据恢复。 1.1.3 数据库、数据库管理系统和数据库系统 1.数据库 所谓数据库(Database,简称 DB),是将数据按一定的数据模型组织、描述和储存,具 有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享的数据集合。 通常,收集并抽取一个应用所需要的大量数据之后,应该将其保存起来以供进一步加工 处理和抽取有用信息。保存方法有多种,尤其以保存在数据库中最佳。因为它们一般由相互 关联数据表组成,能使数据冗余度尽可能的小。数据表由一些列构成,列主要用来存储在数 据表中的相同数据类型的一系列值。 2.数据库管理系统 对收集到的大量数据进行整理、加工、归并、分类、计算、存储等处理,产生新的数据 以便反应事物或现象的本质和特征及其内在联系。例如:在微波炉生产中,生产管理者根据 某种微波炉历年销售数量及最近的市场需求调查,获得了许多数据。再对这些数据进行加工, 就会得出相关微波炉的市场预测信息。生产管理者就可根据这些信息进行分析和评价,做出 对该产品是增产、减产还是停产的决策。完成这个数据处理任务的是数据库管理系统 (DatabaseManagementSystem,简称 DBMS)。它位于用户与操作系统之间的一层数据管理软 件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。它使用户方便地 定义数据和操纵数据,并能够保证数据的安全性、完整性、以及多用户对数据的并发使用及

发生放障后的数据库族复, 3数据库系饶 数据库系统(①atabaseSysten,简移DBS)。一般由数据库、数据库管理系统(及其开发 工具)、应用系饶、数据库管理员和用户构成。数据库系统可用图1-4表示。 其中数据库管理员和用户主要是指存储、排护和检素数据的各类使用者,主要有三类: (a)最终用户(Endllser) 最终用户是应用程序的使用者,通过应用程序与数据岸进行交互。他们通过计算机联机 终端存取数据库的数据,具体操作应用程序,通过应用程序的用户界面使用数据库米完成其 业务活动。数据库的模式结构对最终用户是透明的。 (2的应用程序员(ApplicationProgrammer) 数据库系统一般需要一个以上应用程序员在开发周期内完成数据库结构设计,应用程序 开发等任务:在后期管理应用程序,保证使用周期中对应用程序在功能及性能方面的雀护, 修改工作。 应用程序员是指负责设计和编制应用程序的人员,它使用高领语言编写应用程序,以对 数据库进行存取操作。并编制具体的应用程序对数据库选行存取,操作数据库。 (3数据库管理员(ateBaseAdministrator) 队其职能是对数据库进行日常的管理,负责全面管理和控制数据库系统。数据库管理 员的素质在一定程度上决定了数据库应用的水平,所以他门是数据岸系统中最重要的人员, 数据库管理员的主要眼责包括:设计与定义数据库系统:帮助最终用户使用数据库系统:监 督与控制数据库系统的使用和运行:改进和重组数据库系统,优化数据库系统的性能:备份 与恢复数据岸:当用户的应用雷求增加或改变到,需要对数暴岸进行较大的政造,即重 新构造数据库。 1,2数据树型 现实世界中,个体间总存在着某些联系。反映到信息世界中,是实体间的联系,由此构 成实体模型,反映到数据库系统中,是记录间的联系,将实体模型数据化,转化成数据模型 如图1-5所示, 在数据库中用数据模型1:Mde1)这个工具来抽象,表示和处理现实世界中的数据和 信息。通俗地讲数据模型就是现实世界的模报。根据应用目的,模型分为两个层次: ①顺念核型(信息模型):从用户角度看到的核型。是第一层抽象,要求概念简单,表达 清晰,易于理解
发生故障后的数据库恢复。 3.数据库系统 数据库系统(DatabaseSystem,简称 DBS)。一般由数据库、数据库管理系统(及其开发 工具)、应用系统、数据库管理员和用户构成。数据库系统可用图 1-4 表示。 其中数据库管理员和用户主要是指存储、维护和检索数据的各类使用者,主要有三类: ⑴最终用户(EndUser) 最终用户是应用程序的使用者,通过应用程序与数据库进行交互。他们通过计算机联机 终端存取数据库的数据,具体操作应用程序,通过应用程序的用户界面使用数据库来完成其 业务活动。数据库的模式结构对最终用户是透明的。 ⑵应用程序员(ApplicationProgrammer) 数据库系统一般需要一个以上应用程序员在开发周期内完成数据库结构设计,应用程序 开发等任务;在后期管理应用程序,保证使用周期中对应用程序在功能及性能方面的维护, 修改工作。 应用程序员是指负责设计和编制应用程序的人员,它使用高级语言编写应用程序,以对 数据库进行存取操作,并编制具体的应用程序对数据库进行存取,操作数据库。 ⑶数据库管理员(DateBaseAdministrator) DBA 其职能是对数据库进行日常的管理,负责全面管理和控制数据库系统。数据库管理 员的素质在一定程度上决定了数据库应用的水平,所以他们是数据库系统中最重要的人员。 数据库管理员的主要职责包括:设计与定义数据库系统;帮助最终用户使用数据库系统;监 督与控制数据库系统的使用和运行;改进和重组数据库系统,优化数据库系统的性能;备份 与恢复数据库;当用户的应用需求增加或改变时,DBA 需要对数据库进行较大的改造,即重 新构造数据库。 1.2 数据模型 现实世界中,个体间总存在着某些联系,反映到信息世界中,是实体间的联系,由此构 成实体模型,反映到数据库系统中,是记录间的联系,将实体模型数据化,转化成数据模型。 如图 1-5 所示。 在数据库中用数据模型(DataModel)这个工具来抽象、表示和处理现实世界中的数据和 信息。通俗地讲数据模型就是现实世界的模拟。根据应用目的,模型分为两个层次: ①概念模型(信息模型):从用户角度看到的模型,是第一层抽象。要求概念简单,表达 清晰,易于理解

②数据核型:从计算机角度看到的核型。要求用有严格语法和语义的语言对数那进行严 格的形式化定义、限制和规定,使模型能转变为计算机可以理解的格式。主要包括网状模型、 层次模型。关系榄型等。 1.2.1数据核型的三要素 数据模型是严格定义的概念的集合,这些概念精确地描述系统的静态特性、动态特性和 完整性约束条件。 1.数据结构 数据结构用于情述系统的静态特性。 数据结构是所研究的对象类型Ob jectType)的集合,这些对象是数据库的组成成分,它 们包括两类,一类是与数据类里。内容、性质有关的对象,例如关系横型中的域、属性、美 系等:一类是与数据之间联系有关的对象,例如关系模型中的关系。 数那结构是刻国一个数据横型性质最重要的方面,因此在数据库系饶中,人们通常按厕 其数据结构的类型来命名数据榄里。例如,层次结构。网状结构和关系结构的数据模型分别 命名为层次模型、网状模型和关系模型。 2数据操作 数据操作用于描述系统的动老特性。 数据操作是指对数据库中各种对象执行允许操作的集合,包括操作和相关的操作规则: 操作分为:检素和更新(删除、插入,更改),对数据模型来说,要求定义这些操作的确切含 义、操作符号、操作规则(如优先级别)以及实现操作的语言。 3数据的的束条件 一组完整性规则的集合,完整性规则是给定的数据模型中爱据及其联系所具有的制的和 存储线则,用以限定符合数据模型的数据岸状态以及状态的变化,以保证数据的正确、有效 和旅容: 数据模型应该反陕和规定本数据模型必遵守完整性约束条件。例如,在关系模型中, 任何关系必须调足实体完整性和参属完整性两个条件。 此外,数据模重还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据 必须遵守的特定的语义钓束条件。 1.2.2概念模型 数据模型是数据库系统的核心和基陆。各种机器上实现的W5款件都是基于某种数据 核型的。为了把现实世界中的具体事物抽象,组织为某一S支持的数据核型,人们常常
②数据模型:从计算机角度看到的模型。要求用有严格语法和语义的语言对数据进行严 格的形式化定义、限制和规定,使模型能转变为计算机可以理解的格式。主要包括网状模型、 层次模型、关系模型等。 1.2.1 数据模型的三要素 数据模型是严格定义的概念的集合,这些概念精确地描述系统的静态特性、动态特性和 完整性约束条件。 1.数据结构 数据结构用于描述系统的静态特性。 数据结构是所研究的对象类型(ObjectType)的集合。这些对象是数据库的组成成分,它 们包括两类,一类是与数据类型,内容、性质有关的对象,例如关系模型中的域、属性、关 系等;一类是与数据之间联系有关的对象,例如关系模型中的关系。 数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按照 其数据结构的类型来命名数据模型。例如,层次结构,网状结构和关系结构的数据模型分别 命名为层次模型、网状模型和关系模型。 2.数据操作 数据操作用于描述系统的动态特性。 数据操作是指对数据库中各种对象执行允许操作的集合,包括操作和相关的操作规则。 操作分为:检索和更新(删除、插入、更改),对数据模型来说,要求定义这些操作的确切含 义、操作符号、操作规则(如优先级别)以及实现操作的语言。 3.数据的约束条件 一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和 存储规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效 和兼容。 数据模型应该反映和规定本数据模型必须遵守完整性约束条件。例如,在关系模型中, 任何关系必须满足实体完整性和参照完整性两个条件。 此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据 必须遵守的特定的语义约束条件。 1.2.2 概念模型 数据模型是数据库系统的核心和基础。各种机器上实现的 DBMS 软件都是基于某种数据 模型的。为了把现实世界中的具体事物抽象、组织为某一 DBMS 支持的数据模型,人们常常

首先将实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实 量界中的客观对像舳象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统是不 是某一个[5支持的数据模型,而是概念级的模型:然后再把概念模型转换为计算机上某 一5支持的数据模型。这一过程如图1-4所示。不难看出,餐多模型实际上是现实世界 到机器世界的一个中间层次,用于信息世界的建极。概念横里有如下特点: ①具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 ②荷单,清所、易于用户理解。是用户与数那库设计人员之间进行交流的语言。 1.展念模型中的基本概含 ()实体Entity):客观存在并可以相互区分的率物,倒如人、物、实际的对象,某些概 念或事物之阿的联系。若干个属性的属性值组成的集合,用来表征一个实体,如要晓明、 0401公,男,表示涯晓明这个实体。月类实体的集合则组成了实体集。例如描述全部学生的 实体就构成了学生实体集,反映了一个学校全部学生的情况。 (2)属性(Attribute©):实体所具有的某一特征,一个实体可以由若干个属性米刻通,它 是事物的某一方面的特征的袖象描运。例如学生可以通过学生的姓名,学号,性别,出生日 期等特任来描述,称姓名、学号、性别、年龄为该事物的属性。属性值是属性的具体取值, 如学生姓名为王一明,学号为0401010704,性别为男,出生日期为1986年3月03日,这 些具体值即为属性值。 围关键字低y):唯一标识实体的属性或属性粗合,例如,在学生实体集合中,学号可 以唯一地标凯每个学生实体,所以学号为关健字。在有些实体集中,可以有多个关键字,例 如学生实体集,如果学生姓名无重名,则属性“蛙名”也可作为关键字。通常遗定其中一个, 被选的椰一个关键字是主关键字,其它的关键字是次关键学,次关键字在实体集中经常选择 一些不能唯一标识实体的属性来标识实体,这样的属性叫次关键字。例如,学生的姓名、考 试分数等都可以充当次关键字。 (4线(①ei):某个(线)属性的取值范围,例如,性别的域为(男,女)。 ()⑤实体型(EntityType):具有相同属性的实体具有共同的特征和性质,用实体名及其属 性名集合来抽象和描运同类实体,称为实体型。例如:学生(学号、姓名、年龄、性别、系、 年领)是一个实体型. 实体集EntitySet):同型实体的集合称为实体集,例如,全体学生就是一个实体集。 (联系Relationship):在现实货界中,事务内部以及事务之间是有联系的,这些联系 在信息世界中反映为实体内部的联系和实体之间的联系,实体内部的联系通常是指组成实体
首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实 世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统是不 是某一个 DBMS 支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某 一 DBMS 支持的数据模型,这一过程如图 1-4 所示,不难看出,概念模型实际上是现实世界 到机器世界的一个中间层次,用于信息世界的建模。概念模型有如下特点: ①具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 ②简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。 1.概念模型中的基本概念 ⑴实体(Entity):客观存在并可以相互区分的事物,例如人、物、实际的对象、某些概 念或事物之间的联系。若干个属性的属性值组成的集合,用来表征一个实体。如聂晓明、 040123、男,表示聂晓明这个实体。同类实体的集合则组成了实体集。例如描述全部学生的 实体就构成了学生实体集,反映了一个学校全部学生的情况。 ⑵属性(Attribute):实体所具有的某一特征,一个实体可以由若干个属性来刻画。它 是事物的某一方面的特征的抽象描述。例如学生可以通过学生的姓名、学号、性别、出生日 期等特征来描述,称姓名、学号、性别、年龄为该事物的属性。属性值是属性的具体取值, 如学生姓名为王一明,学号为 0401010704,性别为男,出生日期为 1986 年 3 月 03 日,这 些具体值即为属性值。 ⑶关键字(Key):唯一标识实体的属性或属性组合。例如,在学生实体集合中,学号可 以唯一地标识每个学生实体,所以学号为关键字。在有些实体集中,可以有多个关键字,例 如学生实体集,如果学生姓名无重名,则属性“姓名”也可作为关键字。通常选定其中一个, 被选的那一个关键字是主关键字,其它的关键字是次关键字。次关键字在实体集中经常选择 一些不能唯一标识实体的属性来标识实体,这样的属性叫次关键字。例如,学生的姓名、考 试分数等都可以充当次关键字。 ⑷域(Domain):某个(些)属性的取值范围,例如,性别的域为(男,女)。 ⑸实体型(EntityType):具有相同属性的实体具有共同的特征和性质,用实体名及其属 性名集合来抽象和描述同类实体,称为实体型。例如:学生(学号、姓名、年龄、性别、系、 年级)是一个实体型。 ⑹实体集(EntitySet):同型实体的集合称为实体集。例如,全体学生就是一个实体集。 ⑺联系(Relationship):在现实世界中,事务内部以及事务之间是有联系的,这些联系 在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体

的各属性之同的联系。两个实体型之间的联系可以分为三类! ①1对1联系(1:1)。如果对于实体集A中的每一个实体。实体集B中至多有一个实体 与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。例如,学校里 面,一个教研蜜只有一个教研室主任,而一个教研蜜主任只在一个教研蜜任眼,则教研蜜与 教研室主任具有一对一联系。 ②1对多联系(1:),如果对于实体集A中的每一个实体,实体集B中有n个实体鱼>=0) 与之联系,反之,对于实体集B中的每一个实体,实体集A中至多贝有一个实体与之暖系, 则移实体集A与实体集B有一对多联系。记为1:。例如,一个教研室中有若干名敦师。而 每个教师只能属于一个教研室的成员,则教研室与数师之间具有一对多联系 圆多对多联系(a:),如果对于实体集A中的每一个实体,实体集B中有n个实体(>-0) 与之联系,反之,对于实体集B中的每一个实体,实体集A中也有■个实体(>O)与之联系, 则称实体集A与实体集B具有多对多联系。记为::例如,一门课程有若干个学生参加考 试,面一个学生期未需要参加多门课程的考试,则课程与学生之间几有多对多暖系。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例,它们 之间的关系。实体型之间的这种一对一,一对多、多对多联系不仅存在于两个实体型之间, 也存在于两个以上的实体重之间。若实体集1,2,",E存在联系,对于该实体集中的 给定实体,最多只和实体集中的一个实体1相联系,则我们说E1与E1,2,E-1,E1+1,, 动之间的联系是一对多的。例如,对于误程、教师与误室三个实体型,一门课程可能有若 干位教师讲授,使用若干间课室给若干个班级上课,而在某一时间段每一位教师只能讲授一 门课程,每一何课室只能供一个班级(或一位教师)使用,则课程、教师与误室之间的联系是 一对多的。同一个实体集内的各实体之侧也可以存在一对一、一对多、多对多的联系。例如, 学生实体集内部具有领导与被领导的联系,即某一学生(班干都)“领导”若干名学生,面一 个学生仅被另外一个学生直接额导,因此这是一对多的联系: 2概老模型的表示方法 概念视型的表示方法最常用的是实体-联系方法低ntit一RelationshipApproach),是 P,P,S.Chen于1976年提出的。该方法是用P-R图米描述现实世界的概念核型。 概念柄型的E-R表示方法有如下优点: (E-R方法是抽象和裤述现实世界的有力工具。 (2用E果表示的概念模型与5所支持的数据核型相独立,是各种数据模型的共同基
的各属性之间的联系。两个实体型之间的联系可以分为三类: ①1 对 1 联系(1:1)。如果对于实体集 A 中的每一个实体,实体集 B 中至多有一个实体 与之联系,反之亦然,则称实体集 A 与实体集 B 具有一对一联系。记为 1:1。例如,学校里 面,一个教研室只有一个教研室主任,而-个教研室主任只在一个教研室任职,则教研室与 教研室主任具有一对一联系。 ②1 对多联系(1:n)。如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体(n>=0) 与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中至多只有一个实体与之联系, 则称实体集 A 与实体集 B 有一对多联系。记为 1:n。例如,一个教研室中有若干名教师,而 每个教师只能属于一个教研室的成员,则教研室与教师之间具有一对多联系。 ③多对多联系(m:n)。如果对于实体集 A 中的每一个实体,实体集 B 中有 n 个实体(n>=0) 与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中也有 m 个实体(m>=0)与之联系, 则称实体集 A 与实体集 B 具有多对多联系。记为 m:n。例如,一门课程有若干个学生参加考 试,而一个学生期未需要参加多门课程的考试,则课程与学生之间具有多对多联系。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例,它们 之间的关系。实体型之间的这种一对一、一对多、多对多联系不仅存在于两个实体型之间, 也存在于两个以上的实体型之间。若实体集 E1,E2,…,En 存在联系,对于该实体集中的 给定实体,最多只和实体集中的一个实体 Ei 相联系,则我们说 Ei 与 E1,E2,Ei-1,Ei+1,…, En 之间的联系是一对多的。例如,对于课程、教师与课室三个实体型,一门课程可能有若 干位教师讲授,使用若干间课室给若干个班级上课,而在某一时间段每一位教师只能讲授一 门课程,每一间课室只能供一个班级(或一位教师)使用,则课程、教师与课室之间的联系是 一对多的。同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。例如, 学生实体集内部具有领导与被领导的联系,即某一学生(班干部)“领导”若干名学生,而一 个学生仅被另外一个学生直接领导,因此这是一对多的联系。 2.概念模型的表示方法 概念模型的表示方法最常用的是实体-联系方法(Entity-RelationshipApproach),是 P.P.S.Chen 于 1976 年提出的,该方法是用 E-R 图来描述现实世界的概念模型。 概念模型的 E-R 表示方法有如下优点: ⑴E-R 方法是抽象和描述现实世界的有力工具。 ⑵用 E-R 表示的概念模型与 DBMS 所支持的数据模型相独立,是各种数据模型的共同基 础

E-R方法采用如下方法米表示实体-联系 ①使用长方形来表示实体型,框内写上实体名。 ②椭圆型表示实体的属性,并用无向边把实体和属性连接起米。 @用菱形表示实体间的联系,菱形框内写上联系名,月无向边把菱形分别与有关实体相 连接,在无向边旁标上联系的类型(1:1,1:n或),若实体之间联系也具有属性,则把属 性和菱形也用无向边连接上,需要注意的是,联系本身也是一种实体型。也可以有属性。如 果一个联系具有属性。则这线属性也要用无向边与该联系连接起来。 图16用E量图搭述了上面有关两个实体型之阿的三类联系、3个实体型之何的一对多 联系和一个实体型内部的一对多联系的例子, 假设上面的5个实体型即学生、班级、课程、教师、误室分别具有下列属性: 学生:学号、姓名、出生日期、性别、家庭住址、电话号码等。 班缓:琉级编号、所属院系、对应专业、雍长等, 误程:误程号、课程名,课程类型、课程学分、课程学时等。 教师:积工号、姓名、性别、年龄、职称、电话号玛等。 误室:误室编码、课室名称、课室类型、课室设备、课室容量等, 这5个实体的属性用E-R图表示,如图1-7(a1所示。这5个实体之阿的联系可以 用E-R图表示,如图1-了)所示,注意,考试和组成两个联系又都分别具有各自的属性。 将图1-7(a15)与(b)合并在一起就是一个完整的关于学校课程管理的概之横型了。国 在实际当中,在一个概念柄型中涉及的实体和实体的属性较多时,为了清渐起见,往往采用 图1-了的方法,将实体及其属性与实体及其联系分别用两张量图表示。 实体-联系方法促一R方法》是抽象和描述现实世界的有力工具。用一R图表示的概念模 型独立于具体的5所支持的数据模型,它是各件数据模型的共月基驻,因而比数据模型 更一取、更抽象、更接近现实世界。 1.2.3数据模重的分类 当前流行的基本数据慎型有层次模型、网状模型、关系模型。它们门之间的根本区别在于 数据之间的联系的表示方式不同(记录型之间的联系方式不同),按醒三类数据模型设计和实 现,数据库系统又可以分为三类!关弱数据库系统、层次数据库系统,网状数据库系统。 1.层次模型 ()层次数据模生的数据结构 ①层次核型的基本结构
E-R 方法采用如下方法来表示实体-联系: ①使用长方形来表示实体型,框内写上实体名。 ②椭圆型表示实体的属性,并用无向边把实体和属性连接起来。 ③用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相 连接,在无向边旁标上联系的类型(1:1,1:n 或 m:n),若实体之间联系也具有属性,则把属 性和菱形也用无向边连接上。需要注意的是,联系本身也是一种实体型,也可以有属性。如 果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。 图 1-6 用 E-R 图描述了上面有关两个实体型之间的三类联系、3 个实体型之间的一对多 联系和一个实体型内部的一对多联系的例子。 假设上面的 5 个实体型即学生、班级、课程、教师、课室分别具有下列属性: 学生:学号、姓名、出生日期、性别、家庭住址、电话号码等。 班级:班级编号、所属院系、对应专业、班长等。 课程:课程号、课程名、课程类型、课程学分、课程学时等。 教师:职工号、姓名、性别、年龄、职称、电话号码等。 课室:课室编码、课室名称、课室类型、课室设备、课室容量等。 这 5 个实体的属性用 E-R 图表示,如图 1-7(a1~a5)所示。这 5 个实体之间的联系可以 用 E-R 图表示,如图 1-7(b)所示。注意,考试和组成两个联系又都分别具有各自的属性。 将图 1-7(a1~5)与(b)合并在一起就是一个完整的关于学校课程管理的概念模型了。但 在实际当中,在一个概念模型中涉及的实体和实体的属性较多时,为了清晰起见,往往采用 图 1-7 的方法,将实体及其属性与实体及其联系分别用两张 E-R 图表示。 实体-联系方法(E-R 方法)是抽象和描述现实世界的有力工具。用 E-R 图表示的概念模 型独立于具体的 DBMS 所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型 更一般、更抽象、更接近现实世界。 1.2.3 数据模型的分类 当前流行的基本数据模型有层次模型、网状模型、关系模型。它们之间的根本区别在于 数据之间的联系的表示方式不同(记录型之间的联系方式不同)。按照三类数据模型设计和实 现,数据库系统又可以分为三类:关系数据库系统、层次数据库系统、网状数据库系统。 1.层次模型 ⑴层次数据模型的数据结构 ①层次模型的基本结构

层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型, 结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。每个记录类型可包含若 干个字段,在这个模型里,记录类型描述的是实体,字段描述实体的属性。任何一个给定的 记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够照离双亲记 录值而独立存在。 层次模型表示各类实体以及实体间的联系存在如下特点: 0只有一个结点没有双亲结点。称之为根结点: 0根以外的其它结点有且只有一个双亲结点。这样就使得层次数据库系统只能处理一对 多的实体关系。 那么如何在层次模型中表示多对多联系?方法是;首先将其分解成一对多联系,然后再 用多对多联系表示。 ②层次数据模型的操城与完整性约束 层次数据模型的操纵主要有查淘、插入、副除和更新,进行插入,刷除、更新操作时要 满足层次柄型的完整性钓束条件! 0进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。 0进行刷除操作时,如果酬除双亲结点值,则相应的子女结点值也梭月时剩除。 0进行更新操作时,应更新所有相应记录,以保证数据的一改性。 (2层次数据模型的优缺点 层次数据模型优点:数据模型比较简单,操作简单:对于实体间联系是国定的,且预先 定义好应用系饶,性能较高:提供良好的完整性支持。 层次数据模型峡点:不适合干表示非层次性的联系:对插入和到除操作的限制比较多: 查询子女结点必须通过双亲结点:由于结构严密,层次命令趋于程序化。 2网状模型 ()网状数据横型的爱据结构 网状数据核型是一种比层次核型更具普着性的结构,它去掉了层次榄型的两个限制,允 许多个结点没有双暴结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种暖 系(称之为复合联系), (2网状数据横型的操额与完整性约束 网状数据模型的慢纵主要包括查询、插入、除和更新数据。进行操作时有知下特点: ①插入操作允许插入尚未确定双亲结点值的子女结点值:
层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型, 结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。每个记录类型可包含若 干个字段,在这个模型里,记录类型描述的是实体,字段描述实体的属性。任何一个给定的 记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记 录值而独立存在。 层次模型表示各类实体以及实体间的联系存在如下特点: Ø 只有一个结点没有双亲结点,称之为根结点; Ø 根以外的其它结点有且只有一个双亲结点。这样就使得层次数据库系统只能处理一对 多的实体关系。 那么如何在层次模型中表示多对多联系?方法是:首先将其分解成一对多联系,然后再 用多对多联系表示。 ②层次数据模型的操纵与完整性约束 层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要 满足层次模型的完整性约束条件: Ø 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。 Ø 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。 Ø 进行更新操作时,应更新所有相应记录,以保证数据的一致性。 ⑵层次数据模型的优缺点 层次数据模型优点:数据模型比较简单,操作简单;对于实体间联系是固定的,且预先 定义好应用系统,性能较高;提供良好的完整性支持。 层次数据模型缺点:不适合于表示非层次性的联系;对插入和删除操作的限制比较多; 查询子女结点必须通过双亲结点;由于结构严密,层次命令趋于程序化。 2.网状模型 ⑴网状数据模型的数据结构 网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允 许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联 系(称之为复合联系)。 ⑵网状数据模型的操纵与完整性约束 网状数据模型的操纵主要包括查询、插入、删除和更新数据。进行操作时有如下特点: ①插入操作允许插入尚未确定双亲结点值的子女结点值;