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