1、12/13/2022.1Visual FoxPro数据库应用技术数据库应用技术12/13/2022.2前言前言 Visual FoxPro 6.0 关系数据库管理系统是新一代关系数据库管理系统是新一代数据库管理系统的杰出代表,以它强大的数据库管理系统的杰出代表,以它强大的性能性能、完整、完整而又丰富的而又丰富的工具工具、超高速的、超高速的速度速度、极其友好的、极其友好的界面界面,以及完备的以及完备的兼容性兼容性等特点,吸引众多的国内外用户,等特点,吸引众多的国内外用户,倍受广大用户的欢迎。倍受广大用户的欢迎。Visual FoxPro 6.0 及它的中文版,是可运行于及它的中文版,是可运行于W
2、indows 95和和Windows NT平台的数据库开发系统平台的数据库开发系统,它它不仅可以简化数据库管理不仅可以简化数据库管理,而且能使应用程序的开发流而且能使应用程序的开发流程更为合理。程更为合理。12/13/2022.3 Visual FoxPro 6.0 使组织数据、定义数据使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。库规则和建立应用程序等工作变得简单易行。用户利用用户利用可视化的设计工具和向导可视化的设计工具和向导,可以快速可以快速创建表单,查询和打印报表。创建表单,查询和打印报表。12/13/2022.4 Visual FoxPro 6.0 还提供了一个集成化的
3、系统开发环境,还提供了一个集成化的系统开发环境,它不仅支持过程式编程技术,而且在语言方面作了强大的扩它不仅支持过程式编程技术,而且在语言方面作了强大的扩充,支持面向对象可视化编程技术。由于充,支持面向对象可视化编程技术。由于Visual FoxPro 6.0 拥拥有功能强大的可视化程序设计工具,使程序设计简单易行。有功能强大的可视化程序设计工具,使程序设计简单易行。控件类:复选框、组合框、命令按钮、编辑框、标签、列控件类:复选框、组合框、命令按钮、编辑框、标签、列表框、文本框、选择按钮等表框、文本框、选择按钮等 frmstudent.cmdquit.enabled=.f.容器类(可以包含其他对
4、象的类):表单、表格、列、页容器类(可以包含其他对象的类):表单、表格、列、页框、页面等框、页面等 12/13/2022.5 本课程是根据教育部提出的本课程是根据教育部提出的非计算机专业非计算机专业计算计算机基础教学三个层次要求,并配合全国计算机等级机基础教学三个层次要求,并配合全国计算机等级考试考试“Visual FoxPro 二级二级”考试大纲的知识要点,考试大纲的知识要点,以以Visual FoxPro 6.0 为主要内容,介绍关系数据库为主要内容,介绍关系数据库管理系统基础理论及应用系统开发知识。不仅介绍管理系统基础理论及应用系统开发知识。不仅介绍数据库基础理论数据库基础理论,介绍了,
5、介绍了Visual FoxPro 6.0 的的基本基本操作操作;而且介绍面向对象可视化;而且介绍面向对象可视化编程编程、应用系统开、应用系统开发的方法、步骤。发的方法、步骤。12/13/2022.6目录目录第一章数据库基础理论第一章数据库基础理论 第二章数据库设计第二章数据库设计第三章第三章Visual FoxPro系统概述系统概述第四章第四章Visual FoxPro操作基础操作基础 第五章第五章项目管理器项目管理器第六章表操作第六章表操作第七章数据库第七章数据库 第第八章八章视图与查询视图与查询第九章报表第九章报表 第十章程序设计第十章程序设计第十一章第十一章SQL语句语句 第十二章表单第
6、十二章表单第十三章应用系统开发实例第十三章应用系统开发实例12/13/2022.7第一章第一章数据库基础理论数据库基础理论返回目录12/13/2022.8本章要点v信息、数据和数据处理信息、数据和数据处理v数据模型数据模型v数据库系统数据库系统v关系数据库及其设计关系数据库及其设计 返回目录12/13/2022.91.1 信息、数据和数据处理信息、数据和数据处理 1.1.1 信息与数据信息与数据 信息(信息(Information)是客观事物属性的反映。)是客观事物属性的反映。它所反映的是关于某一客观系统中某一事物的某一它所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式。
7、方面属性或某一时刻的表现形式。通俗地讲,信息是经过通俗地讲,信息是经过加工处理加工处理并对人类客观并对人类客观行为产生影响的事物属性的表现形式。行为产生影响的事物属性的表现形式。数据(数据(Data)是反映客观事物属性的记录,是)是反映客观事物属性的记录,是信息的信息的载体载体。对客观事物属性的记录是用一定的符。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的号来表达的,因此说数据是信息的具体表现形式具体表现形式。上一页下一页要 点12/13/2022.10信息信息是经过是经过加工后加工后的数据的数据n举例:平均成绩、平均身高、记账凭证等举例:平均成绩、平均身高、记账凭证等n只要
8、对数据加工了就变成了信息,而只要对数据加工了就变成了信息,而不管是否已被使不管是否已被使用用信息信息是对客观世界产生了是对客观世界产生了影响影响的数据(广义),或可的数据(广义),或可改变人们行为的数据改变人们行为的数据n举例:举例:n测量测量体温体温后后n驾驶员知道当前的驾驶员知道当前的车速车速后后或或n不经加工且没被使用的数据仍为数据不经加工且没被使用的数据仍为数据数据数据是是客观客观的,单纯的数据没有实际意义。(需要解的,单纯的数据没有实际意义。(需要解释释)上一页下一页要 点12/13/2022.11 数据与信息在概念上是有区别的。从信息处数据与信息在概念上是有区别的。从信息处理角度看
9、,任何事物的属性都是通过数据来表示理角度看,任何事物的属性都是通过数据来表示的,数据经过加工处理后,使其具有的,数据经过加工处理后,使其具有知识性知识性并对并对人类活动产生人类活动产生决策作用决策作用,从而形成信息。,从而形成信息。从从计算机的角度计算机的角度看,数据泛指那些可以被计看,数据泛指那些可以被计算机接受并能够被计算机识别处理的符号。算机接受并能够被计算机识别处理的符号。总之,总之,信息是有用的数据,数据是信息的表信息是有用的数据,数据是信息的表现形式,信息是通过数据符号来传播的现形式,信息是通过数据符号来传播的。上一页下一页要 点12/13/2022.12 1.1.2 数据处理数据
10、处理 数据处理数据处理也称为也称为信息处理。所谓数据处理,信息处理。所谓数据处理,实际上就是利用计算机对各种类型的数据进行处实际上就是利用计算机对各种类型的数据进行处理。它包括对数据的理。它包括对数据的采集、整理、存储、分类、采集、整理、存储、分类、排序、检索、维护、加工、统计和传输排序、检索、维护、加工、统计和传输等一系列等一系列操作过程。操作过程。数据处理的数据处理的目的目的是从大量的、原始的数据中是从大量的、原始的数据中获得人们所需要的资料并提取有用的数据成份,获得人们所需要的资料并提取有用的数据成份,作为行为和作为行为和决策决策的依据。的依据。上一页下一页要 点12/13/2022.1
11、3 人工管理阶段人工管理阶段出现在计算机应用于数据管理的出现在计算机应用于数据管理的初期。应用程序中不仅要设计数据的初期。应用程序中不仅要设计数据的逻辑结构逻辑结构,还,还要阐明数据在存储器上的要阐明数据在存储器上的存储地址存储地址。在这一管理方式下,当数据有所变动时程序则在这一管理方式下,当数据有所变动时程序则随之改变,随之改变,独立性差独立性差;另外,各程序之间的数据不;另外,各程序之间的数据不能相互传递,缺少共享性,因而这种管理方式既不能相互传递,缺少共享性,因而这种管理方式既不灵活,也不安全,灵活,也不安全,编程效率较差编程效率较差。上一页下一页要 点应用程序1应用程序2应用程序3数据
12、组1数据组2数据组312/13/2022.14 文件管理阶段文件管理阶段即把有关的数据组织成一种即把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。由一个专门的文件管理系统实施统一管理。但是,数据文件仍高度依赖于其对应的程序,不但是,数据文件仍高度依赖于其对应的程序,不能被多个程序所共享。由于数据文件之间不能能被多个程序所共享。由于数据文件之间不能建立任何联系,因而数据的通用性仍然较差,建立任何联系,因而数据的通用性仍然较差,冗余量大冗余量大。上一页下一页要 点操作系统应用程序n应用程序2数据组2数据
13、组n应用程序1数据组1文件管理系统12/13/2022.15 数据库系统管理阶段数据库系统管理阶段即对所有的数据实行统一即对所有的数据实行统一规划管理,形成一个数据中心,构成一个数据规划管理,形成一个数据中心,构成一个数据“仓仓库库”。在这一管理方式下,应用程序不再只与一个孤在这一管理方式下,应用程序不再只与一个孤立的数据文件相对应,可以取整体数据集的某个子立的数据文件相对应,可以取整体数据集的某个子集作为逻辑文件与其对应,通过数据库管理系统实集作为逻辑文件与其对应,通过数据库管理系统实现逻辑文件与物理数据之间的映射。现逻辑文件与物理数据之间的映射。上一页下一页要 点12/13/2022.16
14、 在数据库系统管理的系统环境下,应用程在数据库系统管理的系统环境下,应用程序对数据的管理和访问灵活方便,而且数据与序对数据的管理和访问灵活方便,而且数据与应用程序之间完全独立,使程序的编制质量和应用程序之间完全独立,使程序的编制质量和效率都有所提高;由于数据文件间可以建立关效率都有所提高;由于数据文件间可以建立关联关系,数据的联关系,数据的冗余大大减少冗余大大减少,数据,数据共享性共享性显显著增强。著增强。上一页下一页要 点12/13/2022.171.2 数据模型数据模型 客观事物的这种普遍联系性,决定了作为事物客观事物的这种普遍联系性,决定了作为事物属性记录符号的数据与数据之间也存在着一定
15、的联属性记录符号的数据与数据之间也存在着一定的联系性。具有联系性的相关数据总是按照一定的组织系性。具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。述就是数据模型。从理论上讲,数据模型是指反映客观事物及客从理论上讲,数据模型是指反映客观事物及客观事物间联系的观事物间联系的数据组织的结构和形式数据组织的结构和形式。客观事物。客观事物是千变万化的,表现各种客观事物的数据结构和形是千变万化的,表现各种客观事物的数据结构和形式也是千差万别的,尽管如此,它们之间还是有其式也是千差万别的,尽管如此,它们之间还是有其
16、共同性的。共同性的。上一页下一页要 点12/13/2022.18 1.2.1 层次模型层次模型 层次模型层次模型(Hierarchical Model)表示数据间的从属关系结)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。构,是一种以记录某一事物的类型为根结点的有向树结构。其主要特征如下:其主要特征如下:仅有一个无双亲的根结点。仅有一个无双亲的根结点。根结点以外的子结点,向上仅有一个父结点,向下有若根结点以外的子结点,向上仅有一个父结点,向下有若干子结点干子结点。上一页下一页要 点12/13/2022.19 1.2.2 网状模型网状模型 网状模型网状模型(Netwo
17、rk ModelNetwork Model)是层次模型的扩展,它表示)是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型是以记录为结点的网络结构。状模型是以记录为结点的网络结构。其主要特征如下:其主要特征如下:有一个以上的结点无双亲。有一个以上的结点无双亲。至少有一个结点有多个双亲。至少有一个结点有多个双亲。上一页下一页要 点12/13/2022.20 1.2.3 关系模型关系模型 关系模型关系模型(Relational ModelRelational Model)的所谓)的所谓“关系关系”是有特定含义的。
18、广义地说,任何数据模型都描述是有特定含义的。广义地说,任何数据模型都描述一定事物数据之间的关系。一定事物数据之间的关系。关系模型的所谓关系模型的所谓“关系关系”虽然也适用于这种广虽然也适用于这种广义的理解,但同时又特指那种虽具有相关性而义的理解,但同时又特指那种虽具有相关性而非从非从属性的平行的属性的平行的数据之间按照某种序列排列的集合关数据之间按照某种序列排列的集合关系。系。上一页下一页要 点学号姓名性别班级家庭住址 联系电话99010301 刘中雨女注会北京东城 6395665599010302 林天力男注会北京崇文 6711737899010303 王 平男注会北京丰台 63728912
19、12/13/2022.21 关系模型的主要特点有:关系模型的主要特点有:(1)(1)关系中每一分量不可再分,是最基本的关系中每一分量不可再分,是最基本的数据单位;数据单位;(2)(2)每一竖列的分量是同属性的,列数根据每一竖列的分量是同属性的,列数根据需要而设,且各需要而设,且各列的顺序是任意列的顺序是任意的;的;(3)(3)每一横每一横行行由一个个体事物的诸多属性构由一个个体事物的诸多属性构成,且各成,且各行的顺序可以是任意行的顺序可以是任意的;的;(4)(4)一个关系是一张一个关系是一张二维表二维表,不允许有相同,不允许有相同的属性名,也不允许有相同的元组。的属性名,也不允许有相同的元组。
20、上一页下一页要 点12/13/2022.221.3 数据库系统数据库系统 1.3.1 数据库数据库 数据库(数据库(Data Base)是数据库系统的核心和)是数据库系统的核心和管理对象。管理对象。所谓所谓数据库数据库,就是以一定的组织方式将相关,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。立的一组相关数据的集合。上一页下一页要 点12/13/2022.23 1.3.2 数据库管理系统数据库管理系统 从信息处理的理论角度讲
21、,如果把利用数据库从信息处理的理论角度讲,如果把利用数据库进行信息处理的工作过程,或把掌握、管理和操纵进行信息处理的工作过程,或把掌握、管理和操纵数据库的数据资源的方法看作是一个系统的话,则数据库的数据资源的方法看作是一个系统的话,则称这个系统为数据库管理系统。称这个系统为数据库管理系统。数据库管理系统数据库管理系统通常由三个部分组成:通常由三个部分组成:数据描述语言(数据描述语言(DDL)及其编译程序、数据操)及其编译程序、数据操纵语言(纵语言(DML)或查询语言及其编译或解释程序、)或查询语言及其编译或解释程序、数据库管理例行程序。数据库管理例行程序。上一页下一页要 点12/13/2022
22、.24 用户A1用户A2用户B1用户B2外视图A外模式A外视图B外模式B概念模式 概念视图存储结构定义(内模式)存储数据库(内视图)DBMS由数据库管理员建立和维护的模式数据库系统的体系结构如图所示数据库系统的体系结构如图所示:上一页下一页要 点12/13/2022.25 1.3.4 数据库应用系统的构成数据库应用系统的构成 数据库数据库应用系统应用系统它是由有关的它是由有关的硬件、软件、数硬件、软件、数据和人员四个部分据和人员四个部分组合而形成的。组合而形成的。硬件环境硬件环境是数据库系统的物理支撑,包括是数据库系统的物理支撑,包括CPUCPU、内存、外存及输入内存、外存及输入/输出设备。由
23、于数据库系统承担输出设备。由于数据库系统承担着数据管理的任务,它要在操作系统的支持下工作,着数据管理的任务,它要在操作系统的支持下工作,而且本身包含着数据库管理例行程序、应用程序等,而且本身包含着数据库管理例行程序、应用程序等,因此要求有足够大的内存开销。同时,由于用户的因此要求有足够大的内存开销。同时,由于用户的数据、系统软件和应用软件都要保存在外存上,所数据、系统软件和应用软件都要保存在外存上,所以对外存容量的要求也很高。以对外存容量的要求也很高。上一页下一页要 点12/13/2022.26 软件系统软件系统包括系统软件和应用软件两类。包括系统软件和应用软件两类。系统系统软件软件主要包括数
24、据库管理系统软件、开发应用系统主要包括数据库管理系统软件、开发应用系统的高级语言及其编译系统、应用系统开发的工具软的高级语言及其编译系统、应用系统开发的工具软件等。它们为开发应用系统提供了良好的环境,其件等。它们为开发应用系统提供了良好的环境,其中中数据库管理系统数据库管理系统是连接数据库和用户之间的纽带,是连接数据库和用户之间的纽带,是软件系统的是软件系统的核心核心。应用软件应用软件是指在数据库管理系统的基础上由用是指在数据库管理系统的基础上由用户根据自己的实际需要自行开发的应用程序。户根据自己的实际需要自行开发的应用程序。上一页下一页要 点12/13/2022.27 数据库系统的人员数据库
25、系统的人员是指管理、开发和使用数据是指管理、开发和使用数据库系统的全部人员,库系统的全部人员,主要包括主要包括数据库管理员、系统分数据库管理员、系统分析员、应用程序员和用户。析员、应用程序员和用户。不同的人员涉及不同的数据抽象级别,不同的人员涉及不同的数据抽象级别,数据库数据库管理员管理员负责管理和控制数据库系统;负责管理和控制数据库系统;系统分析员系统分析员负责负责应用系统的需求分析和规范说明,确定系统的软硬件应用系统的需求分析和规范说明,确定系统的软硬件配置、系统的功能及数据库概念设计;配置、系统的功能及数据库概念设计;应用程序员应用程序员负负责设计应用系统的程序模块,根据数据库的外模式来
26、责设计应用系统的程序模块,根据数据库的外模式来编写应用程序;编写应用程序;最终用户最终用户通过应用系统提供的用户接通过应用系统提供的用户接口界面使用数据库。口界面使用数据库。上一页下一页要 点12/13/2022.281.4 关系数据库及其设计关系数据库及其设计 1.4.1 关系数据库关系数据库 关系数据库(关系数据库(Relational Data Base)是若干个)是若干个关系的集合。也可以说,关系数据库是由若干张二关系的集合。也可以说,关系数据库是由若干张二维表组成的。维表组成的。在关系数据库中,将一个关系视为是一张二维在关系数据库中,将一个关系视为是一张二维表,又称其为表,又称其为数
27、据表数据表。一个关系数据库由若干个一个关系数据库由若干个数据表数据表组成,数据表组成,数据表又由若干个又由若干个记录记录组成,而每一个记录是由若干个以组成,而每一个记录是由若干个以字段属性加以分类的字段属性加以分类的数据项数据项组成的。组成的。上一页下一页要 点12/13/2022.29在在关系模型理论关系模型理论中中 在在关系数据库关系数据库中中 关系关系 数据表数据表 元组元组 记录记录 属性属性 字段字段 表表1-3 模型理论与关系数据库中术语的对照关系模型理论与关系数据库中术语的对照关系上一页下一页要 点12/13/2022.30 在数据表中,若某一字段或几个字段的组合值能够在数据表中
28、,若某一字段或几个字段的组合值能够标识一个记录,则称其为标识一个记录,则称其为关键字关键字(或键),当一个数据(或键),当一个数据表有多个关键字时,可从中选出一个作为表有多个关键字时,可从中选出一个作为主关键字(或主关键字(或主键主键)。)。在关系数据库中,数据表之间是具有相关性的。数在关系数据库中,数据表之间是具有相关性的。数据表之间的这种相关性是依靠每一个独立的数据表内部据表之间的这种相关性是依靠每一个独立的数据表内部具有相同属性的字段建立的。一般地,两个数据表之间具有相同属性的字段建立的。一般地,两个数据表之间建立关联关系,是将一个数据表视为建立关联关系,是将一个数据表视为父表父表,另外
29、一个数,另外一个数据表视为据表视为子表子表,其中子表中与父表主关键字段相对应的,其中子表中与父表主关键字段相对应的字段作为字段作为外键外键,数据表之间的,数据表之间的关联就是通过主键与外键关联就是通过主键与外键作为纽带实现关联的。作为纽带实现关联的。上一页下一页要 点12/13/2022.31 1.4.2 关系的规范化关系的规范化 关系模型是以关系集合理论中基本的数学关系模型是以关系集合理论中基本的数学原理为基础的,通过确立关系中的规范化准则,原理为基础的,通过确立关系中的规范化准则,既可以方便数据库中数据的处理,又可以给程既可以方便数据库中数据的处理,又可以给程序设计带来方便。这一规范化准则
30、称为关系规序设计带来方便。这一规范化准则称为关系规范化。范化。关系规范化理论是研究如何将一个不十分关系规范化理论是研究如何将一个不十分合理的关系模型转化为一个合理的关系模型转化为一个最佳的数据关系模最佳的数据关系模型型的理论,它是围绕范式而建立的。的理论,它是围绕范式而建立的。上一页下一页要 点12/13/2022.32 表表1-4 信息中心专门人才基本情况一览表信息中心专门人才基本情况一览表自然情况自然情况专业专业成果和成就成果和成就编号编号姓名姓名性别性别出生出生日期日期工资工资现状现状党员党员否否专业专业专业专业年限年限职称职称英语英语水平水平名称名称 类别类别 出处出处bj10001
31、刘伟箭刘伟箭男男1960.08.2320000T计算机计算机应用应用教授教授精通精通略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略J104010 黄晓远黄晓远男男1970.08.1210000F财政财政税收税收副教副教授授精通精通略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略上一页下一页要 点12/13/2022.33 可以将表可以将表1-41-4分成三个独立的数据表:分成三个独立的数据表:专门人才基本情况一览表(如表专门人才基本情况一览表(如表1-5所示),所示),它收入了信息中心管理的专门人才的自然情况。它收入了信息中心管理的专门人才的自然情况。专门人才专业特长
32、一览表(如表专门人才专业特长一览表(如表1-6所示),所示),它收入了信息中心专门人才的专业特长情况。它收入了信息中心专门人才的专业特长情况。专门人才成就成果情况一览表(如表专门人才成就成果情况一览表(如表1-7所所示),它收入了信息中心专门人才的成就及成果情示),它收入了信息中心专门人才的成就及成果情况。况。上一页下一页要 点12/13/2022.34编号编号姓名姓名性别性别出生日期出生日期工资现状工资现状党员否党员否工作简历工作简历照片照片Bj10001刘伟箭刘伟箭男男1960.08.232000.00T(略略)(略略)Bj11002刘简捷刘简捷男男1958.12.311800.00T(略
33、略)(略略)Gz05001藤波海藤波海男男1956.04.141160.00F(略略)(略略)Gz05002杨行东杨行东男男1949.03.301260.00F(略略)(略略)Jl04001林惠繁林惠繁女女1969.02.038000.00T(略略)(略略)Jl04010黄晓远黄晓远男男1970.08.1210000.00F(略略)(略略)Sy02030李鹏程李鹏程男男1946.02.083000.00F(略略)(略略)Sy02035王国民王国民男男1935.05.205000.00F(略略)(略略)Sh01001金银桥金银桥女女1969.01.242000.00F(略略)(略略)sh0100
34、2林立荞林立荞女女1964.08.164500.00F(略略)(略略)表表5 信息中心专门人才信息中心专门人才基本情况基本情况一览表一览表上一页下一页要 点12/13/2022.35 表表1-6 信息中心专门人才信息中心专门人才专业特长专业特长一览表一览表编号编号专业专业专业年限专业年限职称职称英语水平英语水平Bj10001计算机应用计算机应用20教授教授精通精通Bj11002环境工程环境工程24高级工程师高级工程师 精通精通Gz05001生物工程生物工程30教授教授精通精通Gz05002统计学统计学15副教授副教授一般阅读一般阅读Jl04001财政税收财政税收10教授教授精通精通Jl0401
35、0计算机应用计算机应用10副教授副教授一般阅读一般阅读Sy02030城市规划城市规划30高级工程师高级工程师精通精通Sy02035财政金融财政金融40高级工程师高级工程师精通精通Sh01001建筑设计建筑设计8副教授副教授一般阅读一般阅读sh01002计算机应用计算机应用13副教授副教授一般阅读一般阅读上一页下一页要 点12/13/2022.36 表表1-7 1-7 信息中心专门人才信息中心专门人才成就成果成就成果一览表一览表编号编号成果名称成果名称成果类别成果类别成果出处成果出处Bj10001VF高级编程技术高级编程技术著作著作高等教育出版社高等教育出版社Bj10001专门人才信息管理系统专
36、门人才信息管理系统软件软件中国科学技术协会推广中国科学技术协会推广Bj10001VF编程技巧与常见问题解答编程技巧与常见问题解答著作著作高等教育出版社高等教育出版社Bj10001面向对象编程与系统开发面向对象编程与系统开发著作著作高等教育出版社高等教育出版社Bj10001面向对象编程与系统程序优化面向对象编程与系统程序优化论文论文中国计算机世界中国计算机世界jl04010计算机应用与软件开发计算机应用与软件开发著作著作清华大学出版社清华大学出版社Jl04010数据库原理数据库原理著作著作高等教育出版社高等教育出版社Jl04010计算机网络计算机网络著作著作高等教育出版社高等教育出版社Jl040
37、10中国电子商务发展策略中国电子商务发展策略论文论文计算机应用计算机应用jl04010远程网络教育远程网络教育论文论文计算机应用计算机应用上一页下一页要 点12/13/2022.37 可以看出,若将一些数据集中在一个表中,则表的结构可以看出,若将一些数据集中在一个表中,则表的结构十分复杂,又不能满足关系模型条件;若将其做成一张二维表十分复杂,又不能满足关系模型条件;若将其做成一张二维表形式,就会有许多重复数据出现,造成数据的冗余,这必然导形式,就会有许多重复数据出现,造成数据的冗余,这必然导致数据存储空间的浪费,同样也将使数据的输入、查找和修改致数据存储空间的浪费,同样也将使数据的输入、查找和
38、修改更加麻烦。更加麻烦。相反,依赖关系数据规范化的准则建立相反,依赖关系数据规范化的准则建立多个相互关联的多个相互关联的数据表数据表,并让这些分开的数据表依靠关键字段保持一定的关联,并让这些分开的数据表依靠关键字段保持一定的关联关系,就可以有效地改进上述缺点。关系,就可以有效地改进上述缺点。上一页下一页要 点12/13/2022.38关系数据库的规范化关系数据库的规范化第一范式(第一范式(1NF)12/13/2022.39例例:关系模式 SLC(学号,系名,住处,课程号,成绩)这里码为(学号,课程号)。函数依赖有:(学号,课程号)G学号 系名,(学号,课程号)系名学号住处,(学号,课程号)住处
39、,系名住处(因为每个系的学生只住一个地方)解决的办法是用投影分解把关系模式SLC分解为两个关系模式。SC(学号,课程号,成绩)SL(学号,系名,住处)学号课程号系名住处成绩2NF:关系模式关系模式R1NF,且,且每一个非主属性每一个非主属性完全函数依赖完全函数依赖于码。于码。12/13/2022.40解决的办法:SL(学号,系名,住处)分解为:SD(学号,系名)和DL(系名,住处)学号系名住处3NF:每一个非主属性:每一个非主属性即不部分依赖于码也不传递依赖于码。即不部分依赖于码也不传递依赖于码。12/13/2022.41 表1-5基本情况基本情况表1-7成就成果成就成果表1-6专业特长专业特
40、长一对多一对多一对一一对一专门人才基本情况数据库专门人才基本情况数据库上一页下一页要 点12/13/2022.42 1.4.3 表间关联关系的类型表间关联关系的类型 在一个关系数据库中,若想将依赖于关系模型在一个关系数据库中,若想将依赖于关系模型建立的多个数据表组织在一起,反映客观事物数据建立的多个数据表组织在一起,反映客观事物数据间的多种对应关系,通常将这些数据表放入同一个间的多种对应关系,通常将这些数据表放入同一个数据库中,并建立表间关联。数据库中,并建立表间关联。在同一个数据库中,相关联的表间关系的类型在同一个数据库中,相关联的表间关系的类型有有一对一、一对多和多对一一对一、一对多和多对
41、一3 3种关系。种关系。上一页下一页要 点12/13/2022.43 1一对一关系一对一关系 一对一关系即在两个数据表中选一个相同一对一关系即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表中属性字段作为关键字段,把其中一个数据表中的关键字段称为的关键字段称为主主关关键键字段,该字段值是字段,该字段值是唯一唯一的,而另一个数据表中的关键字段称为的,而另一个数据表中的关键字段称为外外来关来关键键字段,该字段值也是字段,该字段值也是唯一唯一的。的。上一页下一页要 点12/13/2022.44 编号编号 专专 业业 专业年限专业年限 bj10001 计算机应用计算机应用 20 bj11
42、002 环境工程环境工程 24 gz05001 生物工程生物工程 30 gz05002 统计学统计学 15 jl04001 财政税收财政税收 10 编号编号 姓名姓名 性别性别bj10001 刘伟箭刘伟箭 男男 bj11002 刘简捷刘简捷 男男 gz05001 藤波海藤波海 男男 gz05002 杨行东杨行东 男男 jl04001 林慧繁林慧繁 女女一对一(编号)一对一(编号)上一页下一页要 点12/13/2022.45 2一对多关系一对多关系 一对多关系,即在两个数据表中选一个相一对多关系,即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表同属性字段作为关键字段,把其中一个数
43、据表的关键字段称为的关键字段称为主主关关键键字段,该字段值是字段,该字段值是唯一唯一的,而把另一个数据表中的关键字段称为的,而把另一个数据表中的关键字段称为外外来来关关键键字段,该字段值是字段,该字段值是重复重复的。的。上一页下一页要 点12/13/2022.46编号编号 专专 业业 成果类别成果类别 bj10001 VF高级编程技术高级编程技术 著作著作 bj10001 专门人才信息管理系统专门人才信息管理系统 著作著作 bj10001 VF编程技巧与常见问题解答编程技巧与常见问题解答 著作著作 bj10001 面向对象编程与系统开发面向对象编程与系统开发 著作著作 bj10001 面向对象
44、编程与系统程序优化面向对象编程与系统程序优化 论文论文 编号编号 姓名姓名 性别性别bj10001 刘伟箭刘伟箭 男男 bj11002 刘简捷刘简捷 男男 gz05001 藤波海藤波海 男男 gz05002 杨行东杨行东 男男 jl04001 林慧繁林慧繁 女女一对多(编号一对多(编号)上一页下一页要 点12/13/2022.47 3多对一关系多对一关系 多对一关系与一对多关系是类似的,唯多对一关系与一对多关系是类似的,唯一的区别是在两个相关联的数据表中,选择一的区别是在两个相关联的数据表中,选择一个数据表中的关键字段为一个数据表中的关键字段为主主关关键键字段,该字段,该字段值是字段值是重复重
45、复的,与它关联的另一个数据表的,与它关联的另一个数据表中的关中的关键字段为键字段为外外来关来关键键字段,该字段值是字段,该字段值是唯一唯一的。的。上一页下一页要 点12/13/2022.48编号编号 专专 业业 成果类别成果类别 bj10001 VF高级编程技术高级编程技术 著作著作 bj10001 专门人才信息管理系统专门人才信息管理系统 著作著作 bj10001 VF编程技巧与常见问题解答编程技巧与常见问题解答 著作著作 bj10001 面向对象编程与系统开发面向对象编程与系统开发 著作著作 bj10001 面向对象编程与系统程序优化面向对象编程与系统程序优化 论文论文 编号编号 姓名姓名
46、 性别性别bj10001 刘伟箭刘伟箭 男男 bj11002 刘简捷刘简捷 男男 gz05001 藤波海藤波海 男男 gz05002 杨行东杨行东 男男 jl04001 林慧繁林慧繁 女女多对一(编号)多对一(编号)上一页下一页要 点12/13/2022.49 1.4.4 关系的完整性关系的完整性 关系的完整性,即关系中的数据及具有关关系的完整性,即关系中的数据及具有关联关系的联关系的数据间数据间必须遵循的制约和依存关系,必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。以保证数据的正确性、有效性和相容性。关系的完整性主要包括关系的完整性主要包括域完整性、实体完域完整性、实体完整性
47、和参照完整性整性和参照完整性三种。三种。上一页下一页要 点12/13/2022.50 1域完整性域完整性 域完整性是对数据表中域完整性是对数据表中字段属性的约束字段属性的约束,它,它包括字段的包括字段的值域值域、字段的、字段的类型类型及字段的及字段的有效规则有效规则等约束,它是由确定关系结构时所定义的字段的等约束,它是由确定关系结构时所定义的字段的属性决定的。属性决定的。上一页下一页要 点12/13/2022.51 2实体完整性实体完整性 实体完整性是对关系中的记录唯一性,也就实体完整性是对关系中的记录唯一性,也就是是主键主键的约束的约束。准确地说,实体完整性是指关系。准确地说,实体完整性是指
48、关系中的主属性值中的主属性值不能为不能为NullNull且不能有相同值且不能有相同值。上一页下一页要 点12/13/2022.52 3参照完整性参照完整性 参照完整性是对关系数据库中建立关联关参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对系的数据表间数据参照引用的约束,也就是对外键外键的约束。准确地说,参照完整性是指关系的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的中的外键必须是另一个关系的主键有效值,或主键有效值,或者是者是NULLNULL。上一页下一页要 点12/13/2022.53 1.4.5 关系运算关系运算 关系运算是关系运算是以关系为运
49、算对象以关系为运算对象的运算,在关的运算,在关系运算中,变量是关系,运算系运算中,变量是关系,运算结果仍然是关系结果仍然是关系。常见的关系运算有常见的关系运算有选择运算、投影运算和连选择运算、投影运算和连接运算接运算三种。三种。上一页下一页要 点12/13/2022.54 选择运算是从关系中选择运算是从关系中选择某些满足条件的选择某些满足条件的记录记录组成一个新的关系。也可以说,选择运算组成一个新的关系。也可以说,选择运算是在关系是在关系R中选择满足给定条件的元组。中选择满足给定条件的元组。P211数据查询数据查询 select(字段名(字段名(*)from(表)(表)where(条件表达式)
50、(条件表达式)上一页下一页要 点1选择(选择(Select)12/13/2022.55 投影运算是从关系中投影运算是从关系中选择某些字段的所有值选择某些字段的所有值组成一个新的关系。也可以说,投影运算是在关组成一个新的关系。也可以说,投影运算是在关系系R中选择出中选择出若干属性列若干属性列。select(字段名字段名)from(表)(表)注:不需要注:不需要 where(条件表达式)(条件表达式)上一页下一页要 点2投影(投影(Project)12/13/2022.56 连接运算是将两个或多个关系通过连接运算是将两个或多个关系通过连接条件连接条件组成一个新的关系。也可以说,连接运算是在关系组成