1、第四章第四章 数据处理的技术数据处理的技术第一节第一节 数据处理概述数据处理概述 第二节第二节 数据库技术数据库技术复习思考题四复习思考题四第一节第一节 数据处理概述数据处理概述(一)数据处理的内容(一)数据处理的内容 所谓数据处理,就是把来自科学研究、生产实践和社会经所谓数据处理,就是把来自科学研究、生产实践和社会经济活动等领域中的原始数据用一定的设备和一定的手段按一定济活动等领域中的原始数据用一定的设备和一定的手段按一定的使用要求加工处理成另一种形式的数据,以便获得对人们决的使用要求加工处理成另一种形式的数据,以便获得对人们决策有价值的信息的过程。策有价值的信息的过程。1.数据的采集数据的
2、采集 数据的采集就是按照用户的需要和系统的要求收集数据的采集就是按照用户的需要和系统的要求收集必要的原始数据。这是数据处理工作的第一步。它直接必要的原始数据。这是数据处理工作的第一步。它直接影响到加工信息的质量。在数据采集中,不仅要及时准影响到加工信息的质量。在数据采集中,不仅要及时准确,而且还要有针对性,即根据处理的目的和需要有选确,而且还要有针对性,即根据处理的目的和需要有选择地加以采集。择地加以采集。一、数据处理的主要内容与方式一、数据处理的主要内容与方式 第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式1.数据的采集数据的采集 数据采集可
3、以是人工采集,也可以通过联机方式形成自数据采集可以是人工采集,也可以通过联机方式形成自动化数据采集系统。动化数据采集系统。人工采集的数据,一般是经过一定的中间环节而人工采集的数据,一般是经过一定的中间环节而获得的数据,如档案文件、账册、票据、凭证等。利用获得的数据,如档案文件、账册、票据、凭证等。利用人工采集的主要优点是简单经济,缺点是及时性差,出人工采集的主要优点是简单经济,缺点是及时性差,出错率高。错率高。联机方式采集数据,主要是将某种计算装置、测试联机方式采集数据,主要是将某种计算装置、测试装置等直接与电子数据处理系统相联接,利用电磁感应、装置等直接与电子数据处理系统相联接,利用电磁感应
4、、光电感应、声电感应、电热感应及机械原理等,将所需光电感应、声电感应、电热感应及机械原理等,将所需要的有关数值或状态数据直接送入计算机数据处理系统要的有关数值或状态数据直接送入计算机数据处理系统直接处理。采用自动化装置采集数据的优点是快速、准直接处理。采用自动化装置采集数据的优点是快速、准确,缺点是投资较大。确,缺点是投资较大。数据的转换也叫数据的预处理,是将采集到的原始数据的转换也叫数据的预处理,是将采集到的原始数据通过一定手段转换成适合于计算机处理的形式,使数据通过一定手段转换成适合于计算机处理的形式,使数据代码化。如职工文件中的职工性别,年龄,工作单数据代码化。如职工文件中的职工性别,年
5、龄,工作单位等数据,对计算机系统来说可以用相应的代码表示这位等数据,对计算机系统来说可以用相应的代码表示这些数据,如用些数据,如用0、1或或MF表示性别,用表示性别,用00001表示工作表示工作单位号。数据的转换一定要注意正确性、完整性检查。单位号。数据的转换一定要注意正确性、完整性检查。2.数据的转换及录入数据的转换及录入第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式 分类是根据一定顺序将无序的数据元素调整成为一个有分类是根据一定顺序将无序的数据元素调整成为一个有序序列序序列,也就是将数据元素按某一关键字的先后次序(升序或也就是将数据元素按某
6、一关键字的先后次序(升序或降序)进行排序,形成一个有序文件。如生产统计报表要求降序)进行排序,形成一个有序文件。如生产统计报表要求按产值的大小对各车间排序;工资文件按职工编号排序或按按产值的大小对各车间排序;工资文件按职工编号排序或按工资的多少排序等。工资的多少排序等。合并是将两个或多个简单有序集合中的数据按同样的顺合并是将两个或多个简单有序集合中的数据按同样的顺序连接成一个有序集合。合并后的文件,可以增加记录的数序连接成一个有序集合。合并后的文件,可以增加记录的数量,也可以增加数据项。量,也可以增加数据项。3.数据的分类与合并数据的分类与合并第一节第一节 数据处理概述数据处理概述 一、数据处
7、理的主要内容与方式一、数据处理的主要内容与方式 数据的运算包括数据的算术运算、逻辑运算及复杂的数数据的运算包括数据的算术运算、逻辑运算及复杂的数学模型求解。学模型求解。4.数据的运算数据的运算 数据的传输有两层含义:一是指实现数据资源的共享数据的传输有两层含义:一是指实现数据资源的共享与交换,例如,利用网络和通讯技术共享各网点的数据资与交换,例如,利用网络和通讯技术共享各网点的数据资源,一是数据处理结果的输出,常以报告、文件、图表等源,一是数据处理结果的输出,常以报告、文件、图表等形式输出给各用户、并传送到各部门。形式输出给各用户、并传送到各部门。第一节第一节 数据处理概述数据处理概述 一、数
8、据处理的主要内容与方式一、数据处理的主要内容与方式5.数据的传输数据的传输6.数据的存储数据的存储 数据的存储就是对原始待加工的数据及已加工后的各种数据的存储就是对原始待加工的数据及已加工后的各种信息的储存。为此需要确定储存哪些信息、储存多长时间、信息的储存。为此需要确定储存哪些信息、储存多长时间、以何种方式储存、采用何种数据结构,以符合速度快、占用以何种方式储存、采用何种数据结构,以符合速度快、占用存储器的容量少、成本低等多方面的要求。存储器的容量少、成本低等多方面的要求。数据的更新、维护是指对原文件中的记录或数据项进行数据的更新、维护是指对原文件中的记录或数据项进行修改、插入(增加)、删除
9、及数据存储的调整,数据正确性修改、插入(增加)、删除及数据存储的调整,数据正确性的检验和安全性的保证等。的检验和安全性的保证等。第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式7.数据的更新、维护数据的更新、维护8.数据的检索数据的检索 数据的检索即为从计算机存储的数据中查找和选取所需数据的检索即为从计算机存储的数据中查找和选取所需要的数据。采用何种方式检索,取决于数据存储的形式。例要的数据。采用何种方式检索,取决于数据存储的形式。例如,在职工文件中可按职工编号或姓名查找某职工的工资、如,在职工文件中可按职工编号或姓名查找某职工的工资、出生年月、
10、职称、职务等。出生年月、职称、职务等。(二)数据处理的方式(二)数据处理的方式 根据数据的发生及数据处理的响应时间的不同,数据处理根据数据的发生及数据处理的响应时间的不同,数据处理方式可分为批处理(方式可分为批处理(batch processing)方式和实时处理)方式和实时处理(real time processing)方式两种。)方式两种。1.批处理方式批处理方式 批处理方式也叫汇总处理方式。它是把一定时间内准备批处理方式也叫汇总处理方式。它是把一定时间内准备处理的各个业务地点的数据累积成批后,一次输入到计算机处理的各个业务地点的数据累积成批后,一次输入到计算机集中进行加工处理。例如,工资
11、计算中,把一个月中的各项集中进行加工处理。例如,工资计算中,把一个月中的各项津贴、扣款凭证等积累起来,在发薪前一次输入到计算机,津贴、扣款凭证等积累起来,在发薪前一次输入到计算机,经处理以后打印一次工资单。根据系统与用户之间距离的远经处理以后打印一次工资单。根据系统与用户之间距离的远近不同,数据处理方式可分为本地批处理和远程批处理方式。近不同,数据处理方式可分为本地批处理和远程批处理方式。第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式 (1)本地批处理)本地批处理 本地批处理的数据输入输出发生在计算中心,它把待处本地批处理的数据输入输出发生在计
12、算中心,它把待处理的数据通过邮寄、运输工具等送到计算中心,然后用一定理的数据通过邮寄、运输工具等送到计算中心,然后用一定手段输入计算机进行批处理。根据向计算机输人数据的方式手段输入计算机进行批处理。根据向计算机输人数据的方式不同,本地批处理又可分为中心批处理、联机批处理及脱机不同,本地批处理又可分为中心批处理、联机批处理及脱机批处理三种方式。批处理三种方式。(2)远程批处理方式)远程批处理方式 这种批处理方式是通过把数据从分散的远程终端经过通这种批处理方式是通过把数据从分散的远程终端经过通信线路输入到计算机,经批处理后再把处理结果返回到运送信线路输入到计算机,经批处理后再把处理结果返回到运送终
13、端。终端。批处理的优点是效率高,缺点是不及时。批处理的优点是效率高,缺点是不及时。1.批处理方式批处理方式第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式 实时处理方式是指在数据产生的同时,立即输入计算实时处理方式是指在数据产生的同时,立即输入计算机,计算机即时作出响应并进行相应的处理,将处理结果机,计算机即时作出响应并进行相应的处理,将处理结果直接传递给用户。实时处理方式的应用领域非常广泛,例直接传递给用户。实时处理方式的应用领域非常广泛,例如,监控系统、窗口询问系统、金融流通系统、飞机订票如,监控系统、窗口询问系统、金融流通系统、飞机订票系统
14、等。实时处理又可分为联机实时处理与分时处理两种系统等。实时处理又可分为联机实时处理与分时处理两种方式。方式。2.实时处理方式实时处理方式 联机实时处理方式联机实时处理方式 联机方式是用户通过终端输入的数据立即由中央联机方式是用户通过终端输入的数据立即由中央计算机处理,并向用户终端输出处理信息。它包括询计算机处理,并向用户终端输出处理信息。它包括询问方式、事务数据处理方式和信息交换等方式。问方式、事务数据处理方式和信息交换等方式。(二)数据处理的方式(二)数据处理的方式 第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式 所谓分时,就是指一个计算机系
15、统可以由许多独立所谓分时,就是指一个计算机系统可以由许多独立的用户共享,每个用户都可以分到一个虽短但一再出现的用户共享,每个用户都可以分到一个虽短但一再出现的计算时间片,使其感到只有自己一个人在使用计算机,的计算时间片,使其感到只有自己一个人在使用计算机,并且都能得到最快的响应。这种多用户共用计算机的分并且都能得到最快的响应。这种多用户共用计算机的分时处理又称会话型处理或即时处理。时处理又称会话型处理或即时处理。分时处理方式分时处理方式 实时处理方式的优点是响应迅速,人机配合良好,缺实时处理方式的优点是响应迅速,人机配合良好,缺点是不能面向大量的数据处理,且由于线路费用增加而点是不能面向大量的
16、数据处理,且由于线路费用增加而使成本提高。使成本提高。2.实时处理方式实时处理方式第一节第一节 数据处理概述数据处理概述 一、数据处理的主要内容与方式一、数据处理的主要内容与方式(一)数据结构的概念及形式(一)数据结构的概念及形式1、数据结构的概念、数据结构的概念 “数据结构数据结构”是为了解决和研究非数值数据处理问题是为了解决和研究非数值数据处理问题而提出的理论和方法。而提出的理论和方法。在任何问题中,数据元素之间都存在着某种联系,这在任何问题中,数据元素之间都存在着某种联系,这种数据元素之间所存在的相互关系我们称之为数据的逻辑种数据元素之间所存在的相互关系我们称之为数据的逻辑结构而数据元素
17、在计算机存储器中的表示称之为数据的物结构而数据元素在计算机存储器中的表示称之为数据的物理结构,或称为存储结构。理结构,或称为存储结构。第一节第一节 数据处理概述数据处理概述 二、数据结构与文件组织二、数据结构与文件组织2、数据结构的主要形式、数据结构的主要形式 在数据处理过程中常用的数据结构有线性表、堆栈、在数据处理过程中常用的数据结构有线性表、堆栈、队列、树及图等形式。队列、树及图等形式。2、数据结构的主要形式、数据结构的主要形式(1)线性表线性表 线性表(线性表(linear list)是一种最基本、最简单,也是应用)是一种最基本、最简单,也是应用最广泛的数据结构。最广泛的数据结构。线性表
18、是由线性表是由n个数据元素组成的有限序列(个数据元素组成的有限序列(al,a2,an)。至于每个元素)。至于每个元素ai的具体含义,可按不同的情况和要求的具体含义,可按不同的情况和要求赋予不同的内涵,它可以是一个数,一个符号,一串文字,赋予不同的内涵,它可以是一个数,一个符号,一串文字,也可以是其它更复杂的信息。在复杂的线性表中,一个数据也可以是其它更复杂的信息。在复杂的线性表中,一个数据元素可以由若干数据项(元素可以由若干数据项(item)组成。通常我们将含有多个)组成。通常我们将含有多个数据项的数据元素称为记录(数据项的数据元素称为记录(record)。)。第一节第一节 数据处理概述数据处
19、理概述 二、数据结构与文件组织二、数据结构与文件组织 表表4.1 学生基本状况登记表学生基本状况登记表2、数据结构的主要形式、数据结构的主要形式 第一节第一节 数据处理概述数据处理概述(1)线性表线性表 例如,一个学校的学生基本情况登记表(见表例如,一个学校的学生基本情况登记表(见表4.l),也),也构成一个线性表,它的数据元素(或称为记录)由六个数据构成一个线性表,它的数据元素(或称为记录)由六个数据项:学号、姓名、年龄、性别、班级、籍贯组成。项:学号、姓名、年龄、性别、班级、籍贯组成。(2)堆栈)堆栈 堆栈(堆栈(stack)是一种特殊的线性表,其数据元素只)是一种特殊的线性表,其数据元素
20、只能从表的一端进行插入和删除。允许插入和删除操作的一能从表的一端进行插入和删除。允许插入和删除操作的一端称为栈顶(端称为栈顶(top),不允许插入和删除的一端称为栈底),不允许插入和删除的一端称为栈底(bottom),堆栈用来保存尚未处理而又等待处理的数),堆栈用来保存尚未处理而又等待处理的数据项,这些数据项的处理是依据后进先出的规则。也就是据项,这些数据项的处理是依据后进先出的规则。也就是说,取出(删除)元素顺序恰好是最后进栈的元素。如食说,取出(删除)元素顺序恰好是最后进栈的元素。如食堂里的一叠盘子,如果每次只允许一个一个地往上堆,一堂里的一叠盘子,如果每次只允许一个一个地往上堆,一个一个
21、地往下取,而不允许从中间抽出或插入。个一个地往下取,而不允许从中间抽出或插入。2、数据结构的主要形式、数据结构的主要形式 第一节第一节 数据处理概述数据处理概述 队列也是一种特殊的线性表,它规定在表的一端进行队列也是一种特殊的线性表,它规定在表的一端进行插入,在另一端进行删除。队列是依照先进先出的原则。插入,在另一端进行删除。队列是依照先进先出的原则。因此,通常把队列又叫作先进先出表。简称为因此,通常把队列又叫作先进先出表。简称为FIFO(First In First Out)表。所有需要进队的数据项,只能)表。所有需要进队的数据项,只能从队列的一端进入,该端称为队列的首部(从队列的一端进入,
22、该端称为队列的首部(front),而从),而从另一端删除,该端称为队列的尾部(另一端删除,该端称为队列的尾部(rear)。队列是一个)。队列是一个两端均打开的向量,它限制数据项从队列的一端移到另一两端均打开的向量,它限制数据项从队列的一端移到另一端,保证处理的次序与原来的次序一致。端,保证处理的次序与原来的次序一致。2、数据结构的主要形式、数据结构的主要形式 第一节第一节 数据处理概述数据处理概述(3)队列)队列 树(树(tree)就是一种重要的非线性数据结构,它是以分)就是一种重要的非线性数据结构,它是以分支关系定义的层次结构。它可以递归地定义:树是一个有支关系定义的层次结构。它可以递归地定
23、义:树是一个有n(n1)个节点的有限集合,并满足:)个节点的有限集合,并满足:有一个特殊的节点称为根节点(有一个特殊的节点称为根节点(root)。)。除根节点之外的其余结点可分为除根节点之外的其余结点可分为m(m0)个互不相交)个互不相交的有限集合的有限集合t1,t2,tm,其中每一个集合本身又是一棵,其中每一个集合本身又是一棵树。并且称为根的子树(树。并且称为根的子树(subtree)。)。2、数据结构的主要形式、数据结构的主要形式 第一节第一节 数据处理概述数据处理概述(4)树)树 图是比树更复杂的一种非线性数据结构。图中节点之间图是比树更复杂的一种非线性数据结构。图中节点之间的联系是任意
24、的,任何一个节点都可以与其它节点相连接,的联系是任意的,任何一个节点都可以与其它节点相连接,呈现出一种网状形式。呈现出一种网状形式。严格地讲,一个图严格地讲,一个图G是由两个集合是由两个集合V和和E组成,组成,V是有限是有限的非空顶点式称节点集,的非空顶点式称节点集,E是边的有限集,并分别用是边的有限集,并分别用V(G)和和E(G)表示图中的顶点集和边集,)表示图中的顶点集和边集,G=(V、E)表示图。)表示图。树中至少有一个根节点,每一个节点,相对于根有一个树中至少有一个根节点,每一个节点,相对于根有一个层次,规定根为节层次,规定根为节0层,其它节点根据所处的位置依次为第层,其它节点根据所处
25、的位置依次为第1层,第层,第2层层。树中的最大层次加。树中的最大层次加1称为树的高度或称深度。称为树的高度或称深度。一个节点子树的个树称为该节点的度(一个节点子树的个树称为该节点的度(degree)。度为零的)。度为零的节点称为终端节点。节点称为终端节点。2、数据结构的主要形式、数据结构的主要形式 第一节第一节 数据处理概述数据处理概述(4)树)树(5)图)图 计算机处理用的文件具有特定的含义。文件(计算机处理用的文件具有特定的含义。文件(file)是由)是由性质相同的记录组成的集合。根据所记录的内容,文件大致性质相同的记录组成的集合。根据所记录的内容,文件大致可分为两类:程序文件与数据文件。
26、可分为两类:程序文件与数据文件。(二)文件组织(二)文件组织第一节第一节 数据处理概述数据处理概述 二、数据结构与文件组织二、数据结构与文件组织1.文件及文件组织的含义文件及文件组织的含义 程序文件是把程序作为库加以管理的文件,它包程序文件是把程序作为库加以管理的文件,它包含各种高级语言程序、进行各种数据处理的实用程含各种高级语言程序、进行各种数据处理的实用程序以及用户应用程序文件;而用户在程序中定义、序以及用户应用程序文件;而用户在程序中定义、处理的文件均为数据文件。处理的文件均为数据文件。文件的组织和其它类型的数据组织一样,主要是研究文件的组织和其它类型的数据组织一样,主要是研究它的逻辑结
27、构和物理结构。文件的逻辑结构是指呈现在用它的逻辑结构和物理结构。文件的逻辑结构是指呈现在用户面前的数据组织形式,是用户对数据的表示和存取的方户面前的数据组织形式,是用户对数据的表示和存取的方式。文件的物理结构是指数据在外存上的存储方式,是数式。文件的物理结构是指数据在外存上的存储方式,是数据的物理表示和组织。文件的逻辑结构主要着眼于用户的据的物理表示和组织。文件的逻辑结构主要着眼于用户的使用方便;文件的物理结构则应考虑存储空间的利用率和使用方便;文件的物理结构则应考虑存储空间的利用率和减少存取记录的时间。减少存取记录的时间。第一节第一节 数据处理概述数据处理概述 二、数据结构与文件组织二、数据
28、结构与文件组织2.文件的组织方式文件的组织方式 根据外存介质类型以及记录的访问形式的不同,文件根据外存介质类型以及记录的访问形式的不同,文件可以有各种各样的组织方式,这里主要介绍顺序文件,索可以有各种各样的组织方式,这里主要介绍顺序文件,索引文件和直接存取文件。引文件和直接存取文件。1.文件及文件组织的含义文件及文件组织的含义(l)顺序文件)顺序文件 顺序文件是按记录的序号或记录的相对位置来进行存取顺序文件是按记录的序号或记录的相对位置来进行存取的文件组织形式。顺序文件是物理结构最简单的文件。在这的文件组织形式。顺序文件是物理结构最简单的文件。在这种结构中,记录是按进入的次序顺序存放在存储器上
29、,逻辑种结构中,记录是按进入的次序顺序存放在存储器上,逻辑结构和物理结构一致。若相继的两个记录在存储介质上的存结构和物理结构一致。若相继的两个记录在存储介质上的存储位置相邻,则又称为连续文件;若物理记录之间的次序由储位置相邻,则又称为连续文件;若物理记录之间的次序由指针相链表示,则称为串链文件。指针相链表示,则称为串链文件。对顺序文件如果要求记录对关键字有序,则记录进入应对顺序文件如果要求记录对关键字有序,则记录进入应按关键字进行排列。例如,如果班级学生文件的关键字是学按关键字进行排列。例如,如果班级学生文件的关键字是学生的学号,按照记录的顺序,学号为生的学号,按照记录的顺序,学号为35012
30、的记录将放在学的记录将放在学号为号为35013的前面。的前面。第一节第一节 数据处理概述数据处理概述 二、数据结构与文件组织二、数据结构与文件组织2.文件的组织方式文件的组织方式(2 2)索引文件索引文件 在索引文件组织中,决定存储单元地址的操作与记录的在索引文件组织中,决定存储单元地址的操作与记录的存取是分开的。存取是分开的。对于按关键字存取的文件结构,若用关键字直接对文件对于按关键字存取的文件结构,若用关键字直接对文件进行查找,不论是顺序查找还是折半查找,都因大量记录的进行查找,不论是顺序查找还是折半查找,都因大量记录的输入、输出使查找速度很慢。为此,可以建立一个表,用来输入、输出使查找速
31、度很慢。为此,可以建立一个表,用来指示关键字值与相应建立的存储地址之间的对应关系,如图指示关键字值与相应建立的存储地址之间的对应关系,如图4.1所示。所示。图图4.1 记录与存储地址的关系记录与存储地址的关系第一节第一节 数据处理概述数据处理概述 2.文件的组织方式文件的组织方式 利用这个图可以减少查找时间,提高处理速度。图中利用这个图可以减少查找时间,提高处理速度。图中Ki为为关键字值;关键字值;RKi表示关键字值为表示关键字值为Ki的记录;的记录;A(RKi)为记录)为记录RK的存储地址。这个图中的表叫做索引,其中的的存储地址。这个图中的表叫做索引,其中的Ki,A(RKi)则称为索引项。)
32、则称为索引项。具有索引项的文件称为索引文件,它是由索引和文件本身具有索引项的文件称为索引文件,它是由索引和文件本身两部分组成的。相应的,索引文件的存储分为两个区:索引两部分组成的。相应的,索引文件的存储分为两个区:索引区和记录区。区和记录区。(2 2)索引文件索引文件第一节第一节 数据处理概述数据处理概述 2.文件的组织方式文件的组织方式(3)直接存取文件)直接存取文件 直接存取文件是指用哈希法进行组织的文件。对于磁盘直接存取文件是指用哈希法进行组织的文件。对于磁盘来说,记录通常是成组存放的,每一个存储单位存放若干个来说,记录通常是成组存放的,每一个存储单位存放若干个记录,这种存储单位叫做桶(
33、记录,这种存储单位叫做桶(bucket)。按桶寻址,一次)。按桶寻址,一次IO操作可以把一个桶的全部记录读入到内存缓冲区,或者操作可以把一个桶的全部记录读入到内存缓冲区,或者从内存写入外存。通常,一个桶可以存放从内存写入外存。通常,一个桶可以存放M个记录,一个文个记录,一个文件空间分为件空间分为n个桶,编号为个桶,编号为0,1,2,n-1。哈希函数。哈希函数H(K)是把关键字值转换成桶地址。)是把关键字值转换成桶地址。直接存取文件比索引、顺序文件更简单,它的特点是:直接存取文件比索引、顺序文件更简单,它的特点是:文件随机存放;记录未排序;不能按关键字值读出;插人数文件随机存放;记录未排序;不能
34、按关键字值读出;插人数据方便;存取速度快;节省空间;不占用索引区。据方便;存取速度快;节省空间;不占用索引区。第一节第一节 数据处理概述数据处理概述 2.文件的组织方式文件的组织方式第二节第二节 数据库技术数据库技术一、数据库基本概念一、数据库基本概念 数据库:是指被计算机存储起来的数据及数据间逻辑数据库:是指被计算机存储起来的数据及数据间逻辑关系的集合。换句话说,数据库是通过文件而组织起来的,关系的集合。换句话说,数据库是通过文件而组织起来的,具有最小冗余度、独立性、共享性和统一管理等特点的数具有最小冗余度、独立性、共享性和统一管理等特点的数据集合。据集合。数据库管理系统:是一个以统一的方式
35、管理、维护数数据库管理系统:是一个以统一的方式管理、维护数据库中的数据的一系列软件的集合。据库中的数据的一系列软件的集合。数据库系统:是指在计算机系统中引进数据库后的系数据库系统:是指在计算机系统中引进数据库后的系统构成。一般由数据库、数据库管理系统、计算机软件、统构成。一般由数据库、数据库管理系统、计算机软件、硬件以及系统人员和用户等组成。硬件以及系统人员和用户等组成。1.几个常用的术语几个常用的术语 数据模型体现了数据的组织形式及数据之间的联系,是数据模型体现了数据的组织形式及数据之间的联系,是实现现实世界的事物如何转变为信息世界的实体和属性,再实现现实世界的事物如何转变为信息世界的实体和
36、属性,再转变成计算机世界的记录和数据项的关键。转变成计算机世界的记录和数据项的关键。第二节第二节 数据库技术数据库技术二、数据模型二、数据模型 现实世界中客观存在并可相互区别的现实世界中客观存在并可相互区别的“事物事物”被称之为实被称之为实体。实体可以指人,也可以指物,可以指实际的东西(如汽体。实体可以指人,也可以指物,可以指实际的东西(如汽车、书),也可以指抽象和概念性的东西(如一次借书,一车、书),也可以指抽象和概念性的东西(如一次借书,一种感情),还可以指种感情),还可以指“事物事物”与与“事物事物”之间的联系(如订之间的联系(如订货)。在数据库组织中,指客观存在的与某一应用有关的事货)
37、。在数据库组织中,指客观存在的与某一应用有关的事物。物。(l)实体()实体(entity)(2)属性()属性(attribute)实体具有的某种(或若干种)特性或特征被称之为属性。实体具有的某种(或若干种)特性或特征被称之为属性。例如人的例如人的“姓名姓名”、“年龄年龄”、“性别性别”,产品的,产品的“颜色颜色”、“重量重量”、“单价单价”等,这些都表示了等,这些都表示了“人人”、“产品产品”这两这两个实体的固有特征。属性是对实体特征的抽象描述,属性的具个实体的固有特征。属性是对实体特征的抽象描述,属性的具体取值称为属性值,例如:体取值称为属性值,例如:“王芳,王芳,21,女,女”这些值均为属
38、性这些值均为属性值。值。1.几个常用的术语几个常用的术语第二节第二节 数据库技术数据库技术(3)实体集()实体集(entity set)同一类型的实体集合被称为实体集,即具有同一类属性的同一类型的实体集合被称为实体集,即具有同一类属性的客观存在的事物集合。例如所有的人是一个实体集,所有的中客观存在的事物集合。例如所有的人是一个实体集,所有的中国人也是一个实体集,所有活着的人也是一个实体集,只不过国人也是一个实体集,所有活着的人也是一个实体集,只不过范围有大有小,区分的特征有多有少而已。范围有大有小,区分的特征有多有少而已。(4)域()域(domain)域是属性的取值范围,是由属性值构成的集合。
39、即同一实域是属性的取值范围,是由属性值构成的集合。即同一实体集中各实体同一属性具有的值在一定范畴之内,这体集中各实体同一属性具有的值在一定范畴之内,这范畴范畴称为该属性的值域,简称为域。一个属性的值域可以是整数、称为该属性的值域,简称为域。一个属性的值域可以是整数、实数、字符串等,如实数、字符串等,如“人人”这个实体集的姓名属性的值域是这个实体集的姓名属性的值域是字符串,字符串,“高度高度”的值域是实数,的值域是实数,“年龄年龄”的值域是整数,的值域是整数,“性别性别的值域为(男、女)。通常属性是个变量,属性值的值域为(男、女)。通常属性是个变量,属性值是变量所取的值,而域是变量取值的集合。是
40、变量所取的值,而域是变量取值的集合。(5)联系()联系(relationship)联系一般指实体相互之间关系的抽象表示,亦即现实世联系一般指实体相互之间关系的抽象表示,亦即现实世界中事物之间的语义关系。例如界中事物之间的语义关系。例如“系系”属于属于“学校学校”,“教教师师”与与“学生学生”属于属于“系系”,“厂长厂长”领导领导“工人工人”,“工工人人”生产生产“产品产品”,“产品产品”使用使用“材料材料”等。等。1.几个常用的术语几个常用的术语第二节第二节 数据库技术数据库技术2.实体联系模型(实体联系模型(entity relationship model)两个实体集之间的联系可分为三类,
41、如图两个实体集之间的联系可分为三类,如图4.2所示。所示。图图4.2二元关系模型二元关系模型第二节第二节 数据库技术数据库技术二、数据模型二、数据模型 (1)一对一联系()一对一联系(onetoone)一对一的联系是指对于实体集一对一的联系是指对于实体集A中的每一实体,实体集中的每一实体,实体集B中至多有一个实体与之有联系,反之亦然,则实体集中至多有一个实体与之有联系,反之亦然,则实体集A与实体与实体集集B具有一对一的联系。例如医院中的住院病人与病床的联系具有一对一的联系。例如医院中的住院病人与病床的联系就是一对一的,即一个病人只占一张病床,而一张病床也只就是一对一的,即一个病人只占一张病床,
42、而一张病床也只被一个病人占用。被一个病人占用。(2)一对多联系()一对多联系(onetomany)一对多的联系是指对于实体集一对多的联系是指对于实体集A中的每一实体,实体集中的每一实体,实体集B中有中有n个实体(个实体(n0)与之有联系;反之,实体集)与之有联系;反之,实体集B中每一个中每一个实体,实体实体,实体A中最多只有一个实体与之有联系,则称实体集中最多只有一个实体与之有联系,则称实体集A与实体集与实体集B有一对多的联系。例如医院中的病房与住院的病人有一对多的联系。例如医院中的病房与住院的病人的联系就是一对多的,即一间病房可以有多个病人,但每个的联系就是一对多的,即一间病房可以有多个病人
43、,但每个病人只住一个病房。病人只住一个病房。2.实体联系模型(实体联系模型(entity relationship model)第二节第二节 数据库技术数据库技术 (3)多对多联系()多对多联系(manytomany)多对多联系是指对于实体集多对多联系是指对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之有联系;反之,实体集)与之有联系;反之,实体集B中的每一个中的每一个实体,实体集实体,实体集A中有中有m个实体(个实体(m0)与之有关系,则称实体)与之有关系,则称实体集集A与实体集与实体集B有多对多的联系。例如工人与技能之间的关系有多对多的联系。例
44、如工人与技能之间的关系就是多对多的关系,即一个工人可以有多种技能,一种技能就是多对多的关系,即一个工人可以有多种技能,一种技能也可为多个工人所掌握。也可为多个工人所掌握。3.数据库的数据模型数据库的数据模型 数据模型是对客观事物及其联系的数据描述,是实体联数据模型是对客观事物及其联系的数据描述,是实体联系模型数据化。系模型数据化。2.实体联系模型(实体联系模型(entity relationship model)第二节第二节 数据库技术数据库技术(l)层次模型()层次模型(Hierarchical Model)层次模型是层次式数据库所采用的数据模型,它是以树层次模型是层次式数据库所采用的数据模
45、型,它是以树结构作为基本结构,通过树结构及树结构之间的逻辑关系来结构作为基本结构,通过树结构及树结构之间的逻辑关系来表示数据间联系的一种模型,它反映了现实世界中实体之间表示数据间联系的一种模型,它反映了现实世界中实体之间的一对多的关系。的一对多的关系。层次式数据模型的优点是层次清楚,结点间的联系简单。层次式数据模型的优点是层次清楚,结点间的联系简单。缺点是处理个别记录效率低,数据库文件的维护麻烦。缺点是处理个别记录效率低,数据库文件的维护麻烦。(2)网状模型()网状模型(Network Model)网状模型又叫网络模型,它反映了现实世界中实体间存网状模型又叫网络模型,它反映了现实世界中实体间存
46、在的较为复杂的联系。在的较为复杂的联系。在网状结构中,任何一个已知实体可以有任意个上属记在网状结构中,任何一个已知实体可以有任意个上属记录和下属记录。网状结构克服了层次结构中的许多固有缺陷,录和下属记录。网状结构克服了层次结构中的许多固有缺陷,但网状结构太复杂,数据处理快又繁杂,而且适合于某一网但网状结构太复杂,数据处理快又繁杂,而且适合于某一网状结构的处理方法往往不适合于别的网状结构。状结构的处理方法往往不适合于别的网状结构。3.数据库的数据模型数据库的数据模型第二节第二节 数据库技术数据库技术(3)关系模型()关系模型(Relational Model)关系模型是采用二维表格式的数据模型,
47、在一张二维表关系模型是采用二维表格式的数据模型,在一张二维表中,一个竖列反映实体的某一属性,我们称之为字段。表中中,一个竖列反映实体的某一属性,我们称之为字段。表中的一行形成一个实体,我们称之为记录,它由各个数据项的一行形成一个实体,我们称之为记录,它由各个数据项(字段值)所组成,反映了某一实体的所有有关特性。由许(字段值)所组成,反映了某一实体的所有有关特性。由许多行、许多列组成的二维表可以用来反映同类实体(或实体多行、许多列组成的二维表可以用来反映同类实体(或实体集)的所有有关的信息,称为数据库文件。集)的所有有关的信息,称为数据库文件。关系式数据模型是一种数学化的模型。关系式数据结构关系
48、式数据模型是一种数学化的模型。关系式数据结构具有坚实的数学理论基础,简单、明了、直观、容易理解和具有坚实的数学理论基础,简单、明了、直观、容易理解和掌握,在现实生活中应用最多,因此关系式数据库得到了非掌握,在现实生活中应用最多,因此关系式数据库得到了非常广泛的应用。而且,由于层次式和网状式数据结构都可以常广泛的应用。而且,由于层次式和网状式数据结构都可以通过一定方法转化为关系式数据模型来处理。因此,关系式通过一定方法转化为关系式数据模型来处理。因此,关系式数据库被认为是今后数据库的发展方向。数据库被认为是今后数据库的发展方向。3.数据库的数据模型数据库的数据模型第二节第二节 数据库技术数据库技
49、术 目前数据库的系统结构基本上采用的是三级结构模式,目前数据库的系统结构基本上采用的是三级结构模式,即对应于全局逻辑级的模式,对应于用户级分模式和对应于即对应于全局逻辑级的模式,对应于用户级分模式和对应于物理存储级的存储模式。如图物理存储级的存储模式。如图4.3所示。所示。图图4.3 数据库系统结构示意图数据库系统结构示意图 第二节第二节 数据库技术数据库技术三、数据库的系统结构三、数据库的系统结构 数据库管理系统(数据库管理系统(Data Base Management System,DBM)是对数据进行管理的软件系统,是为数据库建立、使)是对数据进行管理的软件系统,是为数据库建立、使用和维
50、护而配置的。数据库管理系统的主要目的是使数据作用和维护而配置的。数据库管理系统的主要目的是使数据作为一种可管理的资源,从而使数据易于为各种用户所共享,为一种可管理的资源,从而使数据易于为各种用户所共享,增进数据的安全性、完整性和可用性,提高数据的独立性。增进数据的安全性、完整性和可用性,提高数据的独立性。(1)数据定义语言)数据定义语言数据定义语言用以定义数据库的各级数据结构及它们之间的数据定义语言用以定义数据库的各级数据结构及它们之间的映象,还包括各种完整性约束和安全性措施。依描述的对象映象,还包括各种完整性约束和安全性措施。依描述的对象不同,它可分为模式数据描述语言、子模式数据描述语言和不