《chap1数据库系统基础知识.ppt》由会员分享,可在线阅读,更多相关《chap1数据库系统基础知识.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件技术及数据库软件技术及数据库教师:鲁小丫教师:鲁小丫E_mail:E_mail:lulu_ _第一章第一章 数据库系统概述数据库系统概述在信息时代,人们广泛使用计算机处理工作和日常生活中的在信息时代,人们广泛使用计算机处理工作和日常生活中的大量信息和数据,利用数据库管理系统开发出应用于各行各大量信息和数据,利用数据库管理系统开发出应用于各行各业的信息管理软件,不仅大大地方便了信息的收集、存储、业的信息管理软件,不仅大大地方便了信息的收集、存储、检索等各种处理工作,也为管理者的正确决策提供了帮助,检索等各种处理工作,也为管理者的正确决策提供了帮助,提高了管理的效率和科学性。提高了管理的效率和
2、科学性。数据库技术是计算机领域发展最迅速、应用最广泛的重要技数据库技术是计算机领域发展最迅速、应用最广泛的重要技术之一。术之一。数据库管理系统数据库管理系统数据库管理系统数据库管理系统是一种以数据库技术为核心的计算机应用系是一种以数据库技术为核心的计算机应用系统,是研究数据共享,实现数据管理或信息处理的软件,是统,是研究数据共享,实现数据管理或信息处理的软件,是计算机技术和信息时代相结合的产物。计算机技术和信息时代相结合的产物。Visual FoxProVisual FoxPro是一种应用广泛的数据库管理系统。是一种应用广泛的数据库管理系统。第一章第一章 数据库系统概述数据库系统概述 信息、数
3、据和数据处理信息、数据和数据处理 数据管理技术的发展数据管理技术的发展 数据库系统基本知识数据库系统基本知识 数据模型数据模型 关系数据库关系数据库1.1 1.1 信息、数据和数据处理信息、数据和数据处理 1.1.1 1.1.1 信息与数据信息与数据 信信息息(InformationInformation)是是客客观观事事物物属属性性的的反反映映。它它所所反反映映的的是是关关于于某某一一客客观观系系统统中中某某一一事物的某一方面属性或某一时刻的表现形式。事物的某一方面属性或某一时刻的表现形式。通通俗俗地地讲讲,信信息息是是经经过过加加工工处处理理并并对对人人类类客观行为产生影响的事物属性的表现
4、形式。客观行为产生影响的事物属性的表现形式。数数据据(DataData)是是反反映映客客观观事事物物属属性性的的记记录录,是是信信息息的的载载体体。对对客客观观事事物物属属性性的的记记录录是是用用一一定定的的符符号号来来表表达达的的,因因此此说说数数据据是是信信息息的的具具体体表现形式。表现形式。上一页下一页 数据与信息在概念上是有数据与信息在概念上是有区别区别的。从信的。从信息处理角度看,任何事物的属性都是通过数息处理角度看,任何事物的属性都是通过数据来表示的,数据经过加工处理后,使其具据来表示的,数据经过加工处理后,使其具有知识性并对人类活动产生决策作用,从而有知识性并对人类活动产生决策作
5、用,从而形成信息。形成信息。从从计计算算机机的的角角度度看看,数数据据泛泛指指那那些些可可以以被被计计算算机机接接受受并并能能够够被被计计算算机机识识别别处处理理的的符符号。号。总总之之,信信息息是是有有用用的的数数据据,数数据据是是信信息息的表现形式,信息是通过数据符号来传播的的表现形式,信息是通过数据符号来传播的。上一页下一页 1.1.2 1.1.2 数据处理数据处理 数数据据处处理理也也称称为为信信息息处处理理。所所谓谓数数据据处处理理,实实际际上上就就是是利利用用计计算算机机对对各各种种类类型型的的数数据据进进行行处处理理。它它包包括括对对数数据据的的采采集集、整整理理、存存储储、分分
6、类类、排排序序、检检索索、维维护护、加工、统计和传输等一系列操作过程。加工、统计和传输等一系列操作过程。数数据据处处理理的的目目的的是是从从大大量量的的、原原始始的的数数据据中中获获得得人人们们所所需需要要的的资资料料并并提提取取有有用用的数据成份,作为行为和决策的依据。的数据成份,作为行为和决策的依据。上一页下一页 人人工工管管理理阶阶段段出出现现在在计计算算机机应应用用于于数数据据管管理理的的初初期期。由由于于没没有有必必要要的的软软件件、硬硬件件环环境境的的支支持持,用用户户只只能能直直接接在在裸裸机机上上操操作作。应应用用程程序序中中不不仅仅要要设设计计数数据据的的逻逻辑辑结结构构,还
7、还要要阐阐明明数数据据在在存存储储器器上上的的存存储储地址。地址。在在这这一一管管理理方方式式下下,应应用用程程序序与与数数据据之之间间相相互互结结合合不不可可分分割割,当当数数据据有有所所变变动动时时程程序序则则随随之之改改变变,独独立立性性差差;另另外外,各各程程序序之之间间的的数数据据不不能能相相互互传传递递,缺缺少少共共享享性性,因因而而这这种种管管理理方方式式既既不不灵灵活活,也也不不安安全,编程效率较差。全,编程效率较差。数据管理技术的发展经历了三个阶段数据管理技术的发展经历了三个阶段:人工管理人工管理;文件管理和数据库管理文件管理和数据库管理1.2 1.2 数据管理技术的发展数据
8、管理技术的发展 文文件件管管理理阶阶段段即即把把有有关关的的数数据据组组织织成成一一种种文文件件,这这种种数数据据文文件件可可以以脱脱离离程程序序而而独独立立存存在在,由由一个专门的文件管理系统实施统一管理。一个专门的文件管理系统实施统一管理。在在这这一一管管理理方方式式下下,应应用用程程序序通通过过文文件件管管理理系系统统对对数数据据文文件件中中的的数数据据进进行行加加工工处处理理。应应用用程程序序与与数数据据文文件件之之间间具具有有一一定定的的独独立立性性,因因此此比比手手工管理方式前进了一步。工管理方式前进了一步。但但是是,数数据据文文件件仍仍高高度度依依赖赖于于其其对对应应的的程程序序
9、,不不能能被被多多个个程程序序所所共共享享。由由于于数数据据文文件件之之间间不不能能建建立立任任何何联联系系,因因而而数数据据的的通通用用性性仍仍然然较较差差,冗冗余量大。余量大。上一页下一页 数数据据库库系系统统管管理理阶阶段段即即对对所所有有的的数数据据实实行行统统一一规规划划管管理理,形形成成一一个个数数据据中中心心,构构成成一一个个数数据据“仓库仓库”。在在这这一一管管理理方方式式下下,应应用用程程序序不不再再只只与与一一个个孤孤立立的的数数据据文文件件相相对对应应,可可以以取取整整体体数数据据集集的的某某个个子子集集作作为为逻逻辑辑文文件件与与其其对对应应,通通过过数数据据库库管管理
10、理系统实现逻辑文件与物理数据之间的映射。系统实现逻辑文件与物理数据之间的映射。上一页下一页 在在数数据据库库系系统统管管理理的的系系统统环环境境下下,应应用用程程序序对对数数据据的的管管理理和和访访问问灵灵活活方方便便,而而且且数数据据与与应应用用程程序序之之间间完完全全独独立立,使使程程序序的的编编制制质质量量和和效效率率都都有有所所提提高高;由由于于数数据据文文件件间间可可以以建建立立关关联联关关系系,数据的冗余大大减少,数据共享性显著增强。数据的冗余大大减少,数据共享性显著增强。三个阶段人工管理文件管理数据库系统时间技术195019601980程序和数据程序文件数据文件数据库数据库管理系
11、统程序1程序2程序3 操作系统、文件系统人工管理人工管理文件管理文件管理数据库管理数据库管理数据库系统的特点数据库系统的特点数据的结构化数据的结构化数据库中采用了特定的数据模型组织数据,数据库系数据库中采用了特定的数据模型组织数据,数据库系统把数据存储于有一定结构的数据库文件统把数据存储于有一定结构的数据库文件 。数据的共享数据的共享数据库中的数据能为多个用户服务。数据库中的数据能为多个用户服务。数据的独立数据的独立用用户户的的应应用用程程序序与与数数据据的的逻逻辑辑结结构构及及数数据据的的物物理理存存储储方式无关。方式无关。数据的统一控制数据的统一控制数据库系统提供了各种控制功能,保证了数据
12、的并发数据库系统提供了各种控制功能,保证了数据的并发控制、安全性和完整性。控制、安全性和完整性。数据库系统的分类数据库系统的分类 (1 1)集中式数据库系统)集中式数据库系统 集中式数据库系统是将数据集中在一个数据库中。集中式数据库系统是将数据集中在一个数据库中。数据在逻辑上和物理上都是集中存放的。所有的用数据在逻辑上和物理上都是集中存放的。所有的用户在存取和访问数据时,都要访问这个数据库。这户在存取和访问数据时,都要访问这个数据库。这种方式访问方便,但通信量大,速度慢。种方式访问方便,但通信量大,速度慢。(2 2)分布式数据库系统)分布式数据库系统 分布式数据库系统是将多个集中式的数据库通过
13、分布式数据库系统是将多个集中式的数据库通过网络连接起来,使各个结点的计算机可以利用网络网络连接起来,使各个结点的计算机可以利用网络通信功能访问其他结点上的数据库资源,使各个数通信功能访问其他结点上的数据库资源,使各个数据库系统的数据实现高度的共享。分布式数据库系据库系统的数据实现高度的共享。分布式数据库系统的主要特点是:系统具有更高的透明度;可靠性统的主要特点是:系统具有更高的透明度;可靠性更高、效率更高;局部与集中控制相结合;系统易更高、效率更高;局部与集中控制相结合;系统易于扩展。于扩展。分布式数据库系统数据与应用程序的关系分布式数据库系统数据与应用程序的关系数据库数据库计算机1数据库计算
14、机2计算机3网络1.3 1.3 数据库系统基本知识数据库系统基本知识 数据库数据库数据库数据库(Data BaseData BaseData BaseData Base,简写为简写为简写为简写为DB)DB)DB)DB)按一定的组织形式存储在一起的相互关联的数据集合。数按一定的组织形式存储在一起的相互关联的数据集合。数 据库具有数据的结构化、独立性、共享性、冗余量小、安据库具有数据的结构化、独立性、共享性、冗余量小、安 全性、完整性和并发控制等基本特点。全性、完整性和并发控制等基本特点。数据库管理系统(数据库管理系统(数据库管理系统(数据库管理系统(DataBaseDataBaseDataBas
15、eDataBase Management System Management System Management System Management System,简称为简称为简称为简称为DBMSDBMSDBMSDBMS)它是一种负责数据库的定义、建立、操纵、管理、维护的它是一种负责数据库的定义、建立、操纵、管理、维护的 软件系统,是软件系统,是数据库系统的核心部分数据库系统的核心部分。数据库管理系统通常由以下几个部分组成:数据库管理系统通常由以下几个部分组成:(1 1)提供了数据定义语言)提供了数据定义语言DDLDDL及其编译和解释程序。及其编译和解释程序。(2 2)数据操纵语言)数据操纵语
16、言DMLDML或查询语言。或查询语言。(3 3)数据库运行管理和控制例行程序。)数据库运行管理和控制例行程序。(4 4)数据字典)数据字典DDDD(Data DictionaryData Dictionary)。)。数据库系统数据库系统数据库系统数据库系统(Data Base SystemData Base SystemData Base SystemData Base System,简写为简写为简写为简写为DBS)DBS)DBS)DBS)指计算机系统引入数据库后的系统构成,是一个具有管理数据库指计算机系统引入数据库后的系统构成,是一个具有管理数据库功能的功能的计算机软硬件综合系统计算机软硬件
17、综合系统。具体地说,主要包括计算机硬件操作。具体地说,主要包括计算机硬件操作系统、数据库系统、数据库(DB)DB)、数据库管理系统数据库管理系统(DBMS)DBMS)和建立在该数据库之上的和建立在该数据库之上的相关软件、数据库管理员和用户等组成部分。相关软件、数据库管理员和用户等组成部分。(1)(1)硬件系统:包括主机、键盘、显示器、外存储器、输入、输出设备等。硬件系统:包括主机、键盘、显示器、外存储器、输入、输出设备等。(2)(2)软件系统:包括系统软件和应用软件。软件系统:包括系统软件和应用软件。(3)(3)数据库是数据库系统的管理对象,为用户提供数据的信息源。数据库是数据库系统的管理对象
18、,为用户提供数据的信息源。(4)(4)数据库管理员是负责管理和控制数据库系统的主要维护管理人员。数据库管理员是负责管理和控制数据库系统的主要维护管理人员。(5)(5)用户是数据库的使用者,他们利用数据库管理系统软件提供的命令用户是数据库的使用者,他们利用数据库管理系统软件提供的命令 访问数据库并进行各种操作。访问数据库并进行各种操作。数据库应用系统(数据库应用系统(数据库应用系统(数据库应用系统(DataBaseDataBaseDataBaseDataBase Application Systems Application Systems Application Systems Applica
19、tion Systems,简称简称简称简称DBASDBASDBASDBAS)它是在它是在DBMSDBMS支持下根据实际问题开发出来的数据库应用软件,支持下根据实际问题开发出来的数据库应用软件,通常是由数据库和应用程序组成。通常是由数据库和应用程序组成。数据库数据库数据库数据库数据库管理系统数据库管理系统数据库管理系统数据库管理系统用户用户用户用户应用程序应用程序应用程序应用程序硬件系统硬件系统硬件系统硬件系统数据库系统数据库系统数据库系统数据库系统数据库应用系统数据库应用系统数据库应用系统数据库应用系统数据库、数据库管理系统、数据库系统、数据数据库、数据库管理系统、数据库系统、数据数据库、数据
20、库管理系统、数据库系统、数据数据库、数据库管理系统、数据库系统、数据库应用系统的关系库应用系统的关系库应用系统的关系库应用系统的关系1.4 1.4 数据模型数据模型数数数数据据据据模模模模型型型型是是数数据据库库系系统统中中用用于于提提供供信信息息表表示示和和操操作作手手段段的的结结构构形形式式。简简单单地地说说,数数据据模模型型是是指指数数据据库库的的组组织织形形式式,它它决决定定了了数数据据库库中中数数据据之之间间联联系的表达方式。系的表达方式。在数据库系统设计时,在数据库系统设计时,数据库的性质是由系统支数据库的性质是由系统支持的数据模型来决定的持的数据模型来决定的。不同的数据模型以不同
21、。不同的数据模型以不同的方式把数据组织到数据库中。组织数据库的数的方式把数据组织到数据库中。组织数据库的数据模型有三种,据模型有三种,层次模型、网状模型、关系模型层次模型、网状模型、关系模型。如果数据库中的数据是依照层次模型进行存储数如果数据库中的数据是依照层次模型进行存储数据,该数据库就称为层次数据库;如果是依照网据,该数据库就称为层次数据库;如果是依照网状模型进行存储数据,该数据库就称为网状数据状模型进行存储数据,该数据库就称为网状数据库;如果是依照关系模型进行存储数据,该数据库;如果是依照关系模型进行存储数据,该数据库就称为关系数据库。库就称为关系数据库。1 层次模型层次模型 层次模型(
22、层次模型(Hierarchical ModelHierarchical Model)表表示数据间的从属关系结构,是一种以记录示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。某一事物的类型为根结点的有向树结构。其主要特征如下:其主要特征如下:仅有一个无双亲的根结点。仅有一个无双亲的根结点。根根结结点点以以外外的的子子结结点点,向向上上仅仅有有一一个父结点,向下有若干子结点个父结点,向下有若干子结点。上一页下一页层次模型的示例如图层次模型的示例如图:人才管理中心北京市国有企业界科研机构高等院校广东省黑龙江省上海市上一页下一页 2 2 网状模型网状模型 网网状状模模型型(Ne
23、twork Network ModelModel)是是层层次次模模型型的的扩扩展展,它它表表示示多多个个从从属属关关系系的的层层次次结结构构,呈呈现现一一种种交交叉叉关关系系的的网网络络结结构构。网网状状模模型型是是以以记记录录为为结结点的网络结构。点的网络结构。其主要特征如下:其主要特征如下:有一个以上的结点无双亲。有一个以上的结点无双亲。至少有一个结点有多个双亲。至少有一个结点有多个双亲。上一页下一页网状模型的示例如图网状模型的示例如图:专业分类地区分布 人才编号地区编号地区名称人才编号专业编号专业名称专门人才自然情况人才编号姓名年龄姓名学历专业名称专门人才专业特长职称姓名专业名称特殊成就
24、成就上一页下一页 3 3 关系模型关系模型 它是以关系(二维表)形式表示实体与实它是以关系(二维表)形式表示实体与实体之间的联系,用一张二维表来描述一个关体之间的联系,用一张二维表来描述一个关系。在二维表中,每一行称为一个系。在二维表中,每一行称为一个记录记录,用,用于表示一组数据项,表中的每一列称为一个于表示一组数据项,表中的每一列称为一个字段或属性,用于表示每列中的数据项。表字段或属性,用于表示每列中的数据项。表中的第一行称为字段名,用于表示每个字段中的第一行称为字段名,用于表示每个字段的名称。的名称。实体:是现实世界中各种事物的抽象。它可实体:是现实世界中各种事物的抽象。它可以是物理存在
25、的事物也可以是抽象的概念。以是物理存在的事物也可以是抽象的概念。上一页下一页学生情况表学生情况表学号学号姓名姓名性别性别出生年月出生年月入校总分入校总分三好生三好生特长特长照片照片s0201101s0201101王小平王小平男男10/23/198410/23/1984590590F Fs0201102s0201102张张 强强男男08/12/198408/12/1984568568T Ts0201103s0201103刘刘 雨雨女女01/02/198501/02/1985565565F Fs0201104s0201104江江 冰冰男男07/24/198407/24/1984570570F Fs
26、0201105s0201105吴红梅吴红梅女女05/12/198405/12/1984595595F Fs0201106s0201106杜杜 海海男男12/12/198312/12/1983578578F Fs0201107s0201107金金 阳阳女女11/07/198311/07/1983550550T Ts0201108s0201108张张 敏敏女女09/30/198409/30/1984586586F Fs0201109s0201109杨杨 然然男男02/15/198502/15/1985569569F Fs0201110s0201110郭晨光郭晨光男男03/18/198303/18/
27、1983592592F F在关系模型中二维表应具有以下特征:在关系模型中二维表应具有以下特征:表中的每一数据项不能再分。表中的每一数据项不能再分。表中每一列的数据类型必须相同。表中每一列的数据类型必须相同。表中每一列的字段名不允许相同。表中每一列的字段名不允许相同。表中的记录和字段顺序可以任意排列。表中的记录和字段顺序可以任意排列。关系模型对数据库的理论和实践产生极大的影响,关系模型对数据库的理论和实践产生极大的影响,它比层次模型和网状模型有明显的优势,是目前最它比层次模型和网状模型有明显的优势,是目前最流行的数据库模型。支持关系模型的数据库管理系流行的数据库模型。支持关系模型的数据库管理系统
28、称为关系数据库管理的系统。统称为关系数据库管理的系统。Visual FoxProVisual FoxPro系统系统就是依照关系模型设计的,因此就是依照关系模型设计的,因此Visual FoxProVisual FoxPro是一是一个关系数据库管理系统。个关系数据库管理系统。上一页下一页1.5 1.5 关系数据库关系数据库关系术语关系术语 关系是建立在数学集合概念基础之上,它是由行和列的二维关系是建立在数学集合概念基础之上,它是由行和列的二维表组成。表组成。关系:关系:关系:关系:是指一个二维表,在是指一个二维表,在VFPVFP中一个关系就称为一个数据表。中一个关系就称为一个数据表。元组:元组:
29、元组:元组:是指表中一行上的所有数据,在是指表中一行上的所有数据,在VFPVFP中一行称为一个记录。中一行称为一个记录。属性:属性:属性:属性:是指表中的一列,在是指表中的一列,在VFPVFP中一列称为一个字段。中一列称为一个字段。域:域:域:域:是指表中属性的取值范围,在是指表中属性的取值范围,在VFPVFP中字段的取值称为一个字中字段的取值称为一个字段的宽度。段的宽度。关键字:关键字:关键字:关键字:是指表中具有惟一标识的属性,是指表中具有惟一标识的属性,在在VFPVFP中具有惟一性取中具有惟一性取值的字段,称为关键字段。值的字段,称为关键字段。关系模式:关系模式:关系模式:关系模式:是对
30、关系的描述,一个关系模式对应一个关系的结构。是对关系的描述,一个关系模式对应一个关系的结构。关系模式的格式:关系模式的格式:关系模式的格式:关系模式的格式:关系名(属性关系名(属性1 1,属性,属性2 2,属性,属性3 3,属性,属性n n)例如,学生情况表的关系模式描述如下:例如,学生情况表的关系模式描述如下:学生情况表(学号,姓名,性别,出生年月,入校总分,三好生,学生情况表(学号,姓名,性别,出生年月,入校总分,三好生,特长,照片)特长,照片)1.5.1 1.5.1 关系运算关系运算 选择 投影 连接上一页下一页选择选择学号姓名性别出生年月入校总分三好生特长照片s0201101王小平男1
31、0/23/1984590Fs0201102张 强男08/12/1984568Ts0201103刘 雨女01/02/1985565Fs0201104江 冰男07/24/1984570Fs0201105吴红梅女05/12/1984595Fs0201106杜 海男12/12/1983578Fs0201107金 阳女11/07/1983550Ts0201108张 敏女09/30/1984586Fs0201109杨 然男02/15/1985569Fs0201110郭晨光男03/18/1983592F 选择运算是从关系中找出满足条件的记录。选择运算是一种选择运算是从关系中找出满足条件的记录。选择运算是一种
32、横向横向的的 操作,它可以根据用户的要求从关系中筛选出满足一定条件的记录,操作,它可以根据用户的要求从关系中筛选出满足一定条件的记录,这种运算可以改变关系表中的记录个数,但不影响关系的结构。这种运算可以改变关系表中的记录个数,但不影响关系的结构。在在 VFPVFP的命令中,可以通过短语的命令中,可以通过短语FORFOR、WHILEWHILE 等实现选择等实现选择 运算。例如,从学生情况表中找出入校总分大于运算。例如,从学生情况表中找出入校总分大于580580分的学生,如分的学生,如 表所示。通过表所示。通过VFPVFP的命令可以从学生情况表中找出入校总分大的命令可以从学生情况表中找出入校总分大
33、 于于580580分的分的4 4个记录(灰色记录)。个记录(灰色记录)。投影投影学号姓名性别出生年月入校总分三好生特长照片s0201101王小平男10/23/1984590Fs0201102张 强男08/12/1984568Ts0201103刘 雨女01/02/1985565Fs0201104江 冰男07/24/1984570Fs0201105吴红梅女05/12/1984595Fs0201106杜 海男12/12/1983578Fs0201107金 阳女11/07/1983550Ts0201108张 敏女09/30/1984586Fs0201109杨 然男02/15/1985569Fs0201
34、110郭晨光男03/18/1983592F表表1-3 1-3 学生情况表学生情况表投影运算是从关系中选取若干属性(字段)组成新的关系。投影运算是一投影运算是从关系中选取若干属性(字段)组成新的关系。投影运算是一种种列向列向的操作,它可以根据用户的要求从关系中选出若干字段组成的操作,它可以根据用户的要求从关系中选出若干字段组成新的关新的关系。系。其关系模式所包含的字段个数往往比原有关系少,或者字段的排列顺其关系模式所包含的字段个数往往比原有关系少,或者字段的排列顺序不同。因此序不同。因此投影运算可以改变关系中的结构投影运算可以改变关系中的结构。在。在VFPVFP的命令中,可以通的命令中,可以通过
35、短语过短语FIELDSFIELDS 等实现投影运算。例如,通过等实现投影运算。例如,通过VFPVFP的命的命令可以从学生情况表(学号,姓名,性别,出生年月,入校总分,三好令可以从学生情况表(学号,姓名,性别,出生年月,入校总分,三好生,特长,照片)关系中只显示姓名、性别、入校总分三个字段。生,特长,照片)关系中只显示姓名、性别、入校总分三个字段。连连 接接 连接运算是将两个关系通过共同的属性名(字连接运算是将两个关系通过共同的属性名(字段名)连接成一个新的关系。连接运算可以实段名)连接成一个新的关系。连接运算可以实现了两个关系的现了两个关系的横向合并横向合并,在新的关系中可以,在新的关系中可以
36、反映出原来两个关系之间的联系。反映出原来两个关系之间的联系。选择和投影运算都属于单目运算,对一个关系选择和投影运算都属于单目运算,对一个关系进行操作;而连接运算属于双目运算,对两个进行操作;而连接运算属于双目运算,对两个关系进行操作。关系进行操作。上一页下一页1.5.2 1.5.2 关系数据库关系数据库 关系数据库关系数据库是由若干依照关系模型设计的二维数据是由若干依照关系模型设计的二维数据表文件的集合。在表文件的集合。在VFPVFP中,一个关系数据库是由若中,一个关系数据库是由若干个数据表组成,每个数据表又是由若干个记录组干个数据表组成,每个数据表又是由若干个记录组成,每个记录由若干个数据项
37、组成。成,每个记录由若干个数据项组成。数据的规范化数据的规范化基本思想是逐步消除数据依赖关系中基本思想是逐步消除数据依赖关系中不合适部分,使得依赖于同一个数据模型的数据达不合适部分,使得依赖于同一个数据模型的数据达到有效的分离。每一个数据表具有独立的属性,同到有效的分离。每一个数据表具有独立的属性,同时又依赖于共同关键字。时又依赖于共同关键字。例如,有下列五张数据表,收集有关学生选课的例如,有下列五张数据表,收集有关学生选课的情况。情况。上一页下一页学生情况表记录了有关学号、姓名、性别、出生年月、入校总分、三好生学生情况表记录了有关学号、姓名、性别、出生年月、入校总分、三好生特长、照片等情况,
38、如特长、照片等情况,如表表1 14 4所示。所示。表表1 14 4 学生情况表学生情况表学号姓名性别出生年月入校总分三好生特长照片s0201101王小平男10/23/1984590Fs0201102张 强男08/12/1984568Ts0201103刘 雨女01/02/1985565Fs0201104江 冰男07/24/1984570Fs0201105吴红梅女05/12/1984595Fs0201106杜 海男12/12/1983578Fs0201107金 阳女11/07/1983550Ts0201108张 敏女09/30/1984586Fs0201109杨 然男02/15/1985569Fs
39、0201110郭晨光男03/18/1983592F选课表记录了有关学号、课程号、成绩等情况,如表选课表记录了有关学号、课程号、成绩等情况,如表1-51-5所示。所示。学号课程号成绩s0201101c11090s0201101c12087s0201102c11080s0201102c15066s0201103c13094s0201103c14050s0201104c11076s0201105c12082s0201105c14070s0201106c11086s0201106c15080 表表1-5 1-5 选课表选课表授课表记录了有关教师号、课程号等情况,如表授课表记录了有关教师号、课程号等情况
40、,如表1-61-6所示。所示。教师号课程号t1101c110t1102c150t1102c160t1103c120t1103c140t1103c160t1104c130t1105c120t1105c140t1105c160 表表1-6 1-6 授课表授课表课程表记录了有关课程号、课程名、课时等情况,如表课程表记录了有关课程号、课程名、课时等情况,如表1-71-7所示。所示。课程号课程名课时c110数学建模80c120计算机网络60c130日语80c140数据库60c150商业会计70c160电子商务50 表表1-7 1-7 课程表课程表 教师情况表记录了有关教师号、姓名、性别、职称、教师情况表
41、记录了有关教师号、姓名、性别、职称、工资、政府津贴等情况,如表工资、政府津贴等情况,如表1-81-8所示。所示。教师号姓名性别职称工资政府津贴t1101周 密男教授3000.00Tt1102陈 静女讲师1500.00Ft1103孙力波男副教授2000.00Ft1104肖 君女教授3000.00Tt1105赵 辉男讲师1500.00F 表表1-8 1-8 教师情况表教师情况表 上述几张数据表收集了有关学生情况、授课上述几张数据表收集了有关学生情况、授课情况、选课情况、教师情况、课程情况等信息。情况、选课情况、教师情况、课程情况等信息。如果将这些数据集中在一个表中,显然会使得表如果将这些数据集中在
42、一个表中,显然会使得表中的数据字段太宽、数据量大、结构复杂,使数中的数据字段太宽、数据量大、结构复杂,使数据可能重复出现,数据的输入、修改和查找都很据可能重复出现,数据的输入、修改和查找都很麻烦,也会造成存储空间的浪费。麻烦,也会造成存储空间的浪费。在关系数据库中,通过数据库管理系统,可在关系数据库中,通过数据库管理系统,可将这些有关的数据表存储在同一个数据库中,将将这些有关的数据表存储在同一个数据库中,将两数据表中具有相同值的字段名之间建立关联关两数据表中具有相同值的字段名之间建立关联关系。如将学生情况表中的系。如将学生情况表中的“学号学号”字段与选课表字段与选课表中的中的“课程号课程号”字
43、段建立关联关系;将选课表中字段建立关联关系;将选课表中的的“课程号课程号”字段与授课表中的字段与授课表中的“教师号教师号”字段字段建立关系等。使每个数据表具有独立性,由使每建立关系等。使每个数据表具有独立性,由使每个数据表保持一定的关联关系。个数据表保持一定的关联关系。上一页下一页1.5.3 1.5.3 完整性控制完整性控制数据库系统在运行的过程中,由于数据输入错误、数据库系统在运行的过程中,由于数据输入错误、程序错误、使用者的误操作、非法访问等各方面原程序错误、使用者的误操作、非法访问等各方面原因,容易产生数据错误和混乱。为保证关系中数据因,容易产生数据错误和混乱。为保证关系中数据的正确、有
44、效使用,需建立数据完整性的约束机制的正确、有效使用,需建立数据完整性的约束机制来加以控制。来加以控制。数据的数据的完整性完整性就是数据使用的正确性和有效性。就是数据使用的正确性和有效性。数据的数据的一致性一致性指关系中数据的多个值要保持一致。指关系中数据的多个值要保持一致。在关系模型中设置的完整性规则保护了数据的完整在关系模型中设置的完整性规则保护了数据的完整性和一致性。性和一致性。完整性规则分为:实体完整性控制、完整性规则分为:实体完整性控制、域完整性控制、参照完整性控制域完整性控制、参照完整性控制。上一页下一页 1 1 实体完整性控制实体完整性控制 实体是关系描述的对象,一行记录一个实体属
45、性的集合。实体是关系描述的对象,一行记录一个实体属性的集合。在关系中用关键字来唯一的标识实体,在关系中用关键字来唯一的标识实体,关键字也就是关关键字也就是关 系模式中的主属性系模式中的主属性。实体完整性规则是:主属性不能取实体完整性规则是:主属性不能取 空值。空值。若主属性取空值,则不可区分现实世界存在的实若主属性取空值,则不可区分现实世界存在的实 体。学号、职工号这些属性都不能取空值。体。学号、职工号这些属性都不能取空值。2 2 域完整性控制域完整性控制 域是关系中域是关系中属性值的定义范围属性值的定义范围。在设计关系模式时定义。在设计关系模式时定义 属性的类型、宽度是基本的完整性控制,进一
46、步的控制属性的类型、宽度是基本的完整性控制,进一步的控制 可保证输入数据的合理有效,如性别属性只允许输入可保证输入数据的合理有效,如性别属性只允许输入“男男”、“女女”,其它字符的输入则认为是无效输入,其它字符的输入则认为是无效输入,拒绝接受拒绝接受。VFPVFP命令中的命令中的VALIDVALID语句可进行这方面的控制。语句可进行这方面的控制。上一页下一页 3 3 参照完整性控制参照完整性控制 在实际的应用系统中,为减少数据的冗余度,常设计在实际的应用系统中,为减少数据的冗余度,常设计几个关系来描述相同的实体,这就存在关系之间的引用参几个关系来描述相同的实体,这就存在关系之间的引用参照,也就
47、是说一个关系属性的取值要参照其他关系。如对照,也就是说一个关系属性的取值要参照其他关系。如对学生信息的描述常用以下三个关系:学生信息的描述常用以下三个关系:学生学生(学号学号,姓名姓名,性别性别,班级班级)课程课程(课程号课程号,课程名课程名)成绩成绩(学号学号,课程号课程号,成绩成绩)上述关系中,课程号不是成绩关系的主关键字,但它上述关系中,课程号不是成绩关系的主关键字,但它是被参照关系课程关系的主关键字,称为成绩关系的外关是被参照关系课程关系的主关键字,称为成绩关系的外关键字。键字。参照完整性规则:外关键字可取空值或取被参照关参照完整性规则:外关键字可取空值或取被参照关系中主关键字值。系中
48、主关键字值。虽然这里规定外关键字课程号可以取空虽然这里规定外关键字课程号可以取空值,但按照实体完整性规则,课程关系中课程号不能取空值,但按照实体完整性规则,课程关系中课程号不能取空值,所以成绩关系中的课程号实际上是不能取空值的,只值,所以成绩关系中的课程号实际上是不能取空值的,只能取课程关系中已存在课程号的值,若取空值,关系之间能取课程关系中已存在课程号的值,若取空值,关系之间就失去了参照的完整性。就失去了参照的完整性。上一页下一页在关系模型理论中在关系模型理论中 在关系数据库中在关系数据库中 关系 数据表 元组 记录 属性 字段 分量 数据项 表表1-3 1-3 模型理论与关系数据库中术语的对照关系模型理论与关系数据库中术语的对照关系上一页思考题思考题 1 1信息和数据是如何定义的?信息和数据是如何定义的?2 2信息和数据有什么区别信息和数据有什么区别?3 3常常用用的的数数据据模模型型有有几几种种,它它们们的的主主要要特特征征是是什什么么?4 4什么是数据库什么是数据库?5 5什么是关系数据库什么是关系数据库?6 6数据库中数据表间的关系有几种数据库中数据表间的关系有几种,是什么是什么?7 7数据库应用系统的主要组成部分是什么数据库应用系统的主要组成部分是什么?