-数据库管理系统Visual-FoxPro[]PPT课件_第1页
-数据库管理系统Visual-FoxPro[]PPT课件_第2页
-数据库管理系统Visual-FoxPro[]PPT课件_第3页
-数据库管理系统Visual-FoxPro[]PPT课件_第4页
-数据库管理系统Visual-FoxPro[]PPT课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1 第8章数据库管理系统VisualFoxPro 8 1数据库的基本概念8 2VisualFoxPro6 0概述8 3VisualFoxPro语言基础8 4使用命令操作数据库和数据表 2 8 1数据库的基本概念 8 1 1数据处理技术的发展 三个阶段 1 人工管理阶段2 文件系统管理阶段3 数据库系统管理阶段 3 8 1 2基本概念1 数据 Data 所谓数据就是描述事物的符号 在日常生活中数据无所不在 数字 文字 图表 图像 声音等都是数据 人们通过数据来认识世界 交流信息 2 数据库 DB DataBase 是以一定组织方式存储在一起的相关数据的集合 它能为多个用户 多种应用所共享 具有最小的冗余度 数据之间联系密切 又与应用程序没有联系 具有较高的数据独立性 数据是按照数据模型所提供的形式框架存放在数据库中 数据库不是孤立存在的 而是与其他部分一起构成数据库系统 4 3 数据库管理系统 DBMS DataBaseManagementSystem 数据库管理系统是用于管理数据的计算机软件 它是数据库系统的核心组成部分 DBMS在操作系统支持下工作 DBMS主要包括数据库定义功能 数据操纵功能 数据库运行和控制功能 数据库建立和维护功能 数据通信功能 比较著名的DBMS有 FoxBASE FoxPro VisualFoxPro Access Sybase Oracle等 4 数据库系统 DBS DataBaseSystem 数据库系统狭义地讲是由数据库 数据库管理系统和用户构成 广义地讲是由计算机硬件 操作系统 数据库管理系统以及在它支持下建立起来的数据库 应用程序 用户和维护人员组成的一个整体 5 5 数据模型 用来表示实体与实体之间的联系 只要知道了数据模型 就可以使用有关语言查找相应的数据 在数据库管理软件中常用的数据模型有三种 关系模型 层次模型和网状模型 不同的数据库管理系统支持不同的数据模型 并按其支持的数据模型分别叫做关系数据库 层次数据库和网状数据库 6 关系模型 是指用表格数据来表示实体间联系的模型 关系模型把数据看成二维表中的元素 而这个表就是关系 表中的每一行是一个元素 也就是一个记录值 每一列是一个属性值集 每一列有一个名字是属性名 即字段名或称数据项名 属性的取值范围叫域 6 8 1 3关系数据库1 什么是关系 2 关系的描述3 关系数据库的三种关系运算 1 选择 2 投影 3 连接 7 8 1 4数据库系统的特点1 数据的结构化2 数据共享3 数据独立性4 可控冗余度 8 8 2 1Fox系列的发展过程20世纪70年代后期 数据库理论的研究已较为成熟 1982年美国Ashton Tate公司推出了适合8位微机的dBASEII关系数据库管理系统 随着16位微机的出现 Ashton Tate公司于1984年6月推出了更新版本dBASEIII 1984年美国FoxSoftware公司推出了与dBASE完全兼容的FoxBASE 且引入了编译器 1986年 与dBASEIIIPlus兼容的FoxBASE 推出 1987年7月推出了FoxBASE 2 0 其最高版本是1988年7月推出的FoxBASE 2 1 1989年 FoxPro1 0正式推出 FoxPro采用友好的图形界面 引入基于DOS环境的窗口技术 用户使用的界面再也不是圆点 而是与圆点提示符下等效命令的菜单系统 1991年7月FoxPro2 0推出 它面向对象与事件 能充分使用扩展内存 是一个真正的32位产品 1992年 Fox软件公司被Microsoft软件公司收购后 于年中推出了FoxPro2 5 1995年9月 Microsoft公司推出VisualFoxPro3 0 目前VisualFoxPro的最高版本是1998年推出的VisualFoxPro6 0 8 2VisualFoxPro6 0概述 9 8 2 2VisualFoxPro6 0的主要特点VisualFoxPro作为一个桌面关系型数据库系统 具有多种可视化工具 面向对象的编程 重复使用各种类 与其他数据库管理系统相比 主要特点如下 同时面向数据库最终用户和数据库开发人员典型的开放式数据库管理系统支持多媒体的应用与开发内置大量的函数 10 8 2 3VisualFoxPro6 0系统的安装与启动1 运行环境VFP6 0可在Windows95 中文版 及更高版本 或者WindowsNT3 51 中文版 及更高版本中运行 CPU为8048666MHZ以上 内存为16MB以上 具有鼠标和光驱等外设 2 安装直接启动CD ROM 将光盘插入到CD ROM驱动器中 自动运行安装程序 然后选择系统提供的安装方式 按步骤选择相应的选项 完成安装过程 11 3 启动和退出 1 启动 同其他应用程序 2 退出 有以下四种方法 选择 文件 退出 命令 键入命令 Quit 单击VisualFoxPro6 0主窗口右上角的关闭按钮即可 按Alt F4键 12 图8 1VisualFoxPro6 0主窗口 8 2 4VisualFoxPro6 0的主窗口和项目管理器 13 1 VisualFoxPro6 0主窗口VisualFoxPro6 0主窗口主要由如下部分组成 标题栏 菜单栏 工具栏 命令窗口 工作区域 项目管理器窗口和状态栏等 在命令窗口中可以输入并执行单个命令或函数 例如 若要退出VisualFoxPro6 0 可在命令窗口中输入命令 Quit 并按回车键 在工具栏下面的空白区域是工作区域 在该区域中可以显示输出结果 14 2 项目管理器项目管理器是VisualFoxPro6 0为数据库应用软件开发者提供的一个良好的集成开发环境 在项目管理器中可以用最简单可视化的方法完成数据库的建立 表结构设计等整个应用系统的开发全过程 可使用项目管理器组织和管理项目中的文件 项目是文件 数据 文档以及VisualFoxPro对象的集合 项目文件以 PJX扩展名保存 当激活 项目管理器 窗口时 VisualFoxPro在菜单栏中显示 项目 菜单 15 项目管理器 窗口如图8 2所示 图8 2项目管理器窗口 16 8 2 5VisualFoxPro6 0的工作方式可视化人机交互方式可视化人机交互方式是指人们使用VisualFoxPro系统的菜单 窗口 对话框 工具栏等图形界面 直接操作数据库的工作方式 并以窗口的方式把结果显示给用户 这种方式不需要记忆大量的命令 学习起来比较直观和容易 用户通过实践操作就可掌握 2 命令方式在命令窗口直接输入命令 进行交互式操作 VFP的命令总是由一个命令动词开头 后随命令子句 用来说明命令的操作对象 操作结果与操作条件 命令方式是我们这章学习的重点3 程序执行方式利用各种生成器自动产生程序 或者编写VFP程序 命令文件 再执行它 17 8 3 1VisualFoxPro命令VisualFoxPro为用户提供了一系列功能丰富的命令 用户正是通过这些命令来使用系统的 对命令操作时可直接用命令方式也可用系统提供的菜单操作 命令格式 范围 字段名表 条件 命令动词 决定了此命令的操作类别 命令字是一英文单词 它表达了该命令所要做的操作 8 3VisualFoxPro语言基础 18 范围 范围的取值可有下面4种 ALL表示对文件中所有记录都进行处理NEXTN表示对文件中从当前记录开始的N个记录进行处理RECORDN表示只对文件中第N个记录进行处理REST表示对从当前记录开始直到末记录进行处理 字段名表 由若干个用逗号隔开的字段名组成 是一可选项 表示该命令在指定的记录范围内 只对所指定的字段进行操作处理 如缺省 则对数据库中的全部字段进行处理 条件 可用FOR 表达式 或用WHILE 表达式 来表示 表达式 为逻辑表达式 用以表示条件 19 2 书写规则书写命令时 须掌握以下原则 命令字必须是一条命令的第一项 而各选择项的顺序可任意排列 命令行中各部分之间必须有空格作为分隔符 一条命令的最大长度应少于254个字符 一个命令字字母超过4个时 可以只简写为前4个字母 如DISPLAY可用DISP 命令格式中用 表示用户应填写部分 是必选项 用 表示用户可选项 表示在其中用户可选择一项或不作选择 注意 和 这些符号只用于命令语法中用以说明 在实际命令输入时 不能使用 20 3 执行方式VisualFoxPro的命令具有交互方式 程序方式和菜单方式三种 各种方式适用于不同的需要 各有所长 命令方式是基础 4 VisualFoxPro命令窗口的使用 1 命令窗口的功能 当用户在 命令 窗口中键入相应的VisualFoxPro命令 按回车键后命令立即执行 菜单操作时自动显示与菜单操作相应的命令 对初学者这是学习VisualFoxPro命令功能的一种好方法 21 2 命令窗口的操作 命令窗口的移动 将鼠标指向命令窗口的标题 命令 所在的行 按住鼠标左键 拖动鼠标 可以拖曳到屏幕所需位置 命令窗口的调整 用鼠标拖曳命令窗口的右下角 可调整命令窗口大小 将鼠标指针移到命令窗口边框 或窗口角 上 鼠标变成双箭头形 按住鼠标左键拖动鼠标 即可放大或缩小窗口的大小 命令窗口的激活 在VisualFoxPro主窗口中选择菜单栏中的 窗口 命令窗口 或按Ctrl F2组合键激活 命令窗口的隐藏 欲使命令窗口在屏幕上不可见 可选择菜单栏 窗口 隐藏 22 8 3 2数据类型 1 字符型 Character 2 数值型 Numeric 3 整型 Integer 4 浮点型 Float 5 双精度型 Double 6 货币型 Currency 7 日期型 Date 8 日期时间型 DateTime 9 逻辑型 Logical 10 通用型 General 11 备注型 Memo 12 字符型 二进制 13 备注型 二进制 23 8 3 3常量与变量1 常量常量是指在所有的命令操作或程序运行过程中其值始终保持不改变的量 常量包括数值型 字符型 日期型 逻辑型 浮点型和日期时间型 2 变量变量是命令操作和程序运行过程中其值允许变化的量 VisualFoxPro的变量有两类 字段变量和内存变量 1 字段变量 是在建立数据表结构时定义的字段名 每个数据表中包含若干个字段变量 每个字段变量都需定义字段名 类型 宽度等 字段变量是多值变量 因为一个数据表文件有多少条记录 其字段变量就有多少值 24 2 内存变量 主要用于存储在命令或程序执行中临时使用的输入 输出或中间数据 它不同于字段变量 它存在于内存之中 独立于数据库文件 同样内存变量也有多种类型 内存变量的赋值 命令格式 STORETO或 命令功能 计算表达式的值 并把该值赋给指定的一个或多个内存变量 25 8 3 4表达式表达式是VisualFoxPro语言的重要成份 通常由常量 变量 函数用运算符与圆括号连接而成 特别地 单个常量 变量与函数都是表达式 表达式的运算结果是一个值 其类型由表达式值的类型确定 可分为数值型 字符型 日期型与逻辑型四种 VisualFoxPro有四类运算符 如表8 2所示 算术运算符 字符运算符 关系运算符和逻辑运算符 对应这四类运算符 VFP相应有四类表达式 26 表8 2VisualFoxPro运算符 27 1 算术表达式算术表达式是将数值型常量 变量和函数通过算术运算符连接起来构成的式子 其结果是一个算术值 运算顺序是先乘方 再乘除与取模 后加减 同一级别从左向右 有圆括号时圆括号内先算 若有圆括号嵌套 则按先内后外次序处理 2 关系表达式关系表达式是用关系运算符将运算对象 常量 变量 函数 算术表达式 连接起来构成的式子 其结果是一个逻辑值 真 T 或 假 F 3 逻辑表达式逻辑表达式是用逻辑运算符将运算对象连接起来构成的式子 其结果是一逻辑值 28 4 字符表达式字符表达式是用字符串运算符将字符型常量 变量或函数连接起来构成的式子 其结果是一个字符串或是逻辑值 例如 X 中国 Y 甘肃 Z 兰州 X Y Z中国甘肃兰州 X Y Z中国甘肃兰州 29 8 3 5数组数组是按一定顺序排列的一组内存变量 数组中的各个变量称为数组元素 数组元素用数组名以及该元素在数组中排列位置的下标一起表示 例如 x 1 x 2 与a 1 2 a 2 1 等 数组元素中下标的个数称为数组的维数 这里x是一维数组 a是二维数组 在VisualFoxPro中 只能使用一维与二维数组 而且要先定义再使用 1 数组的定义命令格式 DIMENSION DECLARE 30 2 数组的赋值 1 一个数组中各元素的取值类型可以互不相同 同一个元素的取值类型也可先后不同 系统规定 各数组元素的初值均为逻辑值 F 2 用赋值命令可为数组元素赋值 也可为整个数组的各个元素赋以相同值 3 二维数组各元素在内存中按行的顺序存储 它们也可按一维数组元素的顺序来存取数据 如上述二维数组a中的元素a 2 2 是排在第2行第2列 由于每一行是3个元素 所以a 2 2 也可按a 5 表示 31 8 3 6函数VisualFoxPro提供了近300种标准函数 以方便用户进行运算或作出判断 函数总是以表达式的形式出现 调用函数相当于执行一段子程序 它根据传递的参数 经过计算 返回一个结果值 根据函数的功能将函数划分为数学运算函数 字符运算函数 日期与时间函数 转换函数和测试函数五类 以下将分别介绍 32 1 数学运算函数 取整函数INT 四舍五入函数ROUND 取模函数MOD 求最大值函数MAX 求最小值函数MIN 取绝对值函数ABS 求指数函数EXP 平方根函数SQRT 求自然对数函数LOG 33 2 字符运算函数 字符串检索函数AT 求串长函数LEN 求出现次数函数OCCURS 取子串函数SUBSTR 压缩空格函数TRIM 宏替换函数 大 小写字母转换函数UPPER LOWER 空格生成函数SPACE 34 3 日期与时间函数 系统日期函数DATE 求月份函数MONTH 求文字月份函数CMONTH 求星期函数CDOW DOW 求日函数DAY 求年份函数YEAR 系统时间函数TIME 35 4 转换函数 字符型转换成日期型函数CTOD 日期型转换成字符型函数DTOC 数值型转换成字符型函数STR 字符串转换成数值函数VAL 字符与ASCII码转换函数ASC ASCII码值对其字符转换函数CHR 36 5 测试函数 文件存在测试函数FILE 文件头测试函数BOF 文件尾测试函数EOF 记录删除标记测试函数DELETE 当前记录号测试函数RECNO 37 8 4 1数据库 数据表的基本操作1 数据库 数据表结构的建立 1 数据库文件的建立命令格式 CREATEDATABASE 命令功能 创建一个数据库并打开它 2 数据表结构的建立建立一个表文件包括两部分工作 建立表文件结构和输入数据 命令格式 CREATE FREE 命令功能 创建数据库表或自由表 8 4使用命令操作数据库和数据表 38 表8 3Students表结构 39 图8 3表设计器对话框 40 2 数据库 数据表的打开和关闭打开数据库命令在使用一个数据库之前 必须先打开它 命令格式 OPENDATABASE 命令功能 打开指定数据库文件 同时关闭其他已打开的库文件 说明 当一个数据库被打开时 所有包含在其中的表是可以使用的 用户可以使用USE命令打开它们 2 关闭数据表命令格式1 USE命令格式2 CLOSETABLE ALL 命令功能 USE关闭已打开的表 CLOSETABLE ALL 命令可以同时关闭多个表 说明 表操作结束时 应及时关闭 41 8 4 2数据表结构的浏览与修改1 浏览表结构命令格式 LISTSTRUCTURE TOPRINTER TOFILE 或DISPLAYSTRUCTURE TOPRINTER TOFILE 命令功能 显示当前表结构的信息 包括表文件的名字 存储路径 记录的个数 文件最后一次更新的日期 每个字段的属性等 以及所有字段宽度占用的累计字节数 2修改表结构命令格式 MODIFYSTRUCTURE命令功能 修改当前表的结构 42 8 4 3对数据表记录的操作1 追加记录命令命令格式 APPEND BLANK 命令功能 在当前表文件的尾部添加一组新记录 说明 有可选项BLANK 表示在当前数据表的末尾添加一空白记录 不进入全屏幕编辑状态 缺省BLANK时 表示在当前数据表的末尾添加空白记录 并进入全屏幕编辑状态 可直接从键盘录入记录 2 备注型字段数据的录入在表文件的数据输入窗口中 备注型字段显示代号 memo 它的值将在一个专用的编辑窗口中输入并编辑 处理结束后还需关闭此编辑窗口 而把值储存到与表文件同名而扩展名为FPT的备注型文件之中 下面先列出该字段编辑窗口的操作方法 43 3 指针定位 1 指针的绝对移动命令 GO命令格式1 GO GOTOTOP BOTTOM RECORD N命令功能 将记录指针由当前记录移动到第1条记录或最末一条记录或第N个记录 使其成为当前记录命令格式2 记录号N 2 指针的相对移动命令 SKIP命令格式 SKIP 功能 使指针从当前位置沿着记录排列顺序作相对移动 移动的记录个数等于数字表达式值 移动方向由 号决定 表示向尾部方向移动 可缺省 表示向首部方向移动 当缺省数字表达式时 相当于SKIP 1 44 4 浏览 显示和插入记录浏览记录命令格式 BROWSE FIELDS FOR FREEZE 2 显示记录命令格式 LIST FIELDS FOR WHILE OFF TOPRINT FILE 或DISPLAY FIELDS FOR WHILE OFF TOPRINT FILE 3 插入记录在进行记录的插入前 要先定位 再做插入 命令格式 INSERT BLANK BEFORE 45 5 修改和批量替换数据 1 修改数据命令EDIT和CHANGE命令格式 EDIT CHANGE FIELDS FOR 命令功能 对指定的记录进行编辑和修改 说明 以垂直方向显示记录 每个字段占一行 2 成批替换REPLACE对于成批有规律的数据进行修改时 使用REPLACE命令来完成最为快捷 而且它不进入全屏幕编辑状态 所以它在程序中是最常用的修改记录的命令 命令格式 REPLACEWITH WITH FOR ADDITIVE 命令功能 在指定范围内 将满足条件的记录的指定字段内容用对应的表达式的值替换 46 6 删除与恢复 1 逻辑删除命令格式 DELETE FOR WHILE 命令功能 在当前数据表文件中 给指定范围内的满足条件的记录加上删除标记 2 物理删除用物理删除命令删除的记录将从数据表中彻底消失 命令格式 PACK命令功能 对当前数据表中所有作了逻辑删除即加了星号的记录删除 并且重新调整数据记录号 47 6 删除与恢复 1 逻辑删除命令格式 DELETE FOR WHILE 命令功能 在当前数据表文件中 给指定范围内的满足条件的记录加上删除标记 若省略可选项 则给当前记录加上删除标记 2 物理删除用物理删除命令删除的记录将从数据表中彻底消失 命令格式 PACK命令功能 对当前数据表中所有作了逻辑删除即加了星号的记录删除 并且重新调整数据记录号 说明 用PACK命令只能删除做了标记的记录 对其他记录不起作用 经PACK命令删除的记录不能被恢复 48 3 清空表文件中所有记录命令格式 ZAP命令功能 ZAP命令用以删除当前数据表中所有的记录 不论当前表文件中的记录做没做删除标记 只留下一个空的表结构 4 恢复删除命令格式 RECALL FOR WHILE 命令功能 此命令用于撤消由DELETE命令加在记录上的删除标记 使这些记录恢复成正常的记录 若省略可选项 只对当前记录有效 说明 RECALL命令不能恢复那些已用PACK或ZAP命令物理删除的记录 49 8 4 4表文件的复制及磁盘文件操作1 数据表文件的复制 1 表结构复制命令格式 COPYSTRUCTURETO FIELDS 命令功能 把当前表文件中选定的部分字段结构复制成一个新表文件结构 仅复制当前表文件的结构 不复制其中的数据 若有可选项FIELDS 则新表文件的结构只包含其中指明的字段 同时也决定了这些字段在新表文件中的排列次序 2 同时复制结构与记录数据命令格式 COPYTO FIELDS FOR 命令功能 把当前表文件中选定的部分记录 部分字段复制生成一个新表文件 如果命令中各可选项缺省 则复制所得的新表文件为当前表文件的一个副本 50 2 磁盘文件操作命令命令格式功能DIR 通配符 TOPRINT 显示磁盘文件目录COPYFILETO复制磁盘文件ERASE DELETEFILE 删除磁盘文件DISPLAY LISTFILE LIKE 显示文件数据RENAMETO磁盘文件改名TYPE TOPRINT 显示文本文件内容RUN 运行外部命令 51 8 4 5表的排序与索引数据表文件里的数据记录通常是按输入的先后次序排列的 但有时为了实现信息的快速查询 检索 需要对数据表文件中的记录进行排序或索引 即需要使数据表中的记录按照某个或多个关键字段有序排列 1 表的排序命令格式 SORTON A D C A D C TO FIELDS FOR 命令功能 该命令是把当前数据表中的记录按指定字段重新排序 生成一个新的数据表文件 原数据表文件不变 52 2 索引索引是另外一种使数据表有序化的方法 使用排序文件时 由于对同一个数据表文件以不同关键字进行多次排序操作后会产生多个排序文件 因而形成数据的大量冗余 占用很多磁盘空间 为了克服排序的这一缺陷 VFP提供了索引操作 执行索引操作之后 将建立一个按关键字有序排列的索引文件 IDX或 CDX 以后它将配合原始数据表文件进行各种操作 53 1 索引文件概念索引文件是指这样一种文件 它记录了按顺序排列的关键字段的内容及其在原始数据表文件中所对应的记录序号 由此可见索引文件的数据量比排序文件要少得多 大大节约了磁盘存储空间 而且索引文件并不改变原来文件中记录的物理位置 但应注意 索引文件并不是ASCII码文件 不能以可读形式显示或打印 VFP支持两类索引文件 即单索引文件和复合索引文件 如表8 4所示 54 2 建立索引文件命令格式 INDEXONTO TAG OF FOR ASCENDING DESCENDING UNIQUE ADDITIVE COMPACT 命令功能 在当前表中 对满足条件的记录按建立索引 形成 IDX索引文件或 CDX索引文件 3 打开和关闭索引文件 打开索引文件可用下列两种命令格式 命令格式1 USEINDEX 命令功能 在打开数据表文件的同时伴随打开索引文件 命令格式2 SETINDEXTO 命令功能 单独打开索引文件 55 确定主索引文件一个表可以同时打开多个索引文件 但是只有一个索引起作用 称之为主索引 确定主索引用SETORDERTO命令命令格式 SETORDERTO TAG OF ASCENDING DESCENDING 关闭索引文件USE 关闭当前表文件的同时关闭所有打开的索引文件SETINDEXTO 关闭所有打开的索引文件CLOSEINDEX 与SETINDEXTO功能相同 4 重新索引命令格式 REINDEX命令功能 REINDEX命令用于重新建立已索引过的索引文件 说明 使用该命令时 必须先打开索引文件 56 3 数据的查询所谓数据的查询 就是根据用户的要求 找出数据表中满足条件的记录 VFP提供给用户的专用查询命令有 LOCATE CONTINUE FIND和SEEK 1 顺序查询顺序查询是指对数据表从头至尾顺次找出满足条件的记录 并将记录指针定位到相应的记录上 命令格式

温馨提示

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

评论

0/150

提交评论