资源描述
1 1数据库基础与应用数据库基础与应用河南工业大学电气工程学院河南工业大学电气工程学院200200年年5 5月月 2 2 教材教材:李春葆,清华大学出版社,数据库原理与应用数据库原理与应用 基于基于Visual Foxpro 2005.1 参考教材参考教材:1.刘於勋,中国铁道出版社,数据库原理及应用数据库原理及应用 Visual Foxpro .0版版2005.8 2.王珊,萨师煊,高等教育出版社,数据库系统概论数据库系统概论(第四版第四版)200.53 3 成绩组成:成绩组成:1、平时成绩;、平时成绩;(到课率、书面作业、上机练习)(到课率、书面作业、上机练习)2、期末闭卷考试;、期末闭卷考试;先修基础:先修基础:n nC语言程序设计语言程序设计、软件技术基础软件技术基础 4 4课时安排:课时安排:n总学时数:总学时数:33课时课时n讲课学时:约讲课学时:约2020课时课时n上机学时:约上机学时:约11课时课时5 5注意!注意!1、本课程是大学工科非计算机类专业的、本课程是大学工科非计算机类专业的一门必修课。课程时间紧、任务重,上一门必修课。课程时间紧、任务重,上课务必提高效率;珍惜上机时间;课下课务必提高效率;珍惜上机时间;课下注意复习。注意复习。2、PPT中部分内容属于补充提高部分中部分内容属于补充提高部分(带(带*),注意分清重点!),注意分清重点! 内容安排:内容安排:n n基础篇基础篇 第一章:数据库基本理论第一章:数据库基本理论n n应用篇应用篇 第二章:第二章:第二章:第二章:VFP系统初步系统初步 第三章:第三章:Visual FoxPro语言基础语言基础 第四章:第四章:表的基本操作表的基本操作 第五章:第五章:SQL语言语言 第六章:第六章:建立和操作数据库建立和操作数据库 第七章:第七章:结构化程序设计结构化程序设计 第八章:第八章:表单及内部控件表单及内部控件 第九章:第九章:查询与视图设计查询与视图设计 8 81.1 数据库系统概述数据库系统概述1.2 数据库系统的组成与结构数据库系统的组成与结构1.3 数据模型数据模型1.4 关系数据库关系数据库1.5 Visual FoxPro系统简介系统简介9 91.1 1.1 数据库系统概述数据库系统概述1.1.1 信息、数据和数据处理信息、数据和数据处理1.“信息信息”与与“数据数据”数据数据是人们用于记录事物情况的物理符号。是人们用于记录事物情况的物理符号。为了描述客观事物而用到的数字、字符以及所有为了描述客观事物而用到的数字、字符以及所有能输入到计算机中并能被计算机处理的符号都可能输入到计算机中并能被计算机处理的符号都可以看作数据。以看作数据。1010 信息信息是数据中所包含的意义。通俗地讲,信息是数据中所包含的意义。通俗地讲,信息是经过加工处理并对人类社会实践和生产活动产生是经过加工处理并对人类社会实践和生产活动产生决策影响的数据。决策影响的数据。数据与信息既有区别,又有联系数据与信息既有区别,又有联系。数据是表示。数据是表示信息的,但并非任何数据都能表示信息,信息只是信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息。的数据形式可以表示同样的信息。1111 数据处理是指将数据转换成信息的过程。它包数据处理是指将数据转换成信息的过程。它包括对数据的收集、存储、分类、计算、加工、检索括对数据的收集、存储、分类、计算、加工、检索和传输等一系列活动。其基本目的是从大量的、杂和传输等一系列活动。其基本目的是从大量的、杂乱无章的、难以理解的数据中整理出对人们有价值、乱无章的、难以理解的数据中整理出对人们有价值、有意义的数据(即信息),作为决策的依据。有意义的数据(即信息),作为决策的依据。数据是信息的载体,而信息是数据的内涵。数据是信息的载体,而信息是数据的内涵。2.数据处理数据处理12121.1.2 数据管理技术的发展(包括三个阶段):数据管理技术的发展(包括三个阶段):1.人工管理阶段人工管理阶段 20世纪世纪50年代中期以前,计算机主要应用于科年代中期以前,计算机主要应用于科学计算,数据量较少,一般不需要长期保存数据。学计算,数据量较少,一般不需要长期保存数据。硬件方面,没有磁盘等直接存取的外存储器。软件硬件方面,没有磁盘等直接存取的外存储器。软件方面,没有对数据进行管理的系统软件。方面,没有对数据进行管理的系统软件。人工管理阶段的特点:人工管理阶段的特点:这一时期的数据由于是面向应用程序的,应用这一时期的数据由于是面向应用程序的,应用程序与其处理的数据结合成一个整体。程序与其处理的数据结合成一个整体。(1)数据不保存;)数据不保存;(2)应用程序管理数据;应用程序管理数据;(3)数据不能共享;)数据不能共享;(4)数据不具有独立性;)数据不具有独立性;1313人工管理阶段的程序与数据的关系:人工管理阶段的程序与数据的关系:数据的组织面向应用程序,不同的程序之间数据的组织面向应用程序,不同的程序之间不能共享数据。不能共享数据。1414 2.2.文件系统阶段(专门管理数据的计算机软件)文件系统阶段(专门管理数据的计算机软件)文件系统阶段(专门管理数据的计算机软件)文件系统阶段(专门管理数据的计算机软件)20世纪世纪50年代后期至年代后期至0年代中期,计算机年代中期,计算机开始大量用于数据管理。硬件上出现了直接存开始大量用于数据管理。硬件上出现了直接存取的大容量外存储器,如磁盘、磁鼓等,这为取的大容量外存储器,如磁盘、磁鼓等,这为计算机系统管理数据提供了物质基础。软件方计算机系统管理数据提供了物质基础。软件方面,出现了操作系统,其中包含文件系统,这面,出现了操作系统,其中包含文件系统,这又为数据管理提供了技术支持。又为数据管理提供了技术支持。文件系统提供了在外存储器上长期保存数文件系统提供了在外存储器上长期保存数据并对数据进行存取的手段。文件的逻辑结构据并对数据进行存取的手段。文件的逻辑结构与存储结构有一定区别,即程序与数据有一定与存储结构有一定区别,即程序与数据有一定的独立性。数据的存储结构变化,不一定影响的独立性。数据的存储结构变化,不一定影响到程序,因此程序员可集中精力进行算法设计,到程序,因此程序员可集中精力进行算法设计,并大大减少了维护程序的工作量。并大大减少了维护程序的工作量。1515文件系统阶段的特点:文件系统阶段的特点:(1)数据可以长期保存;数据可以长期保存;(2)文件系统管理数据;文件系统管理数据;(3)数据的共享性差,冗余度大;数据的共享性差,冗余度大;(4)数据独立性差数据独立性差;11文件系统阶段程序与数据的关系:文件系统阶段程序与数据的关系:11 3 3数据库系统阶段数据库系统阶段数据库系统阶段数据库系统阶段 20世纪世纪0年代后期,计算机在管理中应用规模年代后期,计算机在管理中应用规模更加庞大、数据量急剧增加,数据共享性更强。硬更加庞大、数据量急剧增加,数据共享性更强。硬件价格下降,软件价格上升,编制和维护软件所需件价格下降,软件价格上升,编制和维护软件所需成本相对增加,其中维护成本更高。这些成为数据成本相对增加,其中维护成本更高。这些成为数据管理在文件系统的基础上发展到数据库系统的原动管理在文件系统的基础上发展到数据库系统的原动力。力。在数据库系统中,由一种叫做在数据库系统中,由一种叫做数据库管理系统数据库管理系统(DBMS:Database Management Systems)的系统)的系统软件来对数据进行统一的控制和管理,从而有效地软件来对数据进行统一的控制和管理,从而有效地减少了数据冗余,实现了数据共享,解决了数据独减少了数据冗余,实现了数据共享,解决了数据独立性问题,并提供统一的安全性、完整性和并发控立性问题,并提供统一的安全性、完整性和并发控制功能。制功能。1818数据库系统阶段的特点:数据库系统阶段的特点:(1 1)数据结构化;)数据结构化;(2 2)数据共享性高,冗余度小,具有高度的物)数据共享性高,冗余度小,具有高度的物 理独立性和逻辑独立性;理独立性和逻辑独立性;(3 3)具有良好的用户接口;)具有良好的用户接口;(4 4)对数据实行统一管理和控制;)对数据实行统一管理和控制;1919数据库系统阶段程序与数据的关系:数据库系统阶段程序与数据的关系:20201.2.1 数据库系统(数据库系统(Date Base System,简称,简称DBS):数据库系统数据库系统是把有关计算机硬件、软件、数是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。据和人员组合起来为用户提供信息服务的系统。因此,数据库系统是由计算机系统、数据库及其因此,数据库系统是由计算机系统、数据库及其描述机构、数据库管理系统和有关人员组成,是描述机构、数据库管理系统和有关人员组成,是由这几个方面组成的具有高度组织性的总体。由这几个方面组成的具有高度组织性的总体。数据库系统数据库系统(DBS)的四要素:数据库、软的四要素:数据库、软件系统、硬件系统、数据库系统有关人员。件系统、硬件系统、数据库系统有关人员。1.2 1.2 数据库系统的组成与结构数据库系统的组成与结构2121“数据库系统数据库系统”(DBSDBS)的组成:)的组成:1.1.数据库数据库(Date Base,Date Base,简称简称DBDB)存储在计算机外部存储介质(包括存储在计算机外部存储介质(包括磁带、磁带、磁盘、光盘或其他外存介质)磁盘、光盘或其他外存介质)上的结构化的数上的结构化的数据集合。据集合。2.2.硬件系统硬件系统 数据库系统对计算机硬件的要求除要求数据库系统对计算机硬件的要求除要求CPUCPU的处理速度高、内存容量大以外,还要求的处理速度高、内存容量大以外,还要求有足够的外存空间以存储数据库中的数据。有足够的外存空间以存储数据库中的数据。2222 3.软件系统软件系统 数据库系统中的软件包括数据库管理系统数据库系统中的软件包括数据库管理系统(DBMS)、操作系统、数据库应用程序及相关软件、操作系统、数据库应用程序及相关软件等。等。数据库管理系统数据库管理系统(DBMS)是数据库系统的核心是数据库系统的核心软件之一。它提供数据定义、数据操作、数据库软件之一。它提供数据定义、数据操作、数据库管理、数据库建立和维护以及通信等功能。如:管理、数据库建立和维护以及通信等功能。如:Visual FoxPro、SQL Server等。等。2323 4.数据库系统的有关人员数据库系统的有关人员(1)数数据据库库管管理理员员(DataBase Administrator,简简称称DBA):):大型数据库通常由专业人员设计,还要有专职大型数据库通常由专业人员设计,还要有专职的数据库管理员(的数据库管理员(DBADBA)进行管理。)进行管理。(2)用户:用户:数据库系统的用户分为以下两类:数据库系统的用户分为以下两类:最终用户:分为:偶然用户、简单用户和复杂用户。最终用户:分为:偶然用户、简单用户和复杂用户。专业用户:这类用户主要是应用系统开发人员。专业用户:这类用户主要是应用系统开发人员。2424数据库系统(数据库系统(DBS)2525 1.2.2 1.2.2 数据库系统的三级模式结构数据库系统的三级模式结构 为了有效地组织、管理数据,提高数据库为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设的逻辑独立性和物理独立性,人们为数据库设计了一个严谨的体系结构,数据库领域公认的计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模标准结构是三级模式结构,它包括外模式、模式和内模式。式和内模式。22 美国国家标准委员会(美国国家标准委员会(ANSI:American National Standards Institute)的数据库管理系统)的数据库管理系统研究小组于研究小组于195年提出了标准化的建议,将数据年提出了标准化的建议,将数据库结构分为库结构分为3级:级:外模式:外模式:对应用户级数据库,面向用户或应用程序对应用户级数据库,面向用户或应用程序员。员。模式(概念模式):模式(概念模式):对应概念级模式,面向数据库对应概念级模式,面向数据库管理员。管理员。内模式(存储模式):内模式(存储模式):对应物理级数据库,面向系对应物理级数据库,面向系统程序员。统程序员。*使不同级别的用户对数据库形成不同的视图。使不同级别的用户对数据库形成不同的视图。22数据库分级结构图数据库分级结构图282829291 1模式模式模式模式模模式式也也称称为为逻逻辑辑模模式式或或概概念念模模式式,是是对对数数据据库库的的整整体体逻逻辑辑结结构构和和特特征征的的描描述述,是是数数据据库库系系统统模模式式结结构的中间层。一个数据库只有一个模式。构的中间层。一个数据库只有一个模式。模式并不涉及数据的物理存储细节和硬件环模式并不涉及数据的物理存储细节和硬件环境。境。2 2内模式内模式内模式内模式内模式也称为存储模式,它是数据库在物理存储器内模式也称为存储模式,它是数据库在物理存储器上具体存储实现的描述,是数据在数据库内部的上具体存储实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述。表示方法,也是数据物理结构和存储方式的描述。一个数据库只有一个内模式。一个数据库只有一个内模式。30303外模式外模式外外模模式式也也称称为为子子模模式式或或用用户户模模式式,它它是是数数据据和和用用户户能能够够看看见见和和使使用用的的局局部部数数据据的的逻逻辑辑结结构构和和特特征征的的描描述述,是是数数据据和和用用户户的的数数据据视视图图,是是与与某某一一应应用用有关的数据的逻辑表示。有关的数据的逻辑表示。外外模模式式一一般般是是模模式式的的子子集集。一一个个模模式式可可以以有有多多个个外外模式。一个应用程序只能使用一个外模式。模式。一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施。外模式是保证数据库安全性的一个有力措施。3131 在一个数据库系统中,只有惟一的数在一个数据库系统中,只有惟一的数据库,因而作为定义、描述数据库存储结据库,因而作为定义、描述数据库存储结构(物理级)的内模式和定义、描述数据构(物理级)的内模式和定义、描述数据库逻辑结构(总体观)的模式,也是惟一库逻辑结构(总体观)的模式,也是惟一的,但建立在数据库系统之上的应用则是的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式非常广泛、多样的,所以对应的外模式(用户观)不是惟一的,也不可能惟一。(用户观)不是惟一的,也不可能惟一。32321.2.3 模式之间的映射模式之间的映射 (1 1)“外模式外模式/模式模式”之间的映射之间的映射 这这种种映映射射将将用用户户数数据据库库与与概概念念数数据据库库联联系系起起来来;实实现现了了数数据据与与程程序序的的逻逻辑辑独独立立性性,简简称称数数据据的的逻逻辑独立性。辑独立性。(2 2)“模式模式/内模式内模式”之间的映射之间的映射 这种映射把概念数据库与物理数据库联系起来。这种映射把概念数据库与物理数据库联系起来。模式与内模式的映射使全局逻辑数据独立于物理模式与内模式的映射使全局逻辑数据独立于物理数据,保证了数据与程序的物理独立性,简称数数据,保证了数据与程序的物理独立性,简称数据的物理独立性。据的物理独立性。33331.2.4 数据库系统的特点数据库系统的特点1数据共享数据共享2减少数据冗余减少数据冗余3具有较高的数据独立性具有较高的数据独立性4增强了数据安全性和完整性保护增强了数据安全性和完整性保护 1.4“数据库管理系统数据库管理系统”请同学们课下自学。请同学们课下自学。34341.3 1.3 数据模型数据模型1.3.1 什么是数据模型什么是数据模型1模型的分类(模型的分类(2类)类)一种模型是一种模型是概念模型概念模型(信息模型),它是按照用户的(信息模型),它是按照用户的观点进行数据信息建模,主要用于数据库的设计。观点进行数据信息建模,主要用于数据库的设计。另一种模型是另一种模型是数据模型数据模型,这种模型是按计算机系统,这种模型是按计算机系统的观点对数据建模,主要用于的观点对数据建模,主要用于DBMS的设计。的设计。数据模型数据模型是对客观事物及其联系的数据描述,反映实是对客观事物及其联系的数据描述,反映实体内部和实体之间的联系。数据模型是信息模型在体内部和实体之间的联系。数据模型是信息模型在数据世界中的表示形式。可将数据世界中的表示形式。可将数据模型数据模型分为三类:分为三类:网状模型、层次模型和关系模型。详见后面的网状模型、层次模型和关系模型。详见后面的1.3.3。35352 2数据模型的三要素数据模型的三要素*:(1 1)数据结构)数据结构数据结构是所研究对象类型的集合,这些对象组数据结构是所研究对象类型的集合,这些对象组成数据库。按照数据结构类型的不同,将数据成数据库。按照数据结构类型的不同,将数据模型划分为层次模型、网状模型和关系模型。模型划分为层次模型、网状模型和关系模型。(2 2)数据操纵)数据操纵数据操纵是指对数据库中各种对象实例的操作。数据操纵是指对数据库中各种对象实例的操作。(3 3)数据的完整性约束)数据的完整性约束数据的完整性约束是指在给定的数据模型中,数数据的完整性约束是指在给定的数据模型中,数据及其数据关联所遵守的一组规则。用以保证据及其数据关联所遵守的一组规则。用以保证数据库中数据的正确性、一致性。数据库中数据的正确性、一致性。331.3.2 概念模型概念模型概念模型也称为概念模型也称为“信息模型信息模型”。信息模型就是信息模型就是人们为正确直观地反映客观事物及其联系,人们为正确直观地反映客观事物及其联系,对所研究的信息世界对所研究的信息世界 建立的一个抽象的模型。建立的一个抽象的模型。是现实世界到信息世界的第一层抽象,是数是现实世界到信息世界的第一层抽象,是数据库设计人员和用户之间进行交流的语言。据库设计人员和用户之间进行交流的语言。33现实世界客观对象的抽象过程:现实世界客观对象的抽象过程:现实世界客观对象的抽象过程:现实世界客观对象的抽象过程:38381概念模型的名词术语概念模型的名词术语(1)实体实体(Entity):客观存在并可相互区别的事物称):客观存在并可相互区别的事物称为实体。实体既可以是实际的事物,也可以是抽象的为实体。实体既可以是实际的事物,也可以是抽象的概念或联系。概念或联系。(2)属性属性(Attribute):属性就是实体所具有的特性,):属性就是实体所具有的特性,一个实体可以由若干个属性描述。一个实体可以由若干个属性描述。(3)域域(Domain):属性的取值范围称为该属性的域。):属性的取值范围称为该属性的域。(4)实体集实体集(Entity Set):具有相同属性的实体的集合):具有相同属性的实体的集合称为实体集。称为实体集。(5)码码(键)(键)(Key):键是能够惟一地标识出一个实):键是能够惟一地标识出一个实体集中每一个实体的属性或属性组合,键也被称为关体集中每一个实体的属性或属性组合,键也被称为关键字或码。键字或码。()联系联系(Relationship):联系分为两种:一种是实体):联系分为两种:一种是实体内部各属性之间的联系,另一种是实体之间的联系。内部各属性之间的联系,另一种是实体之间的联系。39394040在在Visual FoxPro中,用中,用“表表”来表示同一类实来表示同一类实体,即实体集,用体,即实体集,用“记录记录”来表示一个具体来表示一个具体的实体,用的实体,用“字段字段”来表示实体的属性。显来表示实体的属性。显然,字段的集合组成一个记录,记录的集合然,字段的集合组成一个记录,记录的集合组成一个表。相应于实体型,则代表了表的组成一个表。相应于实体型,则代表了表的结构。结构。41412实体间的联系实体间的联系 实体之间的对应关系称为联系,它反映了现实实体之间的对应关系称为联系,它反映了现实世界事物之间的相互关联。例如,图书和出版社之世界事物之间的相互关联。例如,图书和出版社之间的关联关系为:一个出版社可出版多种书,同一间的关联关系为:一个出版社可出版多种书,同一种书只能在一个出版社出版。种书只能在一个出版社出版。实体间的联系是指一个实体集中可能出现的每实体间的联系是指一个实体集中可能出现的每一个实体与另一实体集中多少个具体实体存在联系。一个实体与另一实体集中多少个具体实体存在联系。两个实体之间有各种各样的联系,归纳起来有两个实体之间有各种各样的联系,归纳起来有3种类种类型:型:4242(1)一对一联系()一对一联系(1:1)。如果对于实体集)。如果对于实体集A中的每一中的每一个实体,实体集个实体,实体集B中有且只有一个实体与之联系,反中有且只有一个实体与之联系,反之亦然,则称实体集之亦然,则称实体集A与实体集与实体集B具有一对一联系。具有一对一联系。(2)一对多联系()一对多联系(1:n)。如果对于实体集)。如果对于实体集A中的每一中的每一个实体,实体集个实体,实体集B中有多个实体与之联系,反之,对中有多个实体与之联系,反之,对于实体集于实体集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一中至多只有一个实体与之联系,则称实体集个实体与之联系,则称实体集A与实体集与实体集B有一对多有一对多的联系。的联系。(3)多对多联系()多对多联系(m:n)。如果对于实体集)。如果对于实体集A中的每中的每一个实体,实体集一个实体,实体集B中有多个实体与之联系,而对于中有多个实体与之联系,而对于实体集实体集B中的每一个实体,实体集中的每一个实体,实体集A中也有多个实体中也有多个实体与之联系,则称实体集与之联系,则称实体集A与实体集与实体集B之间有多对多的之间有多对多的联系。联系。43433ER模型模型信息模型有很多种,其中最为流行的一种是由美籍华信息模型有很多种,其中最为流行的一种是由美籍华人陈平山于人陈平山于19年提出的实体联系模型年提出的实体联系模型(Entity-Relationship Model,简称,简称ER模型),这种图称模型),这种图称为实体为实体联系图,简称联系图,简称ER图。图。ER图有三个要素:图有三个要素:实体实体:用矩形表示实体,矩形内标注实体名称。:用矩形表示实体,矩形内标注实体名称。属性属性:用椭圆表示属性,椭圆内标注属性名称。并用:用椭圆表示属性,椭圆内标注属性名称。并用连线与实体连接起来。连线与实体连接起来。实体之间的联系实体之间的联系:用菱形表示,菱形内注明联系名称,:用菱形表示,菱形内注明联系名称,并用连线将菱形框分别与相关实体相连,并在连线并用连线将菱形框分别与相关实体相连,并在连线上注明联系类型。上注明联系类型。4444(a)1:1 联系联系 (b)1:n 联系联系 (c)m:n 联系联系 4545441.3.3 1.3.3 数据库类型数据库类型数据库类型数据库类型 数据模型是对客观事物及其联系的数据描述,数据模型是对客观事物及其联系的数据描述,数据模型是对客观事物及其联系的数据描述,数据模型是对客观事物及其联系的数据描述,反映实体内部和实体之间的联系。由于采用的数反映实体内部和实体之间的联系。由于采用的数反映实体内部和实体之间的联系。由于采用的数反映实体内部和实体之间的联系。由于采用的数据模型不同,相应的数据库管理系统也就完全不据模型不同,相应的数据库管理系统也就完全不据模型不同,相应的数据库管理系统也就完全不据模型不同,相应的数据库管理系统也就完全不同。在数据库系统中,常用的数据模型有层次模同。在数据库系统中,常用的数据模型有层次模同。在数据库系统中,常用的数据模型有层次模同。在数据库系统中,常用的数据模型有层次模型、网状模型和关系模型型、网状模型和关系模型型、网状模型和关系模型型、网状模型和关系模型3 3种。种。种。种。44层次模型按树型结构组织数据,它是以记录类层次模型按树型结构组织数据,它是以记录类层次模型按树型结构组织数据,它是以记录类层次模型按树型结构组织数据,它是以记录类型为结点,以结点间联系为边的有序树,数型为结点,以结点间联系为边的有序树,数型为结点,以结点间联系为边的有序树,数型为结点,以结点间联系为边的有序树,数据结构为有序树或森林。据结构为有序树或森林。据结构为有序树或森林。据结构为有序树或森林。1.层次模型层次模型4848层次模型有以下两个特点层次模型有以下两个特点:有且仅有一个结点无父结点,该结点称为根;有且仅有一个结点无父结点,该结点称为根;其它结点有且仅有一个父结点。其它结点有且仅有一个父结点。上面特点就使得用层次模型表示上面特点就使得用层次模型表示1:n联系非常简联系非常简便,但是它不能直接表示便,但是它不能直接表示m:n的联系。的联系。49492 2网状模型网状模型网状模型网状模型网状模型用网状结构表示实体及其之间的联系,网状模型用网状结构表示实体及其之间的联系,网状模型用网状结构表示实体及其之间的联系,网状模型用网状结构表示实体及其之间的联系,网中结点之间的联系不受层次限制,可以任网中结点之间的联系不受层次限制,可以任网中结点之间的联系不受层次限制,可以任网中结点之间的联系不受层次限制,可以任意发生联系。意发生联系。意发生联系。意发生联系。5050网状模型例子网状模型例子:5151网状模型有如下几个特点:网状模型有如下几个特点:一个子结点可以有两个或多个父结点。一个子结点可以有两个或多个父结点。在两个结点之间可以有两种或多种联系。在两个结点之间可以有两种或多种联系。可能有回路存在。可能有回路存在。网状模型的优点:网状模型的优点:能够更为直接地描述现实世界。能够更为直接地描述现实世界。具有良好的性能,存取效率高。具有良好的性能,存取效率高。主要缺点:主要缺点:结构复杂,不利于扩充;不容易实现。结构复杂,不利于扩充;不容易实现。5252 在以上两种数据模型中,各实体之间在以上两种数据模型中,各实体之间的联系是用指针实现的,其优点是查询速的联系是用指针实现的,其优点是查询速度高。但是当实体集和实体集中实体的数度高。但是当实体集和实体集中实体的数目都较多时,众多的指针使得管理工作相目都较多时,众多的指针使得管理工作相当复杂,对用户来说使用也比较麻烦。当复杂,对用户来说使用也比较麻烦。53533 3关系模型关系模型关系模型关系模型 关系模型与层次模型和网状模型相比有着关系模型与层次模型和网状模型相比有着关系模型与层次模型和网状模型相比有着关系模型与层次模型和网状模型相比有着本质的差别,它是用二维表格来表示实体及其相本质的差别,它是用二维表格来表示实体及其相本质的差别,它是用二维表格来表示实体及其相本质的差别,它是用二维表格来表示实体及其相互之间的联系。在关系模型中,把实体集看成一互之间的联系。在关系模型中,把实体集看成一互之间的联系。在关系模型中,把实体集看成一互之间的联系。在关系模型中,把实体集看成一个二维表,每一个二维表称为一个关系。每个关个二维表,每一个二维表称为一个关系。每个关个二维表,每一个二维表称为一个关系。每个关个二维表,每一个二维表称为一个关系。每个关系均有一个名字,称为关系名。系均有一个名字,称为关系名。系均有一个名字,称为关系名。系均有一个名字,称为关系名。虽然关系模型比层次模型和网状模型发展虽然关系模型比层次模型和网状模型发展得晚,但是因为它建立在严格的数学理论基础上,得晚,但是因为它建立在严格的数学理论基础上,所以是目前比较流行的一种数据模型。自所以是目前比较流行的一种数据模型。自20世纪世纪80年代以来,新推出的数据库管理系统几乎都支年代以来,新推出的数据库管理系统几乎都支持关系模型,持关系模型,Visual FoxPro就是一种关系数据就是一种关系数据库管理系统。库管理系统。5454关系模型例子关系模型例子:55551.4.1 关系模型关系模型关系数据模型是由关系数据模型是由关系数据模型是由关系数据模型是由IBMIBM公司的公司的公司的公司的E.F.CoddE.F.Codd于于于于190190年首年首年首年首次提出,以关系数据模型为基础的数据库管理系次提出,以关系数据模型为基础的数据库管理系次提出,以关系数据模型为基础的数据库管理系次提出,以关系数据模型为基础的数据库管理系统,称为关系数据库系统统,称为关系数据库系统统,称为关系数据库系统统,称为关系数据库系统(RDBMS)(RDBMS),目前广泛使,目前广泛使,目前广泛使,目前广泛使用。用。用。用。n n关系数据模型的定义关系数据模型的定义关系数据模型的定义关系数据模型的定义实体和联系均用二维表来表示的数据模型称之为关实体和联系均用二维表来表示的数据模型称之为关实体和联系均用二维表来表示的数据模型称之为关实体和联系均用二维表来表示的数据模型称之为关系数据模型。系数据模型。系数据模型。系数据模型。1.4 1.4 关系数据库关系数据库55551 1关系模型的基本概念关系模型的基本概念关系模型的基本概念关系模型的基本概念(1)关系)关系 一个关系对应着一张二维表,通常将一个没有一个关系对应着一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。在系都有一个关系名。在Visual FoxPro中,一个关中,一个关系对应于一个表文件,其扩展名为系对应于一个表文件,其扩展名为.dbf。(2)元组)元组 二维表的每一行即为一个元组。在二维表的每一行即为一个元组。在Visual FoxPro中,一个元组对应表中一个记录。表是由中,一个元组对应表中一个记录。表是由很多元祖构成的。很多元祖构成的。5858(3)属性)属性 二维表的每一列即为一个属性,每个属性二维表的每一列即为一个属性,每个属性都有一个属性名,属性值则是各个元组属性都有一个属性名,属性值则是各个元组属性的取值。在的取值。在Visual FoxPro中,一个属性对应中,一个属性对应表中一个字段,属性名对应字段名,属性值表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。例如:对应于各个记录的字段值。例如:“姓名姓名”是这个表中所有元组都具有的属性。是这个表中所有元组都具有的属性。(4)域)域 属性的取值范围称为域。域作为属性值属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及的集合,其类型与范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同其所表示的意义确定。同一属性只能在相同域中取值。例如性别的域是男或女。域中取值。例如性别的域是男或女。5959(5)关键字)关键字*关系中能惟一区分、确定不同元组的属性或属关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不为组合关键字。需要强调的是,关键字的属性值不能取能取“空值空值”,所谓空值就是,所谓空值就是“不知道不知道”或或“不确不确定定”的值,因而无法惟一地区分、确定元组。的值,因而无法惟一地区分、确定元组。()候选关键字)候选关键字 关系中能够成为关键字的属性或属性组合可能不关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够惟一区分、确定不同元是惟一的。凡在关系中能够惟一区分、确定不同元组的属性或属性组合,称为候选关键字。组的属性或属性组合,称为候选关键字。00()主关键字)主关键字 在候选关键字中选定一个作为关键字,称为该关在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是惟一的。系的主关键字。关系中主关键字是惟一的。(8)外部关键字)外部关键字 关系中某个属性或属性组合并非关键字,但却是关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关关系的外部关键字。关系之间的联系是通过外部关键字实现的。键字实现的。(9)关系模式)关系模式 对关系的描述称为关系模式,其格式为:对关系的描述称为关系模式,其格式为:关系名(属性名关系名(属性名1,属性名,属性名2,属性名,属性名n)关系既可以用二维表格描述,也可以用数学形式关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的的关系模式来描述。一个关系模式对应一个关系的结构。在结构。在Visual FoxPro中,也就是表的结构。中,也就是表的结构。112关系的基本特点关系的基本特点 在关系模型中,关系具有以下基本特点:在关系模型中,关系具有以下基本特点:(1)关系必须规范化,属性不可再分割。)关系必须规范化,属性不可再分割。规范化是指关系模型中每个关系模式都必须满足一规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。中不能再包含表。(2)在同一关系中不允许出现相同的属性名。)在同一关系中不允许出现相同的属性名。Visual FoxPro不允许同一个表中有相同的字段名。不允许同一个表中有相同的字段名。(3)关系中不允许有完全相同的元组,即冗余。)关系中不允许有完全相同的元组,即冗余。22(4)在同一关系中元组的次序无关紧要。也就是说,)在同一关系中元组的次序无关紧要。也就是说,任意交换两行的位置并不影响数据的实际含义。任意交换两行的位置并不影响数据的实际含义。(5)在同一关系中属性的次序无关紧要。任意交换两)在同一关系中属性的次序无关紧要。任意交换两列的位置也并不影响数据的实际含义,不会改变关列的位置也并不影响数据的实际含义,不会改变关系模式。系模式。以上是关系的基本性质,也是衡量一个二维表格是以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一否构成关系的基本要素。在这些基本要素中,有一点是关键,即属性不可再分割,也即表中不能套表。点是关键,即属性不可再分割,也即表中不能套表。333关系模型的优点关系模型的优点(1)数据结构单一。)数据结构单一。关系模型中,不管是实体还是实体之间的联系,关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。数据结构简单、清晰。(2)关系规范化,并建立在严格的理论基础上。)关系规范化,并建立在严格的理论基础上。关系中每个属性不可再分割,构成关系的基本规关系中每个属性不可再分割,构成关系的基本规范。同时关系是建立在严格的数学概念基础上,范。同时关系是建立在严格的数学概念基础上,具有坚实的理论基础。具有坚实的理论基础。(3)概念简单,操作方便。)概念简单,操作方便。关系模型最大的优点就是简单,用户容易理解和关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。简单的查询语言就能对数据库进行操作。441.4.2 关系数据库关系数据库*以关系模型建立的数据库就是关系数据库以关系模型建立的数据库就是关系数据库(RDB:Relational Database)。关系数据库中
展开阅读全文