单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,VFP,程序设计,第章,数据库基本理论,教学内容。,数据库基础理论。,Visual FoxPro 6.0,的基本操作。,结构化程序设计的基本方法。,面向对象可视化编程方法、步骤。,应用系统开发的方法、步骤。,本 章 要 点,信息、数据和数据处理,数据库,和,数据模型,数据库管理系统,数据库应用系统,数据库系统及体系结构,信息、数据和数据处理,1.信息与数据,信息(,Information,),是以数据为载体的客观世界实际存在的事物、事件或概念在人们头脑中的反映。,数据(,Data,),是反映客观事物属性的记录,是信息的载体。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。,数据与信息的区别:,信息是有用的数据,数据是信息的表现形式。,信息是通过数据符号来传播的,数据如不具有知识性和有用性则不能称其为信息。,用数据符号表示信息,其形式通常有三种:,数值型数据,,即对客观事物进行定量记录的符号,如体重、年龄、价格等;,字符型数据,,即对客观事物进行定性记录的符号,如姓名、单位、地址等;,特殊型数据,,如声音、视频、图像等。,信息、数据和数据处理,从计算机的角度看,数据泛指那些可以被计算机接受并能够被计算机处理的符号。,2,.,数据处理,随着计算机技术的发展,计算机系统从单一的数值计算逐渐扩展到了数据处理的各个领域。,所谓,数据处理,实际上就是,利用计算机对各种类型的数据进行处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。,数据处理的目的是从大量的、原始的数据中获得我们所需要的资料并提取有用的数据成份,作为行为和决策的依据,。,信息、数据和数据处理,数据处理技术的发展大致经历了以下三个阶段:,(1)人工管理阶段,(2)文件管理阶段,(3)数据库管理阶段,(,1)人工管理阶段,这个阶段处理的数据量很小,程序员只能自己编程管理数据,并将他们与程序紧密结合在一起,程序与数据相互依赖,无法实现共享。,数据,程序,a.,人工管理,信息、数据和数据处理,人工管理方式,出现在计算机应用于数据管理的初期。,由于没有必要的软件、硬件环境的支持,用户只能直接在裸机上操作。用户的应用程序中不仅要设计数据处理的方法,还要阐明数据在存贮器上的存贮地址。,在这一管理方式下,用户的应用程序与数据相互结合不可分割,当数据有所变动时程序则随之改变,程序的独立性差;另外,各程序之间的数据不能相互传递,缺少共享性,因而这种管理方式既不灵活,也不安全,编程效率很低。,信息、数据和数据处理,(2)文件管理阶段,文件管理方式即把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。,程序,数据,b.,文件管理,文件管理系统,是一个独立的系统软件,它是应用程序与数据文件之间的一个接口。,在这一管理方式下,应用程序通过文件管理系统对数据文件中的数据进行加工处理。应用程序的数据具有一定的独立性,也比手工管理方式前进了一步。,但是,数据文件仍高度依赖于其对应的程序,不能被多个程序所通用。由于数据文件之间不能建立任何联系,因而数据的通用性仍然较差,冗余量大,。,信息、数据和数据处理,(3)数据库管理阶段,数据库系统管理方式即对所有的数据实行统一规划管理,形成一个数据中心,构成一个数据仓库,数据库中的数据能够满足所有用户的不同要求,供不同用户共享。,程序,c.,数据库管理,数据库,数据库管理系统,数据库,程序,在数据库系统管理的系统环境下,应用程序对数据的管理和访问灵活方便,而且数据与应用程序之间完全独立,使程序的编制质量和效率都有所提高;由于数据文件间可以建立关联关系,数据的冗余大大减少,数据共享性显著增强,。,信息、数据和数据处理,采用数据库系统管理具有以下优点:,(1)编制程序极为简单。,(2)程序中不需要了解数据的数量和顺序,只需要知道你,准备操作的那部分数据的名字及数据类型。,(3)可直接对数据的某一部分分量进行操作,而无需知道,全面的数据结构、其他分量的个数、名字和数据类型。,(4)程序将无需随数据结构的改变而修改。,信息、数据和数据处理,与文件系统比较,数据库系统管理具有以下特点:,1、数据的结构化,在文件系统中,数据在整体上是没有结构的;数据库系统则不同,在同一数据库中的数据文件是有联系的,且在整体上服从一定的结构形式。,2、数据共享,共享是数据库系统的目的,也是他的重要特点。一个库中的数据不仅可为同一企业或机构之内的各个部门所共享,也可为不同单位、地域甚至不同国家的用户所共享。而在文件系统中,数据一般是由特定的用户所专用的。,信息、数据和数据处理,与文件系统比较,数据库系统管理具有以下特点:,3、数据独立性,在文件系统中,数据和应用程序相互依赖,一方的改变总是要影响另一方的改变。数据库系统则力求减小这种相互依赖,实现数据的独立性。,4、可控冗余度,数据专用时,每个用户拥有并使用自己的数据,难免有许多数据相互重复,这就是冗余。实现共享后,不必要的重复将全部消除,但为了提高查询效率,有时也保留少量重复数据,其冗余度是可调节的。,信息、数据和数据处理,所谓,数据库,,,就是以一定的组织方式将相关的数据组织存储在一起形成的、能为多个用户共享的、与应用程序彼此独立的一组相关数据的集合。,数据库的性质是由其中的数据模型决定的。,客观事物的普遍联系性决定了作为事物属性记录符号的数据与数据之间也存在着一定的联系性。具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是,数据模型,。,数据库和数据模型,常用的数据模型有,层次模型、网络模型和关系模型,三种。,人才管理中心,北京市,国有企业界,科研机构,高等院校,广东省,黑龙江省,上海市,1层次模型,层次模型表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的,有向树结构,。,层次模型象一棵倒置的树,根结点在上,层次最高;子结点在下,逐层排列。,数据库和数据模型,2,网状模型,网状模型是层次模型的扩展,表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。,网状模型可以表示较复杂的数据结构,即可以表示数据间的纵向关系与横向关系。这种数据模型在概念上、结构上都比较复杂,操作上也有很多不便。,专业分类,地区分布,人才编号,地区编号,地区名称,人才编号,专业编号,专业名称,专门人才,自然情况,人才编号,姓名,年龄,姓名,学历,专业名称,专门人才,专业特长,职称,姓名,专业名称,特殊成就,成就,数据库和数据模型,3,关系模型,用,二维表格,作为基本的数据结构,通过公共的关键字段来实现不同二维表之间(或,“,关系,”,之间)的数据联系。,数据库和数据模型,关系模型的主要特点有:,关系中每一数据项不可再分,是最基本的单位;,每一竖列数据项是同属性的。列数根据需要而设,且各列的顺序是任意的;,每一横行记录由一个事物的诸多属性项构成。记录的顺序可以是任意的;,一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行。,数据库和数据模型,数据库的分类,数据库和数据模型,前面介绍的数据模型是对数据库如何组织的一种模型表示,数据模型的主要特征是数据结构,因此数据模型的确定,就等于确定了数据间的关系,即数据库的框架。有了数据间的关系框架,再把表示客观事物具体特征的数据装入框架中,就形成了数据库。,数据库的性质是由其中的数据模型决定的。在数据库中的数据如果依照层次模型进行数据存储,则该数据库为,层次型数据库,;如果依照网状模型进行数据存储,则该数据库为,网状数据库,;如果依照关系模型进行数据存储,则该数据库为,关系数据库,。,Visual FoxPro,数据库管理系统所管理的数据,都是依照关系模型进行存储的,因此其数据库为关系数据库。,数据库的分类,数据库和数据模型,数,据,库,非关系型,关系型,层次型数据库,网状数据库,关系数据库,数据库系统的分代,非关系型,(层次、网状),关系型,RDBS,第一代,第二代,第三代,对象关系,数据库系统,ORDBS,层次数据库:采用树作为数据结构.,网状数据库:采用图作为数据结构.,一次查询只能访问一个记录.,(,R,elational Database Systems,),采用线性表即表格来组织数据,采用的每一个表称作一个关系,表的一行称为一个记录,代表一个实体,而每一列称为字段,代表一个实体的属性.,一次查询仅用一条命令或语句,就可以访问整个关系(二维表),效率提高。通过多表联合操作,可以对有关联的若干表实现,“,关联,”,查询.,(,object rational database systems),除包含第二代数据库系统功能外,还应支持正文,图象,声音等数据类型.,支持类,继承,函数/方法等对象机制.,提供高度集成的,可支持客户机/服务器应用的用户接口,.,关系数据库,数据库和数据模型,关系数据库(,Relation Database,),是若干个依照关系模型设计的数据表文件的集合。,也就是说,关系数据库是由若干张完成关系模型设计的二维表组成的。一张二维表为一个数据表,数据表包含数据及数据间的关系。,一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成的。,在关系数据库中,每一个数据表都具有相对的独立性,这一独立性的唯一标志是数据表的名字,称为表文件名。,关系数据库的组成,数据库和数据模型,关系数据库,*.,dbc,数据表一,数据表二,数据表三,记录,记录,记录,数据库和数据模型,关系数据库数据的规范化,关系模型是以关系集合理论中重要的数学原理为基础的,通过创建某一关系中的规范化准则,既可以方便数据库中数据的处理,又可以给程序设计带来方便。,这一规范化准则称为数据规范化(,Data Normalization)。,关系模型的规范化理论是研究如何将一个不好的关系模型转化为一个好的关系模型的理论,它是围绕范式而建立的。,规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以化分为五个等级,分别称为第一范式(1,NF),,第二范式(2,NF),,第五范式(5,NF),,其中,,NF,是(,normal form),的缩写。通常在解决一般性问题时,只要把数据规范到第三个范式标准就可以满足需要。,数据库和数据模型,关系数据库数据的规范化,关系模型规范化的三条原则如下:,(1)第一范式:在一个关系中,消除重复字段,且各字段都是不可分的基本数据项;,(2)第二范式:若关系模型属于第一范式,则关系中每一个字段都完全依赖于主关键字段的每一部分;,(3)第三范式:若关系模型属于第一范式,且关系中所有非主关键字段都只依赖于主关键字段。,以下是某专门人才管理中心有关专门人才的信息,(如表1-1所示)。,表,1信息中心专门人才基本情况一览表,自然情况,专业,成果和成就,编号,姓名,性别,出生日期,工资现状,党员否,专业,专业,年限,职称,英语水平,名称,类别,出处,bj10001,刘,伟,箭,男,1960.08.23,20000,T,计,算,机,应,用,教授,精通,略,略,略,略,略,略,略,略,略,略,略,略,略,略,略,J104010,黄,晓,远,男,1970.08.12,10000,F,财,政,税,收,副教授,精通,略,略,略,略,略,略,略,略,略,略,略,略,略,略,略,规范化的基本思想是逐步消除数据依赖关系中不合适的部分,使依赖于同一个数据模型的数据达到有效的分离。,遵循数据规范化原则,为了方便、有效地使用这些信息资源,可以将表1-1分成三个独立的数据表:表1-2、表1-3及表1-4,使每一个数据表都具有独立的属性,同时又依赖于共同的关键字段“编号”;并且使数据表间保持一定的关联关系,且三个数据表中的数据又能体现表1-1中的全部信息。,三个独立的数据表的内容如下:,