《25381第1章数据库系统基础知识》由会员分享,可在线阅读,更多相关《25381第1章数据库系统基础知识(127页珍藏版)》请在金锄头文库上搜索。
1、Visual FoxPuo程序设计基础程序设计基础 第第1章章 数据库系统基础知识数据库系统基础知识数据库基础知识数据库基础知识1.11.1数据模型数据模型1.21.2数据库系统数据库系统1.31.3关系数据库关系数据库1.41.4数据库系统的体系结构与开发工具数据库系统的体系结构与开发工具1.51.51.1 1.1 数据库基础知识数据库基础知识 通常,把用计算机对数据进行处理的应用通常,把用计算机对数据进行处理的应用系统称为计算机信息系统,其核心是数据库。系统称为计算机信息系统,其核心是数据库。 本节将介绍数据库中的一些基本知识。本节将介绍数据库中的一些基本知识。1.1.1 1.1.1 信息
2、与数据信息与数据 信息具有如下重要特征。信息具有如下重要特征。(1 1)信息具有表征性。)信息具有表征性。 它能够表达事物的属性、运动特征及状态。它能够表达事物的属性、运动特征及状态。(2 2)信息具有可传播性。)信息具有可传播性。 信息可以进行获取、存储、传递和共享。信息可以进行获取、存储、传递和共享。(3 3)信息具有可处理性。)信息具有可处理性。 信息可以进行压缩、加工以及再生。信息可以进行压缩、加工以及再生。 (4 4)信息具有价值性和可转换性。)信息具有价值性和可转换性。 与信息相关的是数据。与信息相关的是数据。 数据是信息的具体表现形式,是信息的数据是信息的具体表现形式,是信息的载
3、体。载体。 在实际应用中,数据的表示形式有两种:在实际应用中,数据的表示形式有两种:一种是可以参与数值运算的数值型数据,如表一种是可以参与数值运算的数值型数据,如表示工资、成绩的数据;另一种是由不能参与数示工资、成绩的数据;另一种是由不能参与数值运算的数据,如字符(文字和符号)、图表值运算的数据,如字符(文字和符号)、图表(图形、图像和表格)、动画、影像、声音等(图形、图像和表格)、动画、影像、声音等多媒体数据。多媒体数据。 数据有两方面的特征:一是客体属性的数据有两方面的特征:一是客体属性的反映,这是数据的内容;二是记录信息的反映,这是数据的内容;二是记录信息的符号,这是数据的形式。符号,这
4、是数据的形式。 形式是内容的表现方式,内容是形式的形式是内容的表现方式,内容是形式的实质。实质。1.1.2 1.1.2 数据处理数据处理 数据处理是指将数据转换成信息的过数据处理是指将数据转换成信息的过程,数据处理也可称为信息处理。程,数据处理也可称为信息处理。 它包括对数据的采集、整理、存储、它包括对数据的采集、整理、存储、分类、检索、排序、统计、维护、传输等一分类、检索、排序、统计、维护、传输等一系系 列活动。列活动。 通常将数据处理分为两个操作层次:一通常将数据处理分为两个操作层次:一是数据采集、分类、组织、编码、存储、检是数据采集、分类、组织、编码、存储、检索、传输、维护等基本操作,这
5、些基本操作索、传输、维护等基本操作,这些基本操作称为数据管理;二是加工、计算、输出等操称为数据管理;二是加工、计算、输出等操作,管理对象不同,操作的要求也不同。作,管理对象不同,操作的要求也不同。 根据处理设备的结构和工作方式以及数根据处理设备的结构和工作方式以及数据分布方式的不同,数据处理的方式主要有据分布方式的不同,数据处理的方式主要有以下以下4种。种。 (1 1)按处理设备的结构方式分,可分)按处理设备的结构方式分,可分为联机处理方式和脱机处理方式。为联机处理方式和脱机处理方式。 (2 2)按数据处理时间的分配方式分,)按数据处理时间的分配方式分,可分为批处理方式、分时处理方式和实可分为
6、批处理方式、分时处理方式和实时处理方式。时处理方式。 (3 3)按数据处理空间的分布方式分,可)按数据处理空间的分布方式分,可分为集中式处理方式和分布处理方式。分为集中式处理方式和分布处理方式。 (4 4)按计算机中央处理器的工作方式分,)按计算机中央处理器的工作方式分,可分为单道作业处理方式、多道作业处理可分为单道作业处理方式、多道作业处理方式和交互式处理方式。方式和交互式处理方式。1.1.3 1.1.3 数据库管理技术的发展数据库管理技术的发展 1 1数据库的概念数据库的概念 数据库(数据库(DataBase)是依照某种数据)是依照某种数据模型组织起来的、相互关联的、并存放于模型组织起来的
7、、相互关联的、并存放于二级存储器中的数据集合。二级存储器中的数据集合。 由于数据库本身的数据结构特征,使由于数据库本身的数据结构特征,使得数据库独立于使用它的应用程序,对数得数据库独立于使用它的应用程序,对数据的增加、删除、修改和检索则由相关的据的增加、删除、修改和检索则由相关的软件进行管理和控制,从而实现了数据和软件进行管理和控制,从而实现了数据和操作的分离。操作的分离。 将所有数据集中存放在数据库中,一方将所有数据集中存放在数据库中,一方面便于人们对其进行统一管理,另一方面也面便于人们对其进行统一管理,另一方面也便于人们提炼出对决策有用的数据和信息。便于人们提炼出对决策有用的数据和信息。
8、2 2数据库的产生数据库的产生 实际上,数据库系统并不是和计算机实际上,数据库系统并不是和计算机同时出现的,而是随着计算机硬件技术和同时出现的,而是随着计算机硬件技术和软件技术的发展,以及社会对数据处理需软件技术的发展,以及社会对数据处理需求的不断发展而产生的。求的不断发展而产生的。 计算机数据管理的方式也在不断改进,计算机数据管理的方式也在不断改进,经历了从人工管理到文件系统再到数据库经历了从人工管理到文件系统再到数据库系统系统3个阶段。个阶段。(1 1)人工管理阶段。)人工管理阶段。 20世纪世纪50年代中期以前,计算机主要用年代中期以前,计算机主要用于科学计算,数据量较少,一般不需要长于
9、科学计算,数据量较少,一般不需要长期保存。期保存。 该阶段主要存在以下几方面的问题。该阶段主要存在以下几方面的问题。 数据不能长期保存。数据不能长期保存。 数据不独立。数据不独立。 数据不能重复使用。数据不能重复使用。 (2 2)文件系统阶段。)文件系统阶段。 20世纪世纪50年代后期到年代后期到60年代中期,计年代中期,计算机开始大量用于数据管理。算机开始大量用于数据管理。 文件系统提供了在外存储器上长期保存文件系统提供了在外存储器上长期保存数据并对数据进行存取的手段。数据并对数据进行存取的手段。 文件的逻辑结构与存储结构有一定的区文件的逻辑结构与存储结构有一定的区别,即程序与数据具有一定的
10、独立性。别,即程序与数据具有一定的独立性。 数据的存储结构变化,不一定影响程数据的存储结构变化,不一定影响程序,因此程序员可集中精力进行算法的设序,因此程序员可集中精力进行算法的设计,大大减少了维护程序的工作量。计,大大减少了维护程序的工作量。 文件系统阶段存在着以下几个问题。文件系统阶段存在着以下几个问题。 数据冗余度大。数据冗余度大。 数据独立性差。数据独立性差。 缺乏对数据的集中管理。缺乏对数据的集中管理。(3 3)数据库系统阶段。)数据库系统阶段。 20世纪世纪60年代后期,随着计算机技术的年代后期,随着计算机技术的发展,计算机在管理中应用越来越广泛,规发展,计算机在管理中应用越来越广
11、泛,规模越来越庞大,数据量急剧增加,数据共享模越来越庞大,数据量急剧增加,数据共享性更强。性更强。 在数据库系统中,有一种叫做数据库在数据库系统中,有一种叫做数据库管理系统(管理系统(DataBase Mannagement System, DBMS)的系统软件将所有的数)的系统软件将所有的数据集中到一个数据库中,形成一个数据中据集中到一个数据库中,形成一个数据中心,对数据进行统一的控制。心,对数据进行统一的控制。 3 3数据库的特点数据库的特点 数据库具有数据共享、数据独立、最数据库具有数据共享、数据独立、最小冗余、数据安全、数据完整、灵活性、小冗余、数据安全、数据完整、灵活性、可恢复性等特
12、点。可恢复性等特点。 (1 1)数据共享。)数据共享。 (2 2)数据独立性强。)数据独立性强。 (3 3)数据冗余度小。)数据冗余度小。 (4 4)数据结构化。)数据结构化。 1.2 1.2 数数 据据 模模 型型 数据模型是描述数据及数据之间联系数据模型是描述数据及数据之间联系的结构形式,它主要研究如何组织数据库的结构形式,它主要研究如何组织数据库中的数据,这是数据库的核心内容。中的数据,这是数据库的核心内容。 1.2.1 1.2.1 基本概念基本概念 人们把客观存在的事物以数据的形式人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事存储到计算机中,经历了对现实生活中事物
13、特征的认识、概念化到计算机数据库里物特征的认识、概念化到计算机数据库里的具体表示形式的逐级抽象过程。的具体表示形式的逐级抽象过程。 实体模型也称概念模型或信息模型,实体模型也称概念模型或信息模型,它是按用户的观点对现实世界中的事物所它是按用户的观点对现实世界中的事物所建立的一种模型。建立的一种模型。 实现实体模型的过程就是实现现实世实现实体模型的过程就是实现现实世界到计算机世界的两级抽象中的第一级抽界到计算机世界的两级抽象中的第一级抽象象信息抽象过程。信息抽象过程。(1 1)实体。)实体。 从数据处理的角度看,现实世界中的从数据处理的角度看,现实世界中的客观事物称为实体,实体可定义为客观存客观
14、事物称为实体,实体可定义为客观存在的并相互区分的在的并相互区分的“事物事物”。 (2 2)属性。)属性。 一个实体具有不同的属性,属性描述了一个实体具有不同的属性,属性描述了实体某一方面的特性。实体某一方面的特性。 (3 3)实体集。)实体集。 属性有属性有“型型”和和“值值”的区分。的区分。 在在Visual FoxPro中,用中,用“表表”来存放同来存放同一类实体,如教师表存放教师实体,成绩表一类实体,如教师表存放教师实体,成绩表存放成绩实体。存放成绩实体。 每一个每一个“表表”包含若干个字段,包含若干个字段,“表表”中所包含的中所包含的“字段字段”就是实体的属性,字段就是实体的属性,字段
15、值的集合组成表中一条记录,代表一个具体值的集合组成表中一条记录,代表一个具体的实体,即表中的一条记录表示一个实体。的实体,即表中的一条记录表示一个实体。 1.2.2 1.2.2 实体及其之间的关系实体及其之间的关系 实体之间的对应关系称为实体间的联系,实体之间的对应关系称为实体间的联系,它反映现实世界事物之间的相互关联。它反映现实世界事物之间的相互关联。 实体间联系是指一个实体型中可能出实体间联系是指一个实体型中可能出现的每一个实体与另一个实体集中多少个现的每一个实体与另一个实体集中多少个具体实体存在联系,实体之间有各种各样具体实体存在联系,实体之间有各种各样的联系,归纳起来有以下的联系,归纳
16、起来有以下3种类型。种类型。 (1 1)一对一的联系()一对一的联系(1:11:1)。)。 (2 2)一对多的联系()一对多的联系(1:n1:n)。)。 (3 3)多对多的联系()多对多的联系(m:nm:n)。)。 1.2.3 1.2.3 数据模型数据模型 数据是描述客观事物的载体,而现实数据是描述客观事物的载体,而现实世界中事物总是彼此联系的,因此数据与世界中事物总是彼此联系的,因此数据与数据之间必然存在一定的联系,我们可以数据之间必然存在一定的联系,我们可以用数据模型来描述这种联系。用数据模型来描述这种联系。 数据模型是反映事物间联系的数据组数据模型是反映事物间联系的数据组织的结构和形式。
17、织的结构和形式。 一个具体的数据模型应当正确地反映一个具体的数据模型应当正确地反映出数据之间存在的整体逻辑关系。出数据之间存在的整体逻辑关系。 数据模型包含两个方面的内容:一为数据模型包含两个方面的内容:一为数据的静态特性,即数据的基本结构、数数据的静态特性,即数据的基本结构、数据间的联系和数据的约束;二为数据的动据间的联系和数据的约束;二为数据的动态特性,即定义在数据上的操作,如教师态特性,即定义在数据上的操作,如教师记录中包含姓名、职工编号、性别、出生记录中包含姓名、职工编号、性别、出生年月、职称等字段,每个字段都有数据和年月、职称等字段,每个字段都有数据和长度约束,对教师记录也可以进行添
18、加、长度约束,对教师记录也可以进行添加、修改、删除、查询、统计等操作。修改、删除、查询、统计等操作。 在数据库管理系统中,常用的数据模在数据库管理系统中,常用的数据模型有层次模型、网状模型、关系模型型有层次模型、网状模型、关系模型3种。种。 (1 1)层次模型。)层次模型。 层次模型用树型结构来描述实体及它层次模型用树型结构来描述实体及它们之间的关系。们之间的关系。 图图1.1所示为一个层次模型的例子。所示为一个层次模型的例子。图图1.1 层次模型层次模型 层次模型的数据库管理系统是世界上层次模型的数据库管理系统是世界上最早出现的大型数据库系统,其典型代表最早出现的大型数据库系统,其典型代表是
19、是IBM的的IMS(Information Management System)。)。(2 2)网状模型。)网状模型。 网状模型用网状结构表示实体及其之网状模型用网状结构表示实体及其之间联系。间联系。 图图1.2 网状模型网状模型(3 3)关系模型。)关系模型。 关系模型与以上的两种模型相比,有关系模型与以上的两种模型相比,有着本质的区别,它是用二维表格来表示实着本质的区别,它是用二维表格来表示实体以及实体之间联系。体以及实体之间联系。 在关系模型中,操作的对象和结果都在关系模型中,操作的对象和结果都是二维表,这种二维表就是关系。是二维表,这种二维表就是关系。 如表如表1.1所示,表中每一列是
20、一个属性,所示,表中每一列是一个属性,每一行称为一个元组,即一条记录,可以采每一行称为一个元组,即一条记录,可以采用传统的集合运算(如并、交、差)和专门用传统的集合运算(如并、交、差)和专门的关系运算(如投影、选择和连接)来完成的关系运算(如投影、选择和连接)来完成数据的处理。数据的处理。 关系模型与层次模型、网状模型的本关系模型与层次模型、网状模型的本质区别在于数据描述的一致性,关系模型质区别在于数据描述的一致性,关系模型概念单一。概念单一。 1.3 1.3 数据库系统数据库系统 以数据库为核心,以管理为目的的计以数据库为核心,以管理为目的的计算机系统称为数据库系统(算机系统称为数据库系统(
21、DataBase System,DBS)。)。 1.3.1 1.3.1 数据库系统的组成数据库系统的组成 数据库系统是把有关计算机硬件、软数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息件、数据和人员组合起来为用户提供信息服务的系统。服务的系统。1 1硬件硬件 数据库系统对硬件的要求是:数据库系统对硬件的要求是:CPU处理处理速度高;要求足够大的和安全的磁盘等直接速度高;要求足够大的和安全的磁盘等直接存储设备用于安全地存储庞大的数据;要求存储设备用于安全地存储庞大的数据;要求有较高的通信能力,以提高数据传送率;还有较高的通信能力,以提高数据传送率;还要求系统支持联网,以实现
22、数据的共享。要求系统支持联网,以实现数据的共享。2 2软件软件 数据库系统的软件包括操作系统、数数据库系统的软件包括操作系统、数据库管理系统(或编译系统)和应用程序据库管理系统(或编译系统)和应用程序系统。系统。 数据库管理系统是数据库系统的核心数据库管理系统是数据库系统的核心软件之一。软件之一。 在数据库系统中,各层次之间的相互在数据库系统中,各层次之间的相互关系如图关系如图1.3所示。所示。 图图1.3 数据库系统层次关系示意图数据库系统层次关系示意图3 3数据库数据库 数据库系统的核心是数据库。数据库系统的核心是数据库。 数据库(数据库(DataBase,DB)是按照一)是按照一定规则存
23、储在计算机外存储器中的大量相定规则存储在计算机外存储器中的大量相关数据的集合。关数据的集合。 它包括描述事物的数据本身,还包括它包括描述事物的数据本身,还包括相关事物的联系。相关事物的联系。 大量的数据按一定的数据模型组织存大量的数据按一定的数据模型组织存储在数据库中,从而便于进行数据管理、储在数据库中,从而便于进行数据管理、实现数据共享。实现数据共享。4 4数据库管理系统数据库管理系统 数据库管理系统(数据库管理系统(DataBase Management System,DBMS)是对数据)是对数据库进行管理和实现对数据库的数据进行操库进行管理和实现对数据库的数据进行操作的管理系统。作的管理
24、系统。 如图如图1.3所示,所示,DBMS是建立在操作系是建立在操作系统基础上,位于操作系统与用户之间的一统基础上,位于操作系统与用户之间的一层数据管理软件。层数据管理软件。 数据库管理系统需要利用操作系统提数据库管理系统需要利用操作系统提供的输入供的输入/输出控制和文件访问功能,因此输出控制和文件访问功能,因此它需要在操作系统的支持下运行。它需要在操作系统的支持下运行。 在数据库管理系统支持下,数据和程在数据库管理系统支持下,数据和程序的关系如图序的关系如图1.4所示。所示。图图1.4 数据库管理系统中数据和程序的关系数据库管理系统中数据和程序的关系5 5数据库应用系统数据库应用系统 数据库
25、应用系统是指系统开发人员利数据库应用系统是指系统开发人员利用数据库系统资源开发出来的,面向某一用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。类实际应用的应用软件系统。 6 6数据库管理员数据库管理员 数据库系统中的有关人员主要有数据库系统中的有关人员主要有3类:类:最终用户、应用系统开发人员和数据库管最终用户、应用系统开发人员和数据库管理员。理员。 一般来说,一般来说,DBA的任务有主要有如下的任务有主要有如下几方面。几方面。 (1 1)在了解数据库的设计基础上,组)在了解数据库的设计基础上,组织完成数据库的建立和安装。织完成数据库的建立和安装。 (2 2)进行数据的完整性维护
26、。)进行数据的完整性维护。 (3 3)保证数据库的安全。)保证数据库的安全。 (4 4)了解用户需求,解决有关技术问题。)了解用户需求,解决有关技术问题。 (5 5)指导用户正确使用数据库。)指导用户正确使用数据库。 (6 6)对数据库进行适当的调整,以保证其)对数据库进行适当的调整,以保证其正常运行。正常运行。1.3.2 1.3.2 数据库系统的分类数据库系统的分类 按照数据存放位置的不同,可以将数按照数据存放位置的不同,可以将数据库系统分为以下两类。据库系统分为以下两类。(1 1)集中式数据库系统。)集中式数据库系统。 集中式数据库系统就是将所有的数据集中式数据库系统就是将所有的数据集中在
27、一个数据库中。集中在一个数据库中。 在逻辑上数据是集中存放的,在物理在逻辑上数据是集中存放的,在物理上也是。上也是。 (2 2)分布式数据库系统。)分布式数据库系统。 分布式数据库系统是数据库技术和计分布式数据库系统是数据库技术和计算机网络技术相结合的产物。算机网络技术相结合的产物。 分布式数据库系统是将多个集中式数分布式数据库系统是将多个集中式数据库通过网络连接起来,从而使得各个结据库通过网络连接起来,从而使得各个结点的计算机可以利用网络通信功能访问其点的计算机可以利用网络通信功能访问其他结点上的数据库资源他结点上的数据库资源 物理上分布、逻辑上集中的分布式数物理上分布、逻辑上集中的分布式数
28、据库结构是一个逻辑上统一、地域上分布据库结构是一个逻辑上统一、地域上分布的数据集合,是计算机网络环境中各个结的数据集合,是计算机网络环境中各个结点局部数据库的逻辑集合。点局部数据库的逻辑集合。 1.3.3 1.3.3 数据库系统的结构数据库系统的结构 从最终用户角度来看,数据库系统可从最终用户角度来看,数据库系统可以分为这几种结构:单用户结构、主从式以分为这几种结构:单用户结构、主从式结构、分布式结构和客户结构、分布式结构和客户/服务器结构。服务器结构。1 1单用户数据库系统单用户数据库系统 单用户数据库系统是一种早期的、最单用户数据库系统是一种早期的、最简单的数据库系统。简单的数据库系统。
29、单用户数据库系统如图单用户数据库系统如图1.5所示。所示。图图1.5 单用户数据库系统单用户数据库系统2 2主从式数据库系统主从式数据库系统 主从式结构是指一个主机连接多个终端主从式结构是指一个主机连接多个终端的多用户结构。的多用户结构。 主从式数据库系统的结构如图主从式数据库系统的结构如图1.6所示。所示。图图1.6 主从式数据库系统主从式数据库系统 主从式结构的优点是简单、数据易于主从式结构的优点是简单、数据易于管理维护。管理维护。 缺点是当终端用户数目增加到一定程缺点是当终端用户数目增加到一定程度后,数据的存取通道会形成瓶颈,从而度后,数据的存取通道会形成瓶颈,从而使系统性能大幅度下降。
30、使系统性能大幅度下降。3 3分布式数据库系统分布式数据库系统 在分布式数据库系统中,数据在逻辑在分布式数据库系统中,数据在逻辑上是一个整体,而在物理形式上则分布在上是一个整体,而在物理形式上则分布在计算机网络的不同结点上,每个结点上的计算机网络的不同结点上,每个结点上的主机又带有多个终端用户,如图主机又带有多个终端用户,如图1.7所示。所示。 4 4客户客户/ /服务器数据库系统服务器数据库系统 这这种种把把DBMS和和应应用用程程序序分分开开的的结结构构就就是客户是客户/服务器数据库系统。服务器数据库系统。 在客户在客户/服务器结构系统中,客户端的服务器结构系统中,客户端的用户将数据传送到数
31、据库服务器,服务器用户将数据传送到数据库服务器,服务器进行处理后,只将结果返回给用户,从而进行处理后,只将结果返回给用户,从而减少了网络上的数据传输量,提高了系统减少了网络上的数据传输量,提高了系统的性能和负载能力。的性能和负载能力。 客户客户/服务器数据库系统也可以分为集中服务器数据库系统也可以分为集中式服务器结构(见图式服务器结构(见图1.8)和分布式服务器)和分布式服务器结构(见图结构(见图1.9),其中分布式服务器结构),其中分布式服务器结构是客户是客户/服务器结构与分布式数据库结构的结服务器结构与分布式数据库结构的结合。合。 集中式服务器结构的特点是数据集中、集中式服务器结构的特点是
32、数据集中、处理分布,而分布式服务器结构的特点是数处理分布,而分布式服务器结构的特点是数据分布、处理分布。据分布、处理分布。图图1.8 集中式服务器结构集中式服务器结构图图1.9 分布式服务器结构分布式服务器结构1.4 1.4 关系数据库关系数据库 关系数据库是支持关系数据模型的数关系数据库是支持关系数据模型的数据库系统,现在普遍使用的数据库管理系据库系统,现在普遍使用的数据库管理系统大多都是关系数据库管理系统。统大多都是关系数据库管理系统。 关系数据库是由若干个利用关系模型关系数据库是由若干个利用关系模型设计的数据表文件组成的集合。设计的数据表文件组成的集合。 1.4.1 1.4.1 关系模型
33、关系模型 用二维表的形式表示实体和实体间联系用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。的数据模型称为关系数据模型。 一个关系的逻辑结构就是一张二维表,一个关系的逻辑结构就是一张二维表,所以关系模型的用户界面是非常简单的。所以关系模型的用户界面是非常简单的。1 1基本术语基本术语 在关系模型中,一个在关系模型中,一个“表表”就是一个就是一个关系,每个表都有唯一的标识。关系,每个表都有唯一的标识。 两个表或多个表可以通过一定的关系两个表或多个表可以通过一定的关系运算关联起来。运算关联起来。(1 1)关系。)关系。 一个关系就是一张二维表,通常将一一个关系就是一张二维表,通常将一
34、个没有重复行、重复列的二维表看成一个个没有重复行、重复列的二维表看成一个关系,每个关系有一个关系名。关系,每个关系有一个关系名。 在在Visual FoxPro中,一个关系存储为中,一个关系存储为一个文件,其扩展名为一个文件,其扩展名为.dbf,称为,称为“表表”。 对关系的描述称为关系模式,一个关系对关系的描述称为关系模式,一个关系模式对应一个关系的结构。模式对应一个关系的结构。 其格式为:关系名(属性名其格式为:关系名(属性名1,属性名,属性名2属性名属性名n)。)。 在在Visual FoxPro中,表结构表示为:中,表结构表示为:表名(字段名表名(字段名1,字段名,字段名2字段名字段名
35、n)。)。(2 2)元组。)元组。 在一个二维表(一个具体关系)中,在一个二维表(一个具体关系)中,一行称为元组,每一行是一个元组。一行称为元组,每一行是一个元组。 一个元组对应文件中的一条记录。一个元组对应文件中的一条记录。(3 3)属性。)属性。 二维表中的每一列称为属性,每个属二维表中的每一列称为属性,每个属性都有一个属性名,属性值则是每个元组性都有一个属性名,属性值则是每个元组属性的具体取值。属性的具体取值。 在在Visual FoxPro中,一个属性对应表中,一个属性对应表中的一个字段。中的一个字段。 每个字段的数据类型和字段名组成整每个字段的数据类型和字段名组成整个表的结构。个表的
36、结构。(4 4)域。)域。 属性的取值范围称为域,域规定了不同属性的取值范围称为域,域规定了不同元组对同一属性的取值所限定的范围。元组对同一属性的取值所限定的范围。 域作为属性值的集合,其类型与范围由域作为属性值的集合,其类型与范围由属性的性质及其所表示的具体意义确定。属性的性质及其所表示的具体意义确定。 (5 5)关键字。)关键字。 关系中能唯一区分、确定不同元组的属关系中能唯一区分、确定不同元组的属性或属性组合,成为该关系的关键字。性或属性组合,成为该关系的关键字。 单个属性组成的关键字称为单关键字,单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。多个属性组合的关键字
37、称为组合关键字。 在在Visual FoxPro中,主关键字和候选中,主关键字和候选关键字就起唯一标识一个元组的作用。关键字就起唯一标识一个元组的作用。(6 6)外部关键字。)外部关键字。 如果表中的一个字段不是本表的主关如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主键字或候选关键字,而是另外一个表的主关键字或候选关键字起唯一标识一个元组关键字或候选关键字起唯一标识一个元组的作用,就称之为该表的外部关键字,简的作用,就称之为该表的外部关键字,简称外键。称外键。 2 2关系的特点关系的特点 关系数据库是由若干个数据表构成的,关系数据库是由若干个数据表构成的,而这些数据表是依
38、照关系模型设计完成的,而这些数据表是依照关系模型设计完成的,数据表之间既相互联系,又彼此独立,从而数据表之间既相互联系,又彼此独立,从而使关系数据库具有极大的优越性。使关系数据库具有极大的优越性。 在关系模型中对关系有一定的要求,关在关系模型中对关系有一定的要求,关系必须具有以下特点。系必须具有以下特点。 (1 1)关系必须规范化,属性不可再分割。)关系必须规范化,属性不可再分割。 (2 2)在同一个关系中不能出现相同的属性)在同一个关系中不能出现相同的属性名,不允许同一个表中存在相同的字段名。名,不允许同一个表中存在相同的字段名。 (3 3)关系中不允许有完全相同的元组。)关系中不允许有完全
39、相同的元组。 (4 4)在一个关系中元组的次序无关紧要,)在一个关系中元组的次序无关紧要,换言之,就是任意交换两行的位置并不影响换言之,就是任意交换两行的位置并不影响数据的实际含义。数据的实际含义。 (5 5)在一个关系中列的次序无关紧要。)在一个关系中列的次序无关紧要。 1.4.2 1.4.2 关系数据库关系数据库 所谓关系数据库(所谓关系数据库(Relational DataBase,RDB),就是以关系模型建立),就是以关系模型建立的数据库。的数据库。 关系数据库中包括若干个关系,每一关系数据库中包括若干个关系,每一个关系都由关系模式确定,每个关系模式个关系都由关系模式确定,每个关系模式
40、包含若干个属性和与之对应的域。包含若干个属性和与之对应的域。 因此,所谓定义数据库就是逐一定义因此,所谓定义数据库就是逐一定义关系模式,对每一个关系模式都逐一定义关系模式,对每一个关系模式都逐一定义其属性和对应的域。其属性和对应的域。 在在Visual FoxPro中,与数据库对应的中,与数据库对应的是数据库文件(是数据库文件(.dbc文件),一个数据库文件),一个数据库文件包含若干个表(文件包含若干个表(.dbf文件),表是由表文件),表是由表的结构和若干个数据记录组成,表的结构的结构和若干个数据记录组成,表的结构对应关系模式。对应关系模式。 每个记录有若干个字段构成,字段对每个记录有若干个
41、字段构成,字段对应关系模式的属性,字段的数据类型和取应关系模式的属性,字段的数据类型和取值范围对应属性的域。值范围对应属性的域。1.4.3 1.4.3 关系运算关系运算 在关系数据库中查询用户所需要的数据在关系数据库中查询用户所需要的数据时,需要对关系进行一定的关系运算。时,需要对关系进行一定的关系运算。 关系的基本运算有两类:一类是传统的关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专门集合运算(并、差、交等),另一类是专门的关系运算(选择、投影、连接),有些复的关系运算(选择、投影、连接),有些复杂的查询甚至需要几个运算的组合。杂的查询甚至需要几个运算的组合。1 1传
42、统的集合运算传统的集合运算 能够进行并、差、交集合运算的两个能够进行并、差、交集合运算的两个关系必须具有相同的关系模式,即两张表关系必须具有相同的关系模式,即两张表具有相同的结构。具有相同的结构。 (1 1)并。)并。 (2 2)差。)差。 (3 3)交。)交。 2 2专门的关系运算专门的关系运算 (1 1)选择运算。)选择运算。 选择运算就是从关系模式中找出满足选择运算就是从关系模式中找出满足给定条件的元组的操作。给定条件的元组的操作。 (2 2)投影运算。)投影运算。 投影运算是从关系模式中指定若干个投影运算是从关系模式中指定若干个属性组成新关系的操作。属性组成新关系的操作。 (3 3)连
43、接运算。)连接运算。 连接运算是将两个关系模式拼接成一连接运算是将两个关系模式拼接成一个更宽的关系模式,生成的新关系中,包个更宽的关系模式,生成的新关系中,包含满足连接条件的元组。含满足连接条件的元组。 (4 4)自然连接。)自然连接。 在连接运算中,按照字段值对应相等在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接,而为条件进行的连接操作称为等值连接,而去掉重复属性的等值连接便是自然连接。去掉重复属性的等值连接便是自然连接。 自然连接是最常用的连接运算。自然连接是最常用的连接运算。1.4.4 1.4.4 关系完整性关系完整性 数据库的完整性是指数据的正确性和数据库的完整性是指
44、数据的正确性和相容性。相容性。 1 1实体完整性实体完整性 实体完整性是指关系主关键字中的属实体完整性是指关系主关键字中的属性值不能为空。性值不能为空。 2 2参照完整性参照完整性 参照完整性是定义建立关系之间联系的参照完整性是定义建立关系之间联系的主关键字和外部关键字应用的约束条件。主关键字和外部关键字应用的约束条件。 参照完整性约束是关系之间相关联的基参照完整性约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际即在关系中的外键要么是所关联关系中实际存在的元组,要么是空值。存在的元组,要么是空值。3 3域
45、完整性域完整性 数据表中的每一个属性(或字段、列)对数据表中的每一个属性(或字段、列)对应着一个值的集合作为其可以取值的范围,称应着一个值的集合作为其可以取值的范围,称为该属性的域。为该属性的域。 属性值应该是域中的值,一个属性能否为属性值应该是域中的值,一个属性能否为空都是域完整性约束的内容。空都是域完整性约束的内容。 实体完整性、参照完整性和域完整性实体完整性、参照完整性和域完整性约束是关系数据模型的约束是关系数据模型的3个最基本、最普遍个最基本、最普遍的完整性约束。的完整性约束。 实体完整性和参照完整性是关系数据实体完整性和参照完整性是关系数据库中必须满足的完整性约束条件,称之为库中必须
46、满足的完整性约束条件,称之为关系的两个不变性,适用于任何关系数据关系的两个不变性,适用于任何关系数据库系统。库系统。 域完整性则是根据应用环境的要求和域完整性则是根据应用环境的要求和实际的需要,对某一集体应用所涉及的数实际的需要,对某一集体应用所涉及的数据提出约束性条件。据提出约束性条件。 1.5 1.5 数据库系统的体系结构与开发工具数据库系统的体系结构与开发工具 1.5.1 1.5.1 数据库系统的体系结构数据库系统的体系结构 数据库系统的体系结构大致上可以分数据库系统的体系结构大致上可以分为如下为如下4种模式:单用户模式、主从式多用种模式:单用户模式、主从式多用户模式、客户机户模式、客户
47、机/服务器模式服务器模式(Client/Server,C/S)和)和Web浏览器浏览器/服服务器模式(务器模式(Brewser/Server,B/S)。)。1 1单用户数据库系统单用户数据库系统 单用户数据库系统是最早的、最简单的单用户数据库系统是最早的、最简单的数据库系统。数据库系统。 它将数据库、它将数据库、DBMS和应用程序安装在和应用程序安装在一台计算机上,由一个用户独占系统,不同一台计算机上,由一个用户独占系统,不同系统之间不能共享数据。系统之间不能共享数据。2 2主从式多用户数据库系统主从式多用户数据库系统 主从式多用户数据库系统将数据库、主从式多用户数据库系统将数据库、DBMS和
48、应用程序安装在主机上,多个终端和应用程序安装在主机上,多个终端用户使用主机上的数据和程序。用户使用主机上的数据和程序。 3 3C/SC/S数据库系统数据库系统 C/S数数据据库库系系统统不不仅仅可可以以实实现现对对数数据据库库资资源源的的共共享享,而而且且可可以以提提高高数数据据库库的的安安全全性。性。 在在这这种种数数据据库库系系统统中中,客客户户机机提提供供用用户户操操作作界界面面,运运行行业业务务逻逻辑辑;服服务务器器专专门门用用于执行于执行DBMS功能,提供数据的存储和管理。功能,提供数据的存储和管理。 C/S数据库系统如图数据库系统如图1.10所示。所示。 图图1.10 C/S结构的
49、数据库系统结构的数据库系统4 4B/SB/S数据库系统数据库系统 在在B/S结结构构中中,客客户户端端采采用用标标准准通通用用的的浏浏览览器器,服服务务器器端端有有Web服服务务器器和和数数据据库库服务器。服务器。 用用户户通通过过浏浏览览器器,按按照照HTTP向向Web服服务务器器发发出出请请求求,Web服服务务器器对对浏浏览览器器的的请请求求进进行行处处理理,然然后后将将用用户户所所需需信信息息返返回回给给浏浏 览器。览器。 B/S数据库系统如图数据库系统如图1.11所示。所示。图图1.11 B/S结构的数据库系统结构的数据库系统1.5.2 1.5.2 常见的数据库管理系统常见的数据库管理
50、系统 目前常用的数据库系统有许多种,如目前常用的数据库系统有许多种,如Microsoft Access、Visual FoxPro、SQL Server、Oracle、Sybase、Informix等。等。 根据其功能可分为两大类:小型数据根据其功能可分为两大类:小型数据库管理系统和大型数据库管理系统。库管理系统和大型数据库管理系统。1 1小型数据库管理系统小型数据库管理系统 (1 1)AccessAccess。 Access是目前非常流行的小型桌面数是目前非常流行的小型桌面数据库管理系统,是办公软件中的重要组成据库管理系统,是办公软件中的重要组成部分之一。部分之一。 (2 2)Visual
51、FoxProVisual FoxPro。 Visual FoxPro是新一代小型数据库管是新一代小型数据库管理系统的典型代表,具有强大的功能、完理系统的典型代表,具有强大的功能、完整而丰富的工具、较高的处理速度、界面整而丰富的工具、较高的处理速度、界面友好及较好的兼容性。友好及较好的兼容性。 2 2大型数据库管理系统大型数据库管理系统 (1 1)SQL ServerSQL Server。 和其他小型数据库不同,和其他小型数据库不同,SQL Server是一个大型分布式是一个大型分布式/服务器结构的关系数据服务器结构的关系数据库管理信息系统库管理信息系统 (2 2)OracleOracle。 O
52、racle是一个通用的数据库管理系统,是一个通用的数据库管理系统,它不仅具有完整的数据管理功能,还是分布它不仅具有完整的数据管理功能,还是分布式数据库系统,特别支持式数据库系统,特别支持Interent应用。应用。 1.5.3 1.5.3 常见的数据库开发工具常见的数据库开发工具 目目前前,比比较较流流行行的的数数据据库库编编程程工工具具很很多多,如如Visual Basic、Delphi、PowerBulider等等通用语言,各有所长、各具特色和优势。通用语言,各有所长、各具特色和优势。 常用的常用的Web数据库开发技术主要有:数据库开发技术主要有:ASP(Active Server Page)、)、JSP(Java Server Page)和)和PHP(Personal Home Page)。)。