visualfoxpro数据库应用技术课件_第1页
visualfoxpro数据库应用技术课件_第2页
visualfoxpro数据库应用技术课件_第3页
visualfoxpro数据库应用技术课件_第4页
visualfoxpro数据库应用技术课件_第5页
已阅读5页,还剩382页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,Visual FoxPro数据库应用技术,2018/1/3,2,前言,Visual FoxPro 6.0 关系数据库管理系统是新一代数据库管理系统的杰出代表,以它强大的性能、完整而又丰富的工具、超高速的速度、极其友好的界面,以及完备的兼容性等特点,吸引众多的国内外用户,倍受广大用户的欢迎。 Visual FoxPro 6.0 及它的中文版,是可运行于Windows 95和Windows NT平台的数据库开发系统,它不仅可以简化数据库管理,而且能使应用程序的开发流程更为合理。,2018/1/3,3,Visual FoxPro 6.0 使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。用户利用可视化的设计工具和向导,可以快速创建表单,查询和打印报表。,2018/1/3,4,Visual FoxPro 6.0 还提供了一个集成化的系统开发环境,它不仅支持过程式编程技术,而且在语言方面作了强大的扩充,支持面向对象可视化编程技术。由于Visual FoxPro 6.0 拥有功能强大的可视化程序设计工具,使程序设计简单易行。 控件类:复选框、组合框、命令按钮、编辑框、标签、列表框、文本框、选择按钮等 frmstudent.cmdquit.enabled=.f. 容器类(可以包含其他对象的类):表单、表格、列、页框、页面等,2018/1/3,5,本课程是根据教育部提出的非计算机专业计算机基础教学三个层次要求,并配合全国计算机等级考试“Visual FoxPro 二级”考试大纲的知识要点,以Visual FoxPro 6.0 为主要内容,介绍关系数据库管理系统基础理论及应用系统开发知识。不仅介绍数据库基础理论,介绍了Visual FoxPro 6.0 的基本操作;而且介绍面向对象可视化编程、应用系统开发的方法、步骤。,2018/1/3,6,目录,第一章数据库基础理论 第二章数据库设计第三章Visual FoxPro系统概述第四章Visual FoxPro操作基础 第五章项目管理器第六章表操作第七章数据库,第八章视图与查询第九章报表 第十章程序设计第十一章SQL语句 第十二章表单第十三章应用系统开发实例,2018/1/3,7,第一章,数据库基础理论,返回目录,2018/1/3,8,本章要点,信息、数据和数据处理数据模型数据库系统关系数据库及其设计,返回目录,2018/1/3,9,1.1 信息、数据和数据处理,1.1.1 信息与数据 信息(Information)是客观事物属性的反映。它所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式。 通俗地讲,信息是经过加工处理并对人类客观行为产生影响的事物属性的表现形式。 数据(Data)是反映客观事物属性的记录,是信息的载体。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。,上一页,下一页,要 点,2018/1/3,10,信息是经过加工后的数据举例:平均成绩、平均身高、记账凭证等只要对数据加工了就变成了信息,而不管是否已被使用信息是对客观世界产生了影响的数据(广义),或可改变人们行为的数据举例:测量体温后吃药驾驶员知道当前的车速后加速或减速不经加工且没被使用的数据仍为数据数据是客观的,单纯的数据没有实际意义。(需要解释),上一页,下一页,要 点,2018/1/3,11,数据与信息在概念上是有区别的。从信息处理角度看,任何事物的属性都是通过数据来表示的,数据经过加工处理后,使其具有知识性并对人类活动产生决策作用,从而形成信息。 从计算机的角度看,数据泛指那些可以被计算机接受并能够被计算机识别处理的符号。 总之,信息是有用的数据,数据是信息的表现形式,信息是通过数据符号来传播的。,上一页,下一页,要 点,2018/1/3,12,1.1.2 数据处理 数据处理也称为信息处理。所谓数据处理,实际上就是利用计算机对各种类型的数据进行处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。 数据处理的目的是从大量的、原始的数据中获得人们所需要的资料并提取有用的数据成份,作为行为和决策的依据。,上一页,下一页,要 点,2018/1/3,13,人工管理阶段出现在计算机应用于数据管理的初期。应用程序中不仅要设计数据的逻辑结构,还要阐明数据在存储器上的存储地址。 在这一管理方式下,当数据有所变动时程序则随之改变,独立性差;另外,各程序之间的数据不能相互传递,缺少共享性,因而这种管理方式既不灵活,也不安全,编程效率较差。,上一页,下一页,要 点,2018/1/3,14,文件管理阶段即把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。但是,数据文件仍高度依赖于其对应的程序,不能被多个程序所共享。由于数据文件之间不能建立任何联系,因而数据的通用性仍然较差,冗余量大。,上一页,下一页,要 点,文件管理系统,2018/1/3,15,数据库系统管理阶段即对所有的数据实行统一规划管理,形成一个数据中心,构成一个数据“仓库”。 在这一管理方式下,应用程序不再只与一个孤立的数据文件相对应,可以取整体数据集的某个子集作为逻辑文件与其对应,通过数据库管理系统实现逻辑文件与物理数据之间的映射。,上一页,下一页,要 点,2018/1/3,16,在数据库系统管理的系统环境下,应用程序对数据的管理和访问灵活方便,而且数据与应用程序之间完全独立,使程序的编制质量和效率都有所提高;由于数据文件间可以建立关联关系,数据的冗余大大减少,数据共享性显著增强。,上一页,下一页,要 点,2018/1/3,17,1.2 数据模型,客观事物的这种普遍联系性,决定了作为事物属性记录符号的数据与数据之间也存在着一定的联系性。具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。 从理论上讲,数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。客观事物是千变万化的,表现各种客观事物的数据结构和形式也是千差万别的,尽管如此,它们之间还是有其共同性的。 ,上一页,下一页,要 点,2018/1/3,18,1.2.1 层次模型 层次模型(Hierarchical Model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。 其主要特征如下: 仅有一个无双亲的根结点。 根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。,上一页,下一页,要 点,2018/1/3,19,1.2.2 网状模型 网状模型(Network Model)是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型是以记录为结点的网络结构。 其主要特征如下: 有一个以上的结点无双亲。 至少有一个结点有多个双亲。,上一页,下一页,要 点,2018/1/3,20,1.2.3 关系模型 关系模型(Relational Model)的所谓“关系”是有特定含义的。广义地说,任何数据模型都描述一定事物数据之间的关系。 关系模型的所谓“关系”虽然也适用于这种广义的理解,但同时又特指那种虽具有相关性而非从属性的平行的数据之间按照某种序列排列的集合关系。,上一页,下一页,要 点,2018/1/3,21,关系模型的主要特点有: (1) 关系中每一分量不可再分,是最基本的数据单位; (2) 每一竖列的分量是同属性的,列数根据需要而设,且各列的顺序是任意的; (3) 每一横行由一个个体事物的诸多属性构成,且各行的顺序可以是任意的; (4) 一个关系是一张二维表,不允许有相同的属性名,也不允许有相同的元组。,上一页,下一页,要 点,2018/1/3,22,1.3 数据库系统,1.3.1 数据库 数据库(Data Base)是数据库系统的核心和管理对象。 所谓数据库,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。,上一页,下一页,要 点,2018/1/3,23,1.3.2 数据库管理系统 从信息处理的理论角度讲,如果把利用数据库进行信息处理的工作过程,或把掌握、管理和操纵数据库的数据资源的方法看作是一个系统的话,则称这个系统为数据库管理系统。 数据库管理系统通常由三个部分组成: 数据描述语言(DDL)及其编译程序、数据操纵语言(DML)或查询语言及其编译或解释程序、数据库管理例行程序。,上一页,下一页,要 点,2018/1/3,24,数据库系统的体系结构如图所示:,上一页,下一页,要 点,2018/1/3,25,1.3.4 数据库应用系统的构成 数据库应用系统它是由有关的硬件、软件、数据和人员四个部分组合而形成的。 硬件环境是数据库系统的物理支撑,包括CPU、内存、外存及输入/输出设备。由于数据库系统承担着数据管理的任务,它要在操作系统的支持下工作,而且本身包含着数据库管理例行程序、应用程序等,因此要求有足够大的内存开销。同时,由于用户的数据、系统软件和应用软件都要保存在外存上,所以对外存容量的要求也很高。,上一页,下一页,要 点,2018/1/3,26,软件系统包括系统软件和应用软件两类。系统软件主要包括数据库管理系统软件、开发应用系统的高级语言及其编译系统、应用系统开发的工具软件等。它们为开发应用系统提供了良好的环境,其中数据库管理系统是连接数据库和用户之间的纽带,是软件系统的核心。 应用软件是指在数据库管理系统的基础上由用户根据自己的实际需要自行开发的应用程序。,上一页,下一页,要 点,2018/1/3,27,数据库系统的人员是指管理、开发和使用数据库系统的全部人员,主要包括数据库管理员、系统分析员、应用程序员和用户。 不同的人员涉及不同的数据抽象级别,数据库管理员负责管理和控制数据库系统;系统分析员负责应用系统的需求分析和规范说明,确定系统的软硬件配置、系统的功能及数据库概念设计;应用程序员负责设计应用系统的程序模块,根据数据库的外模式来编写应用程序;最终用户通过应用系统提供的用户接口界面使用数据库。,上一页,下一页,要 点,2018/1/3,28,1.4 关系数据库及其设计,1.4.1 关系数据库 关系数据库(Relational Data Base)是若干个关系的集合。也可以说,关系数据库是由若干张二维表组成的。 在关系数据库中,将一个关系视为是一张二维表,又称其为数据表。 一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成的。,上一页,下一页,要 点,2018/1/3,29,表1-3 模型理论与关系数据库中术语的对照关系,上一页,下一页,要 点,2018/1/3,30,在数据表中,若某一字段或几个字段的组合值能够标识一个记录,则称其为关键字(或键),当一个数据表有多个关键字时,可从中选出一个作为主关键字(或主键)。 在关系数据库中,数据表之间是具有相关性的。数据表之间的这种相关性是依靠每一个独立的数据表内部具有相同属性的字段建立的。一般地,两个数据表之间建立关联关系,是将一个数据表视为父表,另外一个数据表视为子表,其中子表中与父表主关键字段相对应的字段作为外键,数据表之间的关联就是通过主键与外键作为纽带实现关联的。,上一页,下一页,要 点,2018/1/3,31,1.4.2 关系的规范化 关系模型是以关系集合理论中基本的数学原理为基础的,通过确立关系中的规范化准则,既可以方便数据库中数据的处理,又可以给程序设计带来方便。这一规范化准则称为关系规范化。 关系规范化理论是研究如何将一个不十分合理的关系模型转化为一个最佳的数据关系模型的理论,它是围绕范式而建立的。,上一页,下一页,要 点,2018/1/3,32,表1-4 信息中心专门人才基本情况一览表,上一页,下一页,要 点,2018/1/3,33,可以将表1-4分成三个独立的数据表: 专门人才基本情况一览表(如表1-5所示),它收入了信息中心管理的专门人才的自然情况。 专门人才专业特长一览表(如表1-6所示),它收入了信息中心专门人才的专业特长情况。 专门人才成就成果情况一览表(如表1-7所示),它收入了信息中心专门人才的成就及成果情况。,上一页,下一页,要 点,2018/1/3,34,表5 信息中心专门人才基本情况一览表,上一页,下一页,要 点,2018/1/3,35,表1-6 信息中心专门人才专业特长一览表,上一页,下一页,要 点,2018/1/3,36,表1-7 信息中心专门人才成就成果一览表,上一页,下一页,要 点,2018/1/3,37,可以看出,若将一些数据集中在一个表中,则表的结构十分复杂,又不能满足关系模型条件;若将其做成一张二维表形式,就会有许多重复数据出现,造成数据的冗余,这必然导致数据存储空间的浪费,同样也将使数据的输入、查找和修改更加麻烦。 相反,依赖关系数据规范化的准则建立多个相互关联的数据表,并让这些分开的数据表依靠关键字段保持一定的关联关系,就可以有效地改进上述缺点。,上一页,下一页,要 点,2018/1/3,38,关系数据库的规范化,第一范式(1NF),2018/1/3,39,例:关系模式 SLC(学号,系名,住处,课程号,成绩 )这里码为(学号,课程号)。函数依赖有:(学号,课程号)G学号 系名,(学号,课程号) 系名学号住处, (学号,课程号) 住处,系名住处(因为每个系的学生只住一个地方),解决的办法是用投影分解把关系模式SLC分解为两个关系模式。SC(学号,课程号,成绩)SL(学号,系名,住处),学号,课程号,系名,住处,成绩,2NF:关系模式R1NF,且每一个非主属性完全函数依赖于码。,2018/1/3,40,解决的办法: SL(学号,系名,住处)分解为:SD(学号 ,系名)和DL(系名,住处),学号,系名,住处,3NF:每一个非主属性即不部分依赖于码也不传递依赖于码。,2018/1/3,41,专门人才基本情况数据库,上一页,下一页,要 点,2018/1/3,42,1.4.3 表间关联关系的类型 在一个关系数据库中,若想将依赖于关系模型建立的多个数据表组织在一起,反映客观事物数据间的多种对应关系,通常将这些数据表放入同一个数据库中,并建立表间关联。 在同一个数据库中,相关联的表间关系的类型有一对一、一对多和多对一3种关系。,上一页,下一页,要 点,2018/1/3,43,1一对一关系 一对一关系即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表中的关键字段称为主关键字段,该字段值是唯一的,而另一个数据表中的关键字段称为外来关键字段,该字段值也是唯一的。,上一页,下一页,要 点,2018/1/3,44,一对一(编号),上一页,下一页,要 点,2018/1/3,45,2一对多关系 一对多关系,即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表的关键字段称为主关键字段,该字段值是唯一的,而把另一个数据表中的关键字段称为外来关键字段,该字段值是重复的。,上一页,下一页,要 点,2018/1/3,46,一对多(编号),上一页,下一页,要 点,2018/1/3,47,3多对一关系 多对一关系与一对多关系是类似的,唯一的区别是在两个相关联的数据表中,选择一个数据表中的关键字段为主关键字段,该字段值是重复的,与它关联的另一个数据表中的关键字段为外来关键字段,该字段值是唯一的。,上一页,下一页,要 点,2018/1/3,48,多对一(编号),上一页,下一页,要 点,2018/1/3,49,1.4.4 关系的完整性 关系的完整性,即关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。 关系的完整性主要包括域完整性、实体完整性和参照完整性三种。,上一页,下一页,要 点,2018/1/3,50,1域完整性 域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。,上一页,下一页,要 点,2018/1/3,51,2实体完整性 实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。,上一页,下一页,要 点,2018/1/3,52,3参照完整性 参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。,上一页,下一页,要 点,2018/1/3,53,1.4.5 关系运算 关系运算是以关系为运算对象的运算,在关系运算中,变量是关系,运算结果仍然是关系。 常见的关系运算有选择运算、投影运算和连接运算三种。,上一页,下一页,要 点,2018/1/3,54,选择运算是从关系中选择某些满足条件的记录组成一个新的关系。也可以说,选择运算是在关系R中选择满足给定条件的元组。 P211数据查询 select(字段名(*) from(表) where(条件表达式),上一页,下一页,要 点,1选择(Select),2018/1/3,55,投影运算是从关系中选择某些字段的所有值组成一个新的关系。也可以说,投影运算是在关系R中选择出若干属性列。 select(字段名) from(表) 注:不需要 where(条件表达式),上一页,下一页,要 点,2投影(Project),2018/1/3,56,连接运算是将两个或多个关系通过连接条件组成一个新的关系。也可以说,连接运算是在关系R和关系S中选择属性间满足一定条件的元组。 select(字段名) from(表) join (表) on(例如物业费.房号业主.房号)where(条件表达式),上一页,下一页,要 点,3连接(Join),2018/1/3,57,第二章,Visual FoxPro系统概述,返回目录,2018/1/3,58,本章要点,Visual FoxPro的特性 Visual FoxPro的安装与启动 Visual FoxPro系统环境的配置 Visual FoxPro用户界面 Visual FoxPro向导 Visual FoxPro生成器 Visual FoxPro设计器,返回目录,2018/1/3,59,2.1 Visual FoxPro的特性,1用户界面良好 2面向对象编程技术功能强 3快速创建应用程序 4数据库的操作简便 5多个用户可以一起开发程序 6可与其他应用程序交互操作 7独特的开发客户/服务器解决方案 8可以升级早期版本,上一页,下一页,要 点,2018/1/3,60,2.2 Visual FoxPro的安装与启动,2.2.1 安装环境 在安装Visual FoxPro 之前,要了解Visual FoxPro 的硬件和软件必备环境,做好安装前的准备工作。 1硬件环境 2软件环境 3“升迁向导”环境(专业版),上一页,下一页,要 点,2018/1/3,61,2.2.2 Visual FoxPro 的安装 中文Visual FoxPro 可以从CD-ROM或网络上安装。以下介绍三种从CD-ROM上安装Visual FoxPro 的方法。 1直接启动CD-ROM 2直接运行安装程序 3使用Windows 98安装(控制面板),上一页,下一页,要 点,2018/1/3,62,2.2.3 启动Visual FoxPro 启动Visual FoxPro有多种方法,可采用以下三种方式之一。 1从“开始”菜单启动 所有程序 开始(右键属性)开始菜单自定义 2从资源管理器中启动(我的电脑右键) 3从“运行”对话框中启动(开始运行),上一页,下一页,要 点,2018/1/3,63,2.2.4 退出Visual FoxPro (1) 在Microsoft Visual FoxPro主菜单中,打开“文件”菜单,选择“退出”选项; (2) 按Alt+F4组合键; (3) 按Ctrl+Alt+Del组合键,进入“关闭程序”窗口,按“结束任务”按钮; (4) 在Microsoft Visual FoxPro的系统环境窗口,单击其右上角的“退出”按钮; (5) 在“命令”窗口,输入命令Quit。,上一页,下一页,要 点,2018/1/3,64,2.3 Visual FoxPro系统环境的配置,Visual FoxPro系统环境的配置,决定了Visual FoxPro系统的操作环境和工作方式。 Visual FoxPro系统允许用户设置大量参数控制其工作方式。通过设置系统环境,可以添加或删除Visual FoxPro控件、更新Windows Registry注册项、改变选项栏和工具栏、安装ODBC数据源等。 ,上一页,下一页,要 点,2018/1/3,65,打开“选项”窗口的操作步骤,工具,选项,常规,数据,显示,文件位置,表单,项目,控件,确定,上一页,下一页,要 点,2018/1/3,66,在“选项”窗口,有12种不同类别的环境选项卡,每一个选项卡有其特定的环境,又有相应的设置信息的对话窗口,用户可以根据操作的需要通过“选项”窗口中的各种选项卡,确定或修改设置每一个参数,从而确定Visual FoxPro的系统环境。,上一页,下一页,要 点,2018/1/3,67,2.4 Visual FoxPro用户界面,2.4.1 Visual FoxPro的界面 Visual FoxPro界面,是由标题栏、菜单栏、工具栏、工作区、状态栏和命令窗口组成的。 2.4.2 标题栏 标题栏位于屏幕界面的第一行,它包含系统程序图标、主屏幕标题、最小化按钮、最大化按钮和关闭按钮5个对象。,上一页,下一页,要 点,2018/1/3,68,菜单栏,工具栏,命令窗口,状态栏,工作区,标题栏,上一页,下一页,要 点,2018/1/3,69,2.4.3 菜单栏 菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。 当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。,上一页,下一页,要 点,2018/1/3,70,2.4.4 工具栏 Visual FoxPro系统提供了11种常用的工具栏: (1)常用工具栏 (2)布局工具栏 (3)表单控件工具栏 (4)表单设计器工具栏 (5)查询设计器工具栏 (6)视图设计器工具栏 (7)数据库设计器工具栏(8)报表控件工具栏 (9)报表设计器工具栏 (10)调色板工具栏 (11)打印预览工具栏,上一页,下一页,要 点,2018/1/3,71,激活工具栏的操作步骤,显示,工具栏,“常用”,确定,上一页,下一页,要 点,2018/1/3,72,2.4.5 命令窗口 命令窗口位于菜单栏和状态栏之间,是Visual FoxPro系统命令执行、编辑的窗口。在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。 在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。,上一页,下一页,要 点,2018/1/3,73,2.4.6 工作区与状态行 状态行位于屏幕的最底部,用于显示某一时刻的管理数据的工作状态。 (1) Set Status off/on,可控制屏幕上的状态行是否出现。 (2) 如果当前工作区中没有表文件打开,状态行的内容是空白;如果当前工作区中有表文件打开,状态行显示表名、表所在的数据库名、表中当前记录的记录号、表中的记录总数、表中的当前记录的共享状态等内容。,上一页,下一页,要 点,2018/1/3,74,2.5 Visual FoxPro向导,Visual FoxPro系统为用户提供许多功能强大的向导。 用户通过系统提供的各种不同的向导设计器,不用编程就可以创建良好的应用程序界面,并完成许多有关对数据库的操作。 常用的向导设计器有:表向导(P77)、 报表向导(P164) 、表单向导(P232)、查询向导(P155)等。,上一页,下一页,要 点,2018/1/3,75,2.6 Visual FoxPro生成器,Visual FoxPro系统提供的生成器,可以简化创建和修改用户界面程序的设计过程,提高软件开发的质量。每个生成器都由一系列选项卡组成,允许用户访问并设置所选对象的属性。用户可以将生成器生成的用户界面直接转换成程序代码,把用户从逐条编写程序、反复调试程序的工作中解放出来。 常用的生成器有:组合框生成器、命令组生成器、表达式生成器、列表框生成器等。,上一页,下一页,要 点,2018/1/3,76,2.7 Visual FoxPro设计器,Visual FoxPro系统提供的设计器,为用户提供了一个友好的图形界面。用户可以通过它创建并定制数据表结构、数据库结构、报表格式和应用程序组件等。 常用的设计器有:表设计器(P74)、查询设计、视图设计器、列表框生成器、报表设计器、数据库设计器、菜单设计器等。 ,上一页,下一页,要 点,2018/1/3,77,第三章,Visual FoxPro基础,返回目录,2018/1/3,78,本章要点,数据类型 数据存储 函数 表达式,返回目录,输入易犯错误:中文状态的符号,改变标点符号的状态为英文的,2018/1/3,79,3.1 数据类型,3.1.1 字符型 字符型(Character)数据是描述不具有计算能力的文字数据类型,是常用的数据类型之一。 字符型数据由汉字和ASCII字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,最大长度是254个字符。 ,上一页,下一页,要 点,2018/1/3,80,3.1.2 数值型 数值型数据在Visual FoxPro系统中被细分为以下4种类型。 1数值型(Numeric)数据是由数字(09)、小数点和正负号组成。最大长度为20个字符(包括、号和小数点)。 2浮点型(Float)数据是数值型数据的一种,与数值型数据完全等价,只是在存储形式上采取浮点格式且数据的精度要比数值型数据高。,上一页,下一页,要 点,2018/1/3,81,3货币型(Money)数据是数值型数据的一种特殊形式,在数据的第一个数字前冠一个货币符号($)。货币型数据小数位的最大长度是4个字符,小数位超过4个字符的数据,系统将会按四舍五入原则自动截取。 4双精度型(Double)数据是更高精度的数值型数据。它只用于数据表中的字段类型的定义,并采用固定长度浮点格式存储。 5整型(Integer)数据是不包含小数点部分的数值型数据。,上一页,下一页,要 点,2018/1/3,82,3.1.3 日期型 日期型(Date)数据是用于表示日期的数据,长度固定为8个字符。日期型数据包括年、月、日三个部分,每部分间用规定的分隔符分开。表现形式由以下几个SET命令决定。 Set Date To(指定显示格式) Set Century On/Off(是否显示世纪部分) Set Strict date To(是否对数据格式进行检查)set mark to(分隔符号),上一页,下一页,要 点,2018/1/3,83,3.1.4 日期时间型 日期时间型(Date Time)数据是描述日期和时间的数据,长度固定为8个字符。 日期时间型数据除包括日期数据的年、月、日外,还包括时、分、秒以及上午、下午等内容。 3.1.5 逻辑型 逻辑型(Logic)数据是描述客观事物真假的数据,用于表示逻辑判断结果。 逻辑型数据只有真和假两种值,长度固定为1个字符。,上一页,下一页,要 点,2018/1/3,84,3.1.6 备注型 备注型(Memo)数据用于存放较长的字符型数据类型。可以把它看成是字符型数据的特殊形式。 备注型数据没有数据长度限制,仅受限于现有的磁盘空间。它只用于数据表中的字段类型的定义,其字段长度固定为4个字符,而实际数据被存放在与数据表文件同名的备注文件中,长度根据数据的内容而定。,上一页,下一页,要 点,2018/1/3,85,3.1.7 通用型 通用型(General)数据是用于存储OLE对象的数据。通用型数据中的OLE对象可以是电子表格、文档、图片等。 通用型数据长度固定为4个字符,实际数据长度仅受限于现有的磁盘空间。,上一页,下一页,要 点,2018/1/3,86,3.2 数据存储,3.2.1 常量 常量是一个命名的数据项,是在命令或程序中直接引用的实际值,其特征是在所有的操作中其值不变。 常量类型有以下6种: 1数值型常量 123.56 2浮点型常量 -12e+12 3字符型常量“123” 4逻辑型常量.t. .y. 5日期常量04/12/98,2002/03/01 6日期时间型常量(P47),上一页,下一页,要 点,2018/1/3,87,3.2.2 内存变量 内存变量是一般意义下的简单变量。每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置。用户可以通过变量标识符使用内存单元存取数据。 内存变量的类型有数值型、浮点型、字符型、逻辑型、日期型和日期时间型6种,它的定义是通过赋值语句来进行的。,上一页,下一页,要 点,2018/1/3,88,内存变量名的长度可以达到254个字符,是由字母、数字和下划线组成的。如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时,要在其名字前加一个m.或(m-)。 内存变量的赋值和输出,可以使用Store、“=”或“?”等命令进行操作完成。 内存变量的作用域,可以通过Local、Private、Public命令确定,也可以使用系统默认的范围作为内存变量的作用域。,上一页,下一页,要 点,2018/1/3,89,3.2.3 数组变量 数组是一组有序内存变量的集合。 所有的数组元素是用一个变量名命名的一个集合体,而且每一个数组元素在内存中独占一个内存单元,视同一个简单内存变量。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的 在Visual FoxPro系统环境下,同一个数组元素在不同时刻可以存放不同类型的数据,在同一个数组中,每个元素的值可以是不同的数据类型。,上一页,下一页,要 点,2018/1/3,90,3.2.4 字段变量 字段变量就是指数据表中已定义的任意一个字段。(记录由若干个字段组成) 在一个数据表中,同一个字段名下有若干个数据项,而数据项的值取决于该数据项所在记录行的变化,所以称它为字段变量,也有人把字段变量称为字段名变量。 字段变量的数据类型有数值型、浮点型、货币型、整型、双精度型、字符型、逻辑型、日期型、日期时间型、备注型和通用型等。,上一页,下一页,要 点,2018/1/3,91,记录是数据表中一组数据项的集合。 在同一个数据表中可以有若干个记录,每一个记录具有相同的字段个数。在数据表中记录的顺序不影响对记录的操作,上一页,下一页,要 点,3.2.5 记录,2018/1/3,92,3.2.6 对象(第10章) 对象是数据存储器的一种。对象是类的实体,对象也是类的变量,它是任何具有属性和方法的信息的集合。 对象的建立可以通过设计器和Create Object ( )函数实现。,上一页,下一页,要 点,2018/1/3,93,内存变量的作用域是按变量在程序中的作用范围来区分的。 1全局型内存变量用Public命令定义(程序结束也不被释放,保存在内存中) 2局部型变量用Private(私有)命令定义(定义程序中有效,调用时亦有效) 3本地型变量用Local (局部)命令定义(只在定义它的程序中有效,运行完毕,从内存中释放) 4.释放内存变量可用Release、Clear All/Clear Memory命令。,上一页,下一页,要 点,3.2.7 内存变量的作用域(P50),2018/1/3,94,1内存变量的赋值命令 Store To = 2表达式的输出命令 ? (下一行输出)/? ,上一页,下一页,要 点,3.2.8 有关内存变量的操作,2018/1/3,95,3数据表与内存变量间数据的传递命令 在Visual FoxPro系统中,使用Scatter命令或Gather命令,可以实现数据表与内存变量、数组间数据的传递。 Scatter Fields | Fields Like | Fields Except Memo To Blank,上一页,下一页,要 点,2018/1/3,96,2018/1/3,97,3.3 函数,根据每一个函数的功能,可将标准函数大致分为如下11类: 1数值计算函数 2字符处理函数 3数据转换函数 4日期和时间函数 5变量处理函数 6数据库函数 7测试函数 8数据共享函数 9输入和输出函数 10编程函数 11动态数据操作函数。 ,上一页,下一页,要 点,2018/1/3,98,1数值计算函数(P53),Exp(x):e指数int(x)Log(x):自然对数log10(x):常用对数Max(a,b,c)Min( )Mod(a,b):求余Sign(x):正负号Sqrt(x):平方根,2018/1/3,99,2字符处理函数(P54),alltrim( ):删除前后空格ltrim( ):删除前导空格Rtrim( ):删除尾部空格left( , ):返回指定数量的字符len( ):字符个数,2018/1/3,100,3数据转换函数,Ctod( ):字符到日期Dtoc( ):Ttoc( ):日期时间到字符Ttod( ):日期时间到日期val( ):字符到数值Str(数值表达式1,长度,小数位数):数值到字符,2018/1/3,101,4日期和时间函数,Year( )Month( )Week( )minute( )Sec( )Date( ):系统日期Datetime( ):日期时间,2018/1/3,102,5.测试函数,Bof( ):开始Eof():尾部Recno():记录指针Deleted():删除标记,2018/1/3,103,6. 其他,messagebox(提示信息,对话框类型)P247Sys(2003):当前目录File(”文件名”):找文件,2018/1/3,104,3.4 表达式,表达式是由数据、数据存储容器、函数和运算符组成的运算式。 3.4.1 算术表达式 算术表达式可由算术运算符和数值型常量、数值型内存变量、数值型数组、数值类型的字段、返回数值型数据的函数组成。算术表达式的运算结果是数值型常数。+,-,*,/,(*),%(求余) 例如:?1+1*1/2+96%12 1.5,上一页,下一页,要 点,2018/1/3,105,字符表达式由字符运算符和字符型常量、字符型内存变量、字符型数组、字符型类型的字段和返回字符型数据的函数组成。字符表达式运算的结果是字符常数或逻辑型常数。,上一页,下一页,要 点,3.4.2 字符表达式,2018/1/3,106,日期时间表达式由日期运算符和日期时间型常量、日期时间型内存变量和数组、返回日期时间型数据的函数组成。日期时间表达式运算的结果是日期时间型常数。,上一页,下一页,要 点,3.4.3 日期时间表达式,2018/1/3,107,关系表达式可由关系运算符和字符表达式、算术表达式、时间日期表达式组成。其运算结果为逻辑型常量。关系运算是运算符两边同类型元素的比较,关系成立结果为.T.;反之结果为.F.。 ,#,!=,=,= =,上一页,下一页,要 点,3.4.4 关系表达式,2018/1/3,108,逻辑表达式可由逻辑运算符和逻辑型常量、逻辑型内存变量、逻辑型数组、返回逻辑型数据的函数和关系表达式组成。其运算结果仍是逻辑型常量。 .not. .and. .or.,上一页,下一页,要 点,3.4.5 逻辑表达式,2018/1/3,109,在Visual FoxPro系统中,允许用户给命令和函数定义一个名字。 将这一名字存入到内存变量和数组元素中,就可以在引用命令和函数时用内存变量和数组元素来代替,给程序开发带来很多便利。存于内存变量和数组元素中的命令和函数名,用户可以通过间接引用或宏替换两种操作方法完成。,上一页,下一页,要 点,3.4.6 名表达式,2018/1/3,110,上一页,下一页,要 点,3.4.7 类与对象操作符,create classlib 类库名(.vcx)create class 类名 of 类库名 as “form”add class 类名 of 类库名 to 类库名继承父类的事件和方法父类名:方法或dodefault( ),2018/1/3,111,第四章,表操作,返回目录,2018/1/3,112,本章要点,建立表 向表中加入记录 数据的显示和修改方式 控制字段和记录的访问 数据表中记录的定位 删除和恢复表中的数据快速修改表中的数据,返回目录,2018/1/3,113,4.1 建立表,4.1.1 定义表的数据类型 建立表时,首先要对所处理的对象进行调查分析,然后再根据需要设计一张二维表。一张二维表对应一个数据表,称为表文件(Table)。 定义数据表的结构,就是定义数据表的字段个数、字段名、字段类型、字段宽度及是否以该字段建立索引等。 一张二维表由表名、表头(列标题)、表的内容(行)三部分组成。 一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。,上一页,下一页,要 点,2018/1/3,114,表4-2 信息中心专门人才基本情况表文件的结构,上一页,下一页,要 点,2018/1/3,115,Create 表名打开表设计器Create Table (字段名1 类型 (长度), 字段名2 类型(长度),上一页,下一页,要 点,4.1.2 利用表设计器创建表,2018/1/3,116,利用表设计器创建表的操作步骤,文件,新建,新建文件,表的名字,表设计器,字段名字,字段类型,字段宽度,字段索引,保存,上一页,下一页,要 点,2018/1/3,117,打开:Us

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论