《visualfoxpro数据库技术及应用第1章》由会员分享,可在线阅读,更多相关《visualfoxpro数据库技术及应用第1章(41页珍藏版)》请在金锄头文库上搜索。
1、Visual FoxPro 数据库技术及应用,杨 帆 email: 参考书籍: 曾碧卿等,Visual FoxPro数据库技术及应用,机械工业出版社,要 求,了解数据库的基本原理 掌握Visual Foxpro 的基本功能和操作 认真完成课外作业及上机操作 高级 以Foxpro二级考试为目标 自学其他数据库系统,如SQL,第一章 数据库基础理论,本章主要介绍数据处理技术的发展、数据模型及关系数据库的基本概念。,本 章 要 点,1.1 数据管理技术的发展 一、数据及数据处理,数据:是指存储在某种媒体上能够识别的物理符号,是对客观事物特性和特征的一种抽象的、符号化的表示。 信息:指数据经过加工处理
2、后所获取的有用数据。 数据处理:是指数据通过加工并获取有用信息的过程,也称信息加工或信息处理。,二、数据管理技术的发展,数据管理技术发展的四阶段 1.人工管理阶段 2.文件管理阶段 3.数据库系统阶段 4.分布式数据库系统阶段,1、人工管理阶段,在这种管理方式下,数据和程序不具有独立性,应用程序与数据相互结合不可分割,当数据有所变动时程序则随之改变,程序的独立性差,一组数据对应一组程序,数据不宜长期保存,程序运行结束后就退出计算机系统,一个程序中的数据无法被其他程序利用,各程序之间的数据不能相互传递,缺少共享性。,应用程序1,数据集1,应用程序2,应用程序3,数据集2,数据集3,2、文件管理阶
3、段,文件管理方式即把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。 文件管理系统是一个独立的系统软件,它是应用程序与数据文件之间的一个接口,应用程序通过文件管理系统进行数据文件的建立、存取、修改等。,应用程序的数据具有一定的独立性,但是数据文件仍高度依赖于其对应的程序,不能被多个程序所通用。由于数据文件之间不能建立任何联系,因而数据的通用性仍然较差,数据冗余度大。数据分散在各文件中,无集中管理机制,缺乏对数据操作的控制方法,故数据安全性、完整性较差;另外每个数据文件仅限于一定的应用,不易扩充,不能反应信息之间的内在联系,所以缺乏灵活性。,3
4、、数据库阶段,数据库(DBS)的组织是面积整个系统,形成一个数据中心一个数据仓库,数据库中的数据能够满足所有用户的不同要求,供不同用户共享。 在这一管理方式下,应用程序不再只与一个孤立的数据文件相对应,而是通过数据库管理系统(DBMS)实现逻辑文件与物理数据之间的映射。,4.分布式数据库系统阶段,分布式数据库系统是数据库技术和计算机网络技术紧密结合的产物质,是一个逻辑上统一、地域上分布的数据集合,是计算机网络环境中各个结点局部数据库的逻辑集合,同时受分布式数据库管理系统的控制和管理。 B/S C/S,1.2 数据模型,1、实体:客观存在并且可以相互区别的事物。它可以是事物本身,也可以是抽象的事
5、件。 2、实体的属性:描述实体的特性。 3、实体集和实体型:属性值的集合表示一个实体,而属性的集合表示一种实体类型,称为实体型。同类型的实体的集合,称为实体集。,一、数据模型,数据模型是表示现实世界中的各种事物及其之间的各种联系;它是现实世界数据特征的抽象;它是指反映客观事物及其之间联系的数据的结构和形式;是数据库管理系统用来表示实体及实体间联系的方法。 事物(实体)之间的三种联系 1、一对一联系(1:1) 2、一对多联系(1:N) 3、多对多联系(M:N),二、数据模型的分类,数据库系统所支持的常见的数据模型有层次模型、网状模型和关系模型三种。当今最流行的数据库模型是关系模型。 本课程所介绍
6、的Visual FoxPro(以下简称VFP) 就属于关系模型。,1、层次模型,层次模型(hierarchical model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。 层次模型是树型结构,根结点在上,自顶向下层次分明。 其主要特征如下: .1、有且仅有一个根结点无双亲。 .2、根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。反映了客观事物之间“一对多”的联系。,层次模型的示例如图 :,2、网络模型,网络模型(network model)是层次模型的扩展,表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。是以记录为结点的网络结构。 其主要特征如
7、下: .1、有一个以上的结点无双亲。 .2、至少有一个结点有多个双亲。反映了客观事物间的“多对多”的联系,但是结构和使用很复杂。,网状模型的示例如图:,从用户的角度来看,关系实际上就是一个二维表。,3.关系模型,3.关系模型,用二维表结构来表示实体以及实体之间联系的模型称为关系模型。 关系模型的主要特点有: 关系中每一数据项不可再分,是最基本的单位; 每一竖列数据项是同属性的。列数根据需要而设,且各列的顺序是任意的; 每一横行记录由一个事物的诸多属性项构成。记录的顺序可以是任意的; 一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行。,关系模型的示例如图:,某部门专门人才基本情
8、况表,某地区专门人才基本情况表,关系模型中的术语,关系(relation):关系实际上就是一个二维表 元组(tuple):二维表中水平方向的行称为元组. 属性(attribute):二维表中垂直方向的列称属性 分量:元组中的一个属性值。 键(key):在一个关系中能够唯一确定一个元组的属性或属性的组合,就是该关系的键,亦称关键字。 域(domain):属性的取值范围,即不同元组对同一个属性的取值所限定的范围。 关系模式:对关系的描述,一般表不为:关系名(属性1,属性2,属性3,属性1),关系模型要求必须具备以下几个约束条件,1、表格中的每一个数据项不可再分,是最基本的单位。 2、各列都有唯一的
9、属性名和不同的属性值。 3、每行和列的排列次序是无关紧要的。 4、一个表格中不允许有完全相同的行出现。,1.3 关系型数据库的基础知识,数据库 数据库管理系统 数据库系统 关系型数据库,1、数据库(DB),数据库 (Data Base):是以一定组织方式(结构)存储在计算机存储介质上,能为多个用户共享、与应用程序彼此独立的相互关联的数据的集合。,2、数据库管理系统(DBMS),数据库管理系统(DBMSData Base Management System):是处理数据库存取和各种管理控制的系统软件,是数据库系统的中心枢纽。用户对数据库进行的各种操作数据库的建立、使用和维护,都是在DBMS的统一
10、管理和控制下进行的。它提供数据库操纵语言,使用数据管理系统的语言可以进行数据库的定义、描述、使用、维护等。,DBMS的组成部分,1、数据描述语言(DDL):用户通过它可以方便地对数据库中的数据对象进行定义 2、数据操纵语言(DML):用户通过使用DML实现对数据库数据的存取、检索、插入、删除和修改操作 3、数据库运行管理程序:负责控制数据库运行 4、维护数据库的程序:用于维护数据库,3、数据库系统(DBS),数据库系统(Data Base System):是具有数据库、数据库管理系统的计算机系统。它是由计算机硬件系统、数据库、数据库管理系统、操作系统和用户(数据库管理员、应用设计人员、最终用户
11、)组成。DBMS是数据库系统中最重要的核心软件。,DBS的特点,1.数据共享 2.减少数据冗余(可控冗余度) 3.具有较高的数据独立性 4.加强了对数据安全性和完整性的保护 5.数据结构化,4、关系型数据库,1、实体:客观存在并且可以相互区别的事物。实体可以是实际和事物,也可以是抽象的事件。 2、实体的属性:描述实体的物特性称为属性。 3、实体集和实体型: 属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。同类型的实体的集合,称为实体集。,实体间的联系及联系的种类,实体之间的对应的关系称为联系,它反映现实世界事物之间的相互关联。 实体间联系的种类是指一个实体型中可能出现的每
12、一个实体与另一个实体中多少个具体实体存在联系。实体间的联系可以分为三大类: 1、一对一联系(1:1) 2、一对多联系(1:N) 3、多对多联系(M:N),关系运算,一、传统的集合运算 1、并:属于两个关系的元组组成的集合。 2、差:R差S是由属于R但不属于S的元组组成的集合。 3、交:R交S是既属于R又属于S的元组组成的集合。,要求:两关系相容即其度(列)数相同,相应属性取自同一域,即两关系具有相同的关系模式 例: R S,关系运算,下面介绍关系数据库中的关系运算: 1. 选择(横向)(selection) 选择运算是从关系中选取满足一定条件的纪录组成的集合,其运算结果是一个新的关系。也就是说
13、,对数据表中的记录进行筛选,使操作只对选中的记录有效。选择是从行的角度进行的运算,即从水平方向选取满足一定条件的纪录,其运算结果是一个新的关系。其关系模式不变,但其中的元组是原关系的一个子集,在VFP中可以使用命令中的、 FOR 子句或通过命令 SET FILTER TO 条件来设置过滤表达式,选择满足条件的记录。 例如从学生信息表关系中选取所有计算机系学生的记录显示。 命令: DISP ALL FOR 系名=“计算机系“,命令:DISP ALL FOR 系名=“计算机系“,2. 投影 (纵向选择),投影运算是从关系中选取所需要的属性组成一个新的关系。即根据用户的要求选择数据表中的某些字段作为
14、操作对象。 投影运算是在一个关系中进行垂直选择,选取关系中元组的某几列的值。,在FoxPro中通过在命令中使用 FIELDS 字段名表子句,或者通过命令 SET FIELDS TO 字段名表,使操作仅限于字段名表中列出的字段。 例如从学生信息表关系中选取所有记录的系名和姓名字段显示。 命令: DISP ALL FIELDS 系名,姓名,3. 连接,连接运算是从两个关系选取满足一定连接条件的元组集合。在数据表中就是根据用户的指定,将两个数据表中的某些或全部字段,按照关键字段连接生成一个新的数据表文件。 FoxPro中连接运算是通过 JOIN 命令或SET RELATION 等命令实现的。 格式:join with to for fields 来实现其操作,其条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。,学生情况,选课情况,以编号为关键字连接,关系运算的区别,选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。联接运算需要两个表作为操作对象。如果需要联接两个以上的表,应当两两进行联接。,