关系数据库管理系统-新 PPT课件_第1页
关系数据库管理系统-新 PPT课件_第2页
关系数据库管理系统-新 PPT课件_第3页
关系数据库管理系统-新 PPT课件_第4页
关系数据库管理系统-新 PPT课件_第5页
已阅读5页,还剩252页未读 继续免费阅读

下载本文档

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

文档简介

14 04 2020 VisualFoxPro6 0 1 关系数据库管理系统VFP 江苏科技大学 14 04 2020 VisualFoxPro6 0 2 为什么要学习关系数据库管理系统 予人以鱼 不如予人以渔 14 04 2020 VisualFoxPro6 0 3 课程学习目标 了解数据库的发展应用及在信息社会中的作用掌握数据库的基本知识和技能培养在未来学习和工作中应用数据库处理数据的能力学会利用VFP数据库编程工具和二次开发为计算机等级考试 二级 做准备 14 04 2020 VisualFoxPro6 0 4 课程特点1 掌握一些关键的命令和函数2 富有挑战性的程序设计技术学习需要的两大要素1 高度的逻辑思维2 勤于练习 积极自主的完成作业和设计 14 04 2020 VisualFoxPro6 0 5 教学方式 64学时 34 30 课堂教学 多媒体 实际操作上机实验 解决如何做的问题 14 04 2020 VisualFoxPro6 0 6 学习参考网站 学习参考书史济民等 VisualFoxPro及其应用系统开发 清华大学出版社汤观全等 VisualFoxPro及其应用系统开发题解 清华大学出版社钱培德等 VisualFoxPro学习指导 苏州大学出版社 14 04 2020 VisualFoxPro6 0 7 章节导航 1数据库系统基础知识 2VFP数据库管理系统概述 4查询和视图 5程序设计基础 3数据库与表的创建及使用 6表单及控件的创建与使用 7类的创建和使用 8报表的创建和使用 10应用程序的开发和使用 9菜单和工具栏 14 04 2020 VisualFoxPro6 0 8 第一章数据库系统基础知识 数据库技术是二十世纪六十年代后期产生和发展起来的一种计算机数据管理技术 数据库是现代计算机系统的一个重要组成部分 数据库技术也成为当今信息技术中应用最广泛的技术之一 1 1数据处理与数据管理技术数据 描述事物的符号记录 具有一定的格式能参与数字运算的数值型数据和不能参与数字运算的非数值型数据信息 从数据中传输 转换 加工等发掘出来的两者关系 密切关联 数据是信息的载体 信息是数据的内涵 是数据的语义解释数据是信息存在的一种形式 只有通过解释或处理才能成为有用的信息 数据可用不同的形式表示 而信息不会随数据不同的形式而改变 例 某一时间的股票行情上涨就是一个信息 但它不会因为这个信息的描述形式是数据 图表或语言等形式而改变 在某些不需要严格区分的场合 也可以把两者不加区别地使用 14 04 2020 VisualFoxPro6 0 9 数据处理 对数据的采集 存储 检索 加工 变换和传输 过程 数据收集 规范化和编码 输入 处理 输出数据处理贯穿于社会生产和社会生活的各个领域 数据处理技术的发展及其应用的广度和深度 极大地影响着人类社会发展的进程 14 04 2020 VisualFoxPro6 0 10 数据管理 信息是有价值的 为了提高信息的价值就要对信息和数据进行科学的管理 以保证信息的及时性 准确性 完整性和可靠性 需要科学的方法 先进的技术来管理信息和数据 数据处理和数据管理的关系 数据处理 数据管理随着计算机的软硬件技术的发展 信息和数据管理的实用技术 数据库技术也由低级到高级 由简单到逐步完善的发展起来 14 04 2020 VisualFoxPro6 0 11 数据管理技术的发展 数据量的增加和数据处理要求的提高的要求人工管理阶段文件系统阶段数据库系统阶段高级的数据库系统 14 04 2020 VisualFoxPro6 0 12 人工管理阶段 背景 数据完全由人工进行管理 程序与数据在同一个程序文件中特点 不需要长期保存数据 人工管理无统一的数据管理软件 程序管理 数据不能共享数据不独立 随着数据结构改变 14 04 2020 VisualFoxPro6 0 13 文件系统阶段 背景 操作系统出现并且发展 可以建立独立的数据文件特点 数据长期存储 并且用软件管理程序和数据可以独立 并且可以共享数据文件组织多样化数据间缺乏联系 冗余大 安全性低 14 04 2020 VisualFoxPro6 0 14 数据库系统阶段 背景 要求处理大量的数据 计算机应用广泛特点 使用数据模型表示数据特征和联系冗余小 可共享 数据独立数据安全性高 具有控制功能统一管理数据 提供用户接口高级的数据库系统分布式数据库系统 一组数据组成 这些数据物理上分布在计算机网络的不同结点上 逻辑上是属于同一个系统网络数据库系统 电子商务网站 14 04 2020 VisualFoxPro6 0 15 1 2数据库系统的组成 数据库系统 DataBaseSystem 定义 具有管理和控制数据库功能的计算机系统 用户 用户 用户 应用系统 应用开发工具 数据库管理系统 操作系统 数据库 数据库管理员 DataBaseManagementSystem DataBase DataBaseAdministrator 14 04 2020 VisualFoxPro6 0 16 数据库 定义 按照一定数据模型组织的 长期存放在辅助存储器上具有可共享性的相关数据集合特点 具有最小的冗余度 具有数据独立性 实现数据共享 安全可靠 保密性能好 易扩展内容 1 按一定的数据模型组织并实际存储的所有应用需要的数据 实际需要的数据 2 描述数据的结构 类型 格式 完整性约束等有关数据定义的数据 是关于数据的数据 元数据metadata 源数据的集合 数据字典 DD DBMS通过DD对DB进行管理和维护 14 04 2020 VisualFoxPro6 0 17 数据库管理系统 定义 用于建立 使用和维护数据库的系统软件 通过它对数据进行操作 是数据库系统的核心 功能 数据定义 DFL 数据操纵 DML 查询 删除 修改 插入等数据的组织和存取管理 分类组织存取各种数据数据库运行管理 完整 存取 并发 死锁等数据库的维护 安全控制 备份 监控 二次开发等 14 04 2020 VisualFoxPro6 0 18 用户 数据库管理员 数据库设计员 系统分析员 程序员 系统管理员 最终用户等数据库管理员对数据库系统进行管理和控制 有最高的数据库用户特权 负责全面的管理数据库系统 主要是利用DBMS提供的功能和专用工具来实现 计算机支持系统用于数据库管理的硬件 主机容量 吞吐能力稳定和安全性 和软件平台 系统软件或者应用系统开发工具 14 04 2020 VisualFoxPro6 0 19 1 3数据库系统的模式结构 为了实现数据的独立和共享 便于数据库的设计和实现 将数据库系统结构定义为三级模式结构 两级映射 用户程序A1工作区 用户程序A2工作区 用户程序A3工作区 用户程序A4工作区 用户程序A5工作区 外部模式A 外部模式B 模式 内部模式 系统缓冲区 数据库系统结构 外部层 单个视图 概念层 公共视图 内部层 存储视图 14 04 2020 VisualFoxPro6 0 20 1 4数据模型 定义 在数据库领域中定义数据及其操作的一种抽象表示三个世界 现实世界 事物 对象 性质 p6信息世界 实体 对象 属性 数据世界 数据 记录 字段 概念模型 对现实世界的第一层抽象 面向客观世界和用户 描述用户和设计者都能理解的信息结构 与具体的DBMS无关 广泛应用的是实体 联系 E R Entity Relationship 模型 14 04 2020 VisualFoxPro6 0 21 E R模型 E R模型的构成成分是实体 属性和联系 其表示方法如下 实体用矩形框表示 矩形框内写上实体名 属性用椭圆框表示 框内写上属性名 并用无向边与其实体集相连 联系用菱形框表示 联系以适当的含义命名 名字写在菱形框中 用无向连线将参加联系的实体矩形框分别与菱形框相连 并在连线上标明联系的类型 即1 1 1 M或M M 因此 E R模型也称为E R图 例如系 学生和课程的联系的E R模型 学生 课程 选课 学号 姓名 课程号 M N 14 04 2020 VisualFoxPro6 0 22 数据模型 定义 面向数据库管理系统的 用以刻画实体在数据库中的存储形式及实体之间的联系类别 层次模型 网状模型 关系模型 面向对象模型 14 04 2020 VisualFoxPro6 0 23 关系模型 定义 用二维表表示实体集 通过外部关键字表示实体之间的关系组成 数据结构 二维表 数据操作 关系代数 关系演算 完整性规则 实体 参照 用户自定义 关系模型 关键字 属性或字段 元组或记录 14 04 2020 VisualFoxPro6 0 24 关键字 二维表中不允许出现相同的记录 用关键字来唯一的确定记录类型 超关键字候选关键字主关键字 数据库专有 外部关键字 14 04 2020 VisualFoxPro6 0 25 关系运算 并 差 交 选择 投影 联结p9注 运算的前提是关系的结构相同关系的规范化减少冗余 消除异常 增强独立性 便于使用注 一般要求满足第三范式 3NF 14 04 2020 VisualFoxPro6 0 26 1 6数据库设计基础 数据库设计 利用给定的环境 表达出用户的信息需求 构造出最优化的数据库模式 建立数据库及其应用系统 使之能有效地收集 存储 处理和管理数据 满足用户的各类信息与处理需求 建立在DBMS基础上 对系统分析的数据按照DBMS规范进行数据库的结构和应用的设计 内容 数据库结构特性的设计 用户对信息的需求 数据库行为特征的设计 用户对处理的需求 方法 面向数据的设计方法 信息需求为主 面向利于共享和不断发展变化的应用系统面向过程的设计方法 处理需求为主 面向功能要求明确且稳定的应用系统步骤 P16图1 5 14 04 2020 VisualFoxPro6 0 27 数据库设计步骤 在初步调查研究的基础上 进行系统总体规划 可行性分析 制定出项目开发计划 在项目开发计划指导下 进行详细调查 组织机构及功能分析 业务流程分析 数据流程分析 功能数据分析 数据库概念设计 管理模型设计 提出新系统逻辑方案 以新系统逻辑方案为依据 进行总体结构设计和代码设计 数据库逻辑与物理设计 输入 输出设计 功能模块设计等详细设计 提出系统详细设计方案 根据系统详细设计方案 进行编程 调试 测试 试运行 提交最终实现的管理信息系统 运行管理 评价与系统维护 14 04 2020 VisualFoxPro6 0 28 目的 为数据库项目设定基调 方向和范围 必须综合考虑当前和未来的需求 方式 自顶向下规划分析 自底向上实现 保证系统结构的整体性和信息需求的一致性 系统规划 14 04 2020 VisualFoxPro6 0 29 系统分析 做什么 目的 确定新信息系统的功能 建立新系统的逻辑模型 确定输入 输出的数据及存储 方法 结构化分析 自顶向下 逐层分解 由粗取精 利用数据流程图和数据字典来描述数据以及数据和处理的关系 14 04 2020 VisualFoxPro6 0 30 数据流程图 定义 一种对应于该方法的分析结果 是一种便于用户理解 分析系统数据流程的图形工具 它摆脱了系统的物理内容 独立于软件 硬件 数据结构 文件组织 没有物理意义 通过抽象去除物流和资金流 精确的在逻辑上描述系统的功能 输入 输出和数据存储等 从而反映了数据和信息的流动 是系统逻辑模型的重要组成部分 构成 数据流 dataflow 数据存储 datastore 数据处理 加工 process 外部实体 externalagent 14 04 2020 VisualFoxPro6 0 31 根据功能的分析自顶向下逐步绘制 保持数据的完整性 1检查申请表 顾客 俱乐部经理 申请表 拒绝通知 会费 会员卡 财务报表 会员列表 2接受会费 3制作会员卡 DS1会员文件 DS2总帐文件 5编制财务报表 4编制会员列表 第0层数据流图 14 04 2020 VisualFoxPro6 0 32 数据字典 对数据流图中的每一数据流 基本加工 文件及数据项下一个 严格的定义 所有这些定义按一定次序汇集而成 即为数据字典 每个定义是数据字典中的一个条目 项 数据流图描述系统的组成及相互关系 数据字典描述系统的具体细节 两者相互联系 相互补充 两者结合才能将系统表达清楚 数据字典条目的类型有 数据流条目 数据存储条目 数据处理条目 数据项条目 外部实体 数据结构 14 04 2020 VisualFoxPro6 0 33 数据流汇总一览表 数据存储汇总一览表 数据处理汇总一览表 数据项一览表 14 04 2020 VisualFoxPro6 0 34 14 04 2020 VisualFoxPro6 0 35 系统设计 怎么做 内容 系统设计 遵循系统性 灵活性 可靠性 经济性的原则 14 04 2020 VisualFoxPro6 0 36 系统设计的阶段 概念结构设计对用户需求进行综合和归纳 并抽象为概念模型的过程 采用自顶向下的方法 采用E R模型作为概念建模的工具 逻辑结构设计从概念模型导出特定的DBMS可以处理的数据库的逻辑结构 包括数据库的模式和外模式 步骤见P20图1 8物理结构设计利用DBMS提供的方法和技术设计出高效的 可以实现功能的数据库结构 影像数据存储位置和系统的性能 14 04 2020 VisualFoxPro6 0 37 系统实施 内容 实现系统设计阶段定义的数据结构 存储结构和软件结构 建立一个实际运行的信息系统 交用户使用 主要工作 利用DDL对逻辑结构设计和物理结构设计的结果进行定义 装入测试数据对应用程序进行测试 对数据库进行检查和评估 建立实际的数据库系统测试的内容 模块测试 系统部分 系统测试 系统整体 验收测试 用户评估 系统交接 将新信息系统的控制权交给用户 14 04 2020 VisualFoxPro6 0 38 系统运行和维护 系统运行的管理运行的组织 系统运行管理 规章制度系统维护的管理 软件的维护 应用程序维护 数据维护 代码的维护 设备的维护维护内容见P24图1 9 14 04 2020 VisualFoxPro6 0 39 1 7主流DBMS产品 OracleDB2SybaseMS SQLServerAccessVisualFoxPro由于vfp数据量大的时候反映比较慢 而且维护工作量大 数据量大时用的不多 主要用在学校 事业单位 小公司等 返回 14 04 2020 VisualFoxPro6 0 40 VFP的发展概述 1 1986年6月推出了FoxBASE 1 0版2 1987年7月推出了FoxBASE 2 0版3 1988年7月推出了FoxBASE 2 1版4 1992年下半年推出了FoxPro2 5版5 1994年下半年推出了FoxPro2 6版6 1995年6月推出了VisualFoxPro3 07 1996年8月推出了VisualFoxPro5 08 1998年9月推出了VisualFoxPro6 09 2004年12月推出了VisualFoxPro9 0 返回 14 04 2020 VisualFoxPro6 0 41 第二章VFP数据库管理系统概述 VFP Visual Windows FoxPro特点 数据库方面数据操作方面程序设计方面操作使用方面 14 04 2020 VisualFoxPro6 0 42 系统启动 返回 或 2 1VFP的操作环境 14 04 2020 VisualFoxPro6 0 43 操作环境的配置 Setdefaulttoe 第一步就设置路径Cd 可以找到存放的位置 14 04 2020 VisualFoxPro6 0 44 VFP集成操作环境 返回 可视化的集成的操作环境 遵循Windows设计 14 04 2020 VisualFoxPro6 0 45 从当前记录开始 按记录顺序从上向下处理 一旦遇到不满足条件的记录 就停止搜索并结束该命令的执行 一般语法式 返回 命令动词 表达式表 范围 FOR条件 WHILE条件 TOFILE文件名 TOPRINTER TOARRAY 数组名 TO内存变量 ALL LIKE EXCEPT通配符 IN别名 计算机要完成的操作 执行该命令所操作的结果参数 只对满足条件的记录进行操作 操作结果的输出去向 包括或不包括与通配符相匹配的文件 字段或内存变量 允许在当前工作区操作指定工作区 ALL NEXT RECORD REST 可视化 命令 14 04 2020 VisualFoxPro6 0 46 命令示例 引导注释内容 在VFP主窗口中显示表达式的值CLEAR清除当前VFP主窗口中的信息DIR在VFP主窗口中显示文件的目录MD RD CD创建文件夹 删除文件夹 改变当前工作文件夹COPYFILE RENAME DELETEFILE复制 更名 删除文件RUN调用外部DOS命令QUIT关闭所有文件 并结束当前VFP系统的运行USExs打开名为xs的表文件COUNTALLFOR性别 女 统计xs中女生的人数USE关闭表文件Cj 将其保存在磁盘上 返回 14 04 2020 VisualFoxPro6 0 47 常用文件类型 返回 生成的应用程序 app复合索引 cdx数据库 dbc dct dcx表 dbf fpt报表 frx frt标签 lbx lbt菜单 mnt mnx mpr mpx内存变量 mem程序 prg fxp qpr qpx项目 pjt pjx可视类库 vcx vct表单 scx sct RN 123 lyx 主文件名 DBF 分隔符 扩展名 主文件名最长由10个字符组成 可以大 小写字母子混合使用 文件命名示例 14 04 2020 VisualFoxPro6 0 48 项目管理器 项目管理器是VFP中处理数据和对象的主要组织工具 其管理信息以项目文件保存 是VFP的管理中心 项目管理器的创建方法 1 用 文件 菜单中的 新建 菜单命令 2 用 常用 工具栏上的 新建 按钮 3 在 命令 窗口中利用如下命令 CREATEPROJECT项目管理器的打开方法 1 用 文件 菜单中的 打开 菜单命令 2 用 常用 工具栏上的 打开 按钮 3 在 命令 窗口中利用如下命令 MODIFYPROJECT 返回 14 04 2020 VisualFoxPro6 0 49 返回 创建新文件或对象 在相应是设计器中打开选定项 将已存在且不被当前项目所管理的文件添加到项目管理器 打开 关闭指定的数据库 浏览指定的表 运行指定的查询 表单 程序等 从项目中移去或删除选定项 连编一个项目或应用程序 折叠 展开项目管理器 选项卡 14 04 2020 VisualFoxPro6 0 50 数据存储容器 常量 变量 数组 运算符 常用数据类型 系统函数 表达式 空值 VFP语言基础 返回 14 04 2020 VisualFoxPro6 0 51 1 字符型数据 Character 简写为C 2 数值型数据 Numeric 简写为N 3 逻辑型数据 Logic 简写为L 4 日期型数据 Date 简写为D 5 日期时间型数据 DateTime 简写为T 6 整形数据 Integer 简写为I 7 备注型数据 Memo 简写为M 8 通用型数据 General 简写为G 常用数据类型 返回 14 04 2020 VisualFoxPro6 0 52 名称中只能包含字母 下划线 数字符号和汉字符号名称的开头只能是字母 汉字或下划线 不能是数字除自由表的字段名 表的索引标识名至多10个字符 其余名称长度1 128个字符应避免使用系统保留字 例 cVar nVar2 x 2 sum of score nSum Score aver 2x 2 x num of xs nSum Score aver gz use DO 合法 非法 名称命名规则 返回 14 04 2020 VisualFoxPro6 0 53 一个不变的数值或字符串 常量表达式中包括常量和操作符 但不包含变量 而且计算结果总是常值 VisualFoxPro支持多种类型的常量 如 数值常量 字符常量 日期常量 逻辑常量 货币常量 日期时间常量等 常量 例 3 12E 8 1000 8 7 F 08 25 2003 3 12 10 8 返回 14 04 2020 VisualFoxPro6 0 54 在赋值的同时完成了内存变量的创建 并确定了该变量的数据类型以及目前变量的值 STORE表达式TO内存变量名表 例 STORE0TOa b将数值0赋给变量a bSTORE 张三 TONAME将字符串 张三 赋给NAME 内存变量名 表达式 例 A T 将逻辑真值赋给变量AcSoft VFP 产生一个字符型变量 1变量的创建 返回 内存变量 14 04 2020 VisualFoxPro6 0 55 2控制变量的访问 变量只在它的作用域范围内才有效 LOCAL 定义局部变量访问变量 PRIVATE 定义私有变量 换行显示 PUBLIC 定义全局变量 不换行显示 AA prgLOCALaPUBLICb c DObb BB prgLOCALdPRIVATEb RETURN a仅在AA prg中有效 b在全局有效 但在AA prg和BB prg中的值不一样 私有的b在BB prg及其子程中有用c在全局有效d仅在BB prg中有效 返回 14 04 2020 VisualFoxPro6 0 56 SAVETOFileName ALLLIKESkeleton ALLEXCEPTSkeleton 3保存内存变量 文件扩展名的缺省值为 mem 变量名通配符 例 假设存在自定义变量a b ab baSAVETOv1将所有内存变量保存到v1 mem文件中SAVETOv2ALLLIKE a 将所有第一个字符是任意字符 第二个字符是a的内存变量保存到v2 mem文件中 即baSAVETOv3ALLEXCEPT a 将所有第二个字符不是a的内存变量保存到v3 mem文件中 即a b ab 返回 14 04 2020 VisualFoxPro6 0 57 RESTOREFROMFileName ADDITIVE 4恢复内存变量 保留当前内存中的内存变量 将指定文件中的内存变量添加到当前内存变量之后 若省略ADDITIVE选择项 则内存中已有的内存变量全部释放 将指定文件中的内存变量调入内存 例 RESTOREFROMv1此时内存中存在变量a b ab baRESTOREFROMv2此时内存中存在变量baRESTOREFROMv3ADDITIVE此时内存中存在变量a b ab ba 返回 14 04 2020 VisualFoxPro6 0 58 数组可以为一维数组或二维数组 在绝大多数情况下 数组在使用时必须预先声明 1数组的声明 返回 DECLEAR DIMENSION PUBLIC LOCAL数组名 行数 列数 全局数组 局部数组 维数和大小 例 DECLEARXX 4 定义一个一维数组XXPUBLICA 6 3 定义一个6行3列的一维数组ADIMENSIONB 3 C 2 3 定义一个一维数组B和一个2行3列的二维数组C 数组 14 04 2020 VisualFoxPro6 0 59 2为数组元素赋值 数组在声明之后 每个数组元素的默认值均为逻辑值 F DECLEARXX 6 3 XX 1 2 1113 使用数组名和元素位置为数组元素赋值 XX 1113 用一个语句为所有数组元素赋相同的值 此外 可以使用SCATTER GATHER COPYTOARRAY APPENDFROMARRAY等命令在数组元素与表的记录之间进行值的传递 返回 14 04 2020 VisualFoxPro6 0 60 字段变量 包含在记录中的数据项对象 类的实例不同数据存储容器的作用域P46 14 04 2020 VisualFoxPro6 0 61 VFP系统函数 函数是预先编好的程序代码 可供用户或程序调用 P46 函数名 参数1 参数2 例 MOD 36 10 显示6 MAX 6 9 显示9 SUBSTR Helloworld 7 5 显示 world YEAR DATE 显示2003 STR 123 456 5 2 显示123 4MESSAGEBOX Hi A 显示标题为 A 内容为 Hi 的对话框 MOD a b a INT a b IIF a b 0 1 0 b 返回 14 04 2020 VisualFoxPro6 0 62 运算符可用于操作同类型数据 分为 数值运算符 关系运算符 逻辑运算符 字符运算符和日期 时间 运算符 数值运算符 加 减 乘 除 或 乘方 模运算 括号 运算符 关系运算符大于不等于 不等于 大于或等于 精确等于 必须是字符串间的比较 其他的可以为字符串 数值或日期 时间 数据间的比较 关系运算产生逻辑结果 真 或 假 返回 14 04 2020 VisualFoxPro6 0 63 逻辑运算符AND逻辑与NOT逻辑非 单边运算符 OR逻辑或 逻辑非 单边运算符 字符运算符 字符串精确连接 字符串非精确连接 属于 查看左边字符串是否包含在右边字符串中 日期 时间 运算符 加 减说明 日期加上数值得到将来的日期 日期减去数值得到过去的日期 两日期相减得到两个日期相差的天数 返回 14 04 2020 VisualFoxPro6 0 64 表达式 由运算符和括号将常量 变量和函数连接起来的有意义的式子 单个常量 变量和函数都可以看作是最简单的表达式 表达式可以分为 字符表达式 数值表达式 关系表达式 逻辑表达式 日期表达式 名称表达式 表达式 例 教师 ALLT js xm 的基本工资是 STR js jbgz 7 2 DATE 1 INT 3 2 MOD 3 2 x OFF SETTALK x即SETTALKOFF 不可SETTALK x 返回 14 04 2020 VisualFoxPro6 0 65 空值 NULL值不是一种数据类型 它0 空字符串 或空格不同 表示什么都没有 排序优先于其他数据 NULL值会影响命令 函数 逻辑表达式和参数的行为 NULL不是一种数据类型 当给字段或变量赋 NULL 时 该字段或变量的数据类型不变 只是值变为 NULL 针对NULL值时 ISBLANK ISDIGIT ISLOWER ISUPPER ISALPHA 和ISEMPTY 返回 假 F 而ISNULL 返回 真 T 返回 14 04 2020 VisualFoxPro6 0 66 小结 1 对内存变量的赋值操作可以使用STORE命令或 进行 2 内存变量可以使用SAVE命令保存 也可以使用RELEASE命令和CLEAR命令删除 还可以使用RESTORE命令恢复 3 数组必须先定义后使用 数组元素的赋值操作与内存变量的赋值操作基本相同 4 表达式按其值的数据类型可以分为四类 字符型 数值型 日期型 逻辑型 5 运算符按其运算的结果可以分为五类 算术运算符 关系运算符 逻辑运算符 字符串运算符 日期运算符 返回 14 04 2020 VisualFoxPro6 0 67 第三章数据库及表的创建与使用 数据库概述数据库的创建 打开与使用表的创建和使用永久性关系和参照完整性 14 04 2020 VisualFoxPro6 0 68 数据库设计步骤 第1步 确定建立数据库的目的 这有助于确定需要VFP保存哪些信息 第2步 确定需要的表 在明确了建立数据库的目的之后 就可以着手把信息分成独立的主题 例如 xs 学生 或 cj 成绩 等 每个主题都可以是数据库中的一个表 第3步 确定表的字段 确定在每个表中保存哪些信息 在表中 每类信息称为一个字段 浏览表时在表中显示为一列 例如 在xs表中 可以有这样的字段 学号 姓名 性别 等 第4步 确定表之间的关系 分析每个表 确定一个表中的数据和其它表中的数据有何关系 必要时 可以在表中加入字段或创建一个新表来明确关系 第5步 改进设计 对设计进一步分析 查找其中的错误 创建表时 在表中加入几个示例记录 看能否从表中得到所需的结果 返回 14 04 2020 VisualFoxPro6 0 69 3 1VFP数据库概述 jxgl数据库 数据库是一个容器 是许多相关的数据库表及其关系的集合 数据库中的表叫数据库表 不但包括自由表的各种属性 还有一些增强特性 数据库中不仅有表 还包含有表之间的关系 返回 14 04 2020 VisualFoxPro6 0 70 数据库构成 表视图连接存储过程数据字典存储在数据库中用来描述所管理的表和对象的数据 14 04 2020 VisualFoxPro6 0 71 3 2数据库的创建 打开 使用 返回 14 04 2020 VisualFoxPro6 0 72 数据库的使用 语法 打开数据库 OPENDATABASE DatabaseName EXCLUSIVE SHARED NOUPDATE VALIDATE 设置当前数据库 SETDATABASETODatabaseName检查数据库的有效性 VALIDATEDATABASE RECOVER TOPRINTER TOFILEFileName 关闭数据库 CLOSEDATABASE 例 OPENDATABASEjxgl打开jxgl数据库OPENDATABASEhqgl打开hqgl数据库SETDATABASETOjxgl设置jxgl为当前数据库CLOSEDATABASE关闭jxgl数据库 返回 14 04 2020 VisualFoxPro6 0 73 3 3表的创建与使用 数据库表自由表 14 04 2020 VisualFoxPro6 0 74 表结构主要指表的字段及其属性 即由那些字段组成 这些字段的字段名 数据类型 宽度 小数位数和空值 NULL 支持情况是什么 表最多255个字段 例如 创建xs 学生 表 表结构概述 返回 14 04 2020 VisualFoxPro6 0 75 方法一 用CREATETABLE SQL命令创建表结构 CREATETABLETableName FieldName1FieldType1 nFieldWidth nPrecision NULL NOTNULL FieldName2 例 CREATETABLExs xhC 8 NOTNULL xmC 6 xbC 2 zydhC 6 xdhC 2 jgC 10 csrqD zpG 1 打开 表设计器 在项目管理器的 数据 选项卡中选择 自由表 然后单击 新建 新建表 按钮 在出现的 创建 对话框中输入表文件名 并选择存储路径 然后选择 保存 将打开表设计器 2 在 表设计器 中创建表结构 即在 表设计器 的 字段 选项卡上 输入各个字段的定义信息 表结构的创建 方法二 用 表设计器 创建表结构 返回 14 04 2020 VisualFoxPro6 0 76 功能 显示表设计器 修改当前表文件的结构 说明 如果没有在当前选定工件区打开表 则显示 打开 对话框 允许用户从中选择一个要修改的表 方法一 通过命令MODIFYSTRUCTURE或交互界面进入表设计器修改表结构 方法二 ALTERTABLETableNameADD ALTER COLUMN FieldNameFieldType nFieldWidth nPrecision 或ALTERTABLETableNameDROP COLUMN FieldName或ALTERTABLETableNameRENAMECOLUMNFieldName1TOFieldName2 功能 直接修改表文件的结构 说明 ADD子句用于增加字段 ALTER子句用于修改字段 DROP子句用于删除字段 RENAME子句用于字段改名 表结构的修改 返回 14 04 2020 VisualFoxPro6 0 77 数据库表的字段扩展属性 字段显示属性 字段验证 指定与字段相应的控件类 返回 14 04 2020 VisualFoxPro6 0 78 为字段设置有效性规则 语法 CREATETABLEcj xhC 6 DEFAULT 030000 kcdhC 6 cjN 3 0 CHECKcj 0ANDcj 0ANDcj 100 返回 14 04 2020 VisualFoxPro6 0 79 数据库表的表属性 记录验证 插入 更新或删除记录时进行的检验规则 返回 14 04 2020 VisualFoxPro6 0 80 为记录设置有效性规则 语法 ALTERTABLExsSETCHECKcsrq date ERROR 尚未出生 删除有效性规则 ALTERTABLExsDROPCHECK 语法 CREATETRIGGERONTableNameFORDELETE INSERT UPDATEASlExpression例 CREATETRIGGERONkcFORDELETEAS F 无条件地不允许删除删除表的触发器 DELETETRIGGERONTableNameFORDELETE INSERT UPDATE 设置表的触发器 返回 14 04 2020 VisualFoxPro6 0 81 工作区与数据工作期 表的打开与关闭 表的独占与共享 表的打开与关闭 返回 14 04 2020 VisualFoxPro6 0 82 1 工作区号与别名VFP6提供了多达32767个工作区 每个工作区都有一个工作区号 分别用1 32767表示 其工作区1 10还分别对应有别名A J 系统规定 用工作区号作为各个工作区的标识符 即数字1 32767 同时还规定 可以用工作区的别名作为工作区的标识符 A J这10个字母是工作区的标识符 因此 单个字母A J是不能用来作为表的文件名的 它是系统的保留字 每个打开的表也都有一个别名 当用命令USE表文件名打开表时 系统默认的表的别名就是该表的主文件名 如果在打开表时 在USE命令后面使用了ALIAS参数指定了表的别名 则可为表另外起一个别名 这时的表文件名就不再是表的别名 工作区与数据工作期 返回 14 04 2020 VisualFoxPro6 0 83 功能 选择一个工作区作为当前工作区 说明 选择一个工作区作为当前工作区 使该工作区打开的表成为当前表 要选择的工作区 可使用工作区号作为标识符 也可以用工作区的别名来作为工作区的标识符 若选择0 则系统自动选取当前未使用的最小工作区号作为当前的工作区 例 SELECT3USESTUDENTALIASXSSELECT1USESCOREUSESCOREALIASCJINXSAGAIN 2 工作区的选择与多表文件的打开与关闭若想改变当前工作区 则可使用SELECT命令来转换当前工作区 SELECTnWorkArea cTableAlias 0 返回 14 04 2020 VisualFoxPro6 0 84 表的打开 使用任何一个表以前 都必须首先打开表 USETableName INnWorkArea cTableAlias AGAIN ALIAScTableAlias NOUPDATE 功能 IN子句用于指定在哪个工作区中打开 缺省时表示在当前工作区中打开 AGAIN用于说明改表再次打开 即表在多个工作区中被同时打开 ALIAS子句用于定义表的别名 缺省时表的别名与一般表名相同 NOUPDATE指定表打开后不允许修改其结构和数据 表的打开与关闭 返回 14 04 2020 VisualFoxPro6 0 85 关闭打开的表文件 CLOSEALL 功能 关闭所在所有工作区中打开了的表 表和单索引文件并且选择1号工作区为当前工作区 此外 退出VFP时 将关闭所有的表 使用USE命令关闭打开的表文件 USEIN nWorkArea cTableAlias 功能 关闭指定的表 不使用IN子句时关闭当前工作区中的表 返回 CLOSETABLESALL 14 04 2020 VisualFoxPro6 0 86 USETableName EXCLUSIVE SHARED 功能 指定系统打开表的方式 EXCLUSIVE为独占打开 即一张表只能被一个用户打开 SHARED为共享打开 即网络上的多个用户可以在同一时刻访问同一张表 默认独占 SETEXCLUSIVEON OFF 功能 指定系统打开表的方式为独占或共享 但不改变已打开表的状态 一张表被打开多次时 其打开状态以第一次打开方式为准 表的独占与共享 返回 14 04 2020 VisualFoxPro6 0 87 记录的输入 表的浏览与定制 记录的定位 记录的修改 记录的删除 数据的复制 数据的统计 记录的处理 返回 14 04 2020 VisualFoxPro6 0 88 方法一 表结构创建后立即输入数据 方法二 通过菜单或BROWSE命令在浏览器窗口中追加记录 例 USExsBROWSE 例 APPENDFROMxs1从xs1表中向当前表中导入数据 例 INSERTINTOxs xh xm VALUES 0001 张三 向学生表中插入一条记录 学号 0001 姓名 张三 方法三 使用INSERT SQL命令追加记录INSERTINTOTableName FieldName1 FieldName2 VALUES eExpression1 eExpression2 方法四 使用APPEND与APPENDFROM命令APPEND BLANK INnWorkArea cTableAlias APPENDFROMFileName DELIMITED XLS 另外 备注与通用型字段 通过针对字段双击或Ctrl Home组合键打开内容 编辑后保存 记录的输入 返回 14 04 2020 VisualFoxPro6 0 89 如何将数据输入到表中 并根据需要对表中的数据进行处理 利用和维护 返回 14 04 2020 VisualFoxPro6 0 90 界面操作方式 通过设置 数据过滤器 填写条件 来筛选记录 格式1 BROWSE FIELDSFieldList FORlExpression FREEZEFieldName NOAPPEND NODELETE NOMODIFY TITLEcExpression 浏览命令格式2 SETFILTERTOlExpression进行记录的筛选格式3 SETFIELDTO FieldList 限制对字段的访问 表的浏览与定制 返回 例1 BROWSEFIELDSxh xmFORxb 女 NOMODIFYTITLE 女学生 显示女学生的学号 姓名信息例2 SETFILTERTOxb 女 仅显示女学生信息BROWSEFIELDSxh xmNOMODIFYTITLE 女学生 例3 SETFIELDTOxh xm仅显示学号 姓名信息BROWSEFORxb 女 NOMODIFYTITLE 女学生 14 04 2020 VisualFoxPro6 0 91 记录的开始标志 记录指针 记录的结束标志 当用户向表中输入数据时 VFP为每个记录都按输入顺序指定了 是VFP系统内部的一个指示器 可以将记录指针理解为保存当前记录号的变量 每当打开一个表结构时 记录指针总是指向第1条记录 在进行数据处理时 经常要将记录指针移到 用户所需要操作的那个记录 这个过程即是 记录指针 记录号 第一个输入的记录 其记录号为1 依次类推 记录的定位 记录的定位 返回 14 04 2020 VisualFoxPro6 0 92 返回 打开表时记录指针情况如下 BOF 测试指针是否指向记录的开始标志 T 是 F 不是EOF 测试指针是否指向记录的结束标志 T 是 F 不是RECNO 测试记录指针的值 用户可以从VFP主窗口的状态栏上看出记录指针的值 1 F T 1 T F 14 04 2020 VisualFoxPro6 0 93 返回 绝对定位 GOTOnRecordNumber INWorkArea INcTableAlias TOP BOTTOM 记录指针移动到第 条记录 GOTOTOP 记录指针移动到记录号为3的记录 GOTO3 记录指针下移4条记录 SKIP4 记录指针上移2条记录 SKIP 2 记录指针下移1条记录 SKIP 相对定位 SKIP nRecords INWorkArea INcTableAlias 记录定位的方法 1 14 04 2020 VisualFoxPro6 0 94 张三 SETORDERTOxmSEEK 张三 FOUND 函数可测试是否找到匹配的记录 T 是 F 否 LOCATEFOR 快速定位 xm 张三 输入待查学生姓名 顺序定位 查询定位按钮 例 在xs表中寻找首次出现姓名为 张三 的记录USExs LOCATEFORlExpression Scope SEEKeExpression ORDERTagName ASCENDING DESCENDING INnWorkArea cTableAlias 或表尾 出于对效率的考虑 建议更多地使用SEEK命令 利用CONTINUE命令可以进行下一条满足条件记录的定位 记录定位的方法 2 返回 14 04 2020 VisualFoxPro6 0 95 前提 xs表有6条记录 仅第3条记录的xm字段值为 张三 打开xs表 USExs BOF SEEK 张三 ORDERxm RECNO RECNO EOF GOTOTOP SKIP 1 BOF F 寻找xm为 张三 的记录 3 移动记录指针到第一条记录 7 T 记录指针上移一条记录 T CONTINUE 继续寻找下一条xm为 张三 的记录 BOF F 记录指针的状态 BOF EOF T T 一起来思考 返回 14 04 2020 VisualFoxPro6 0 96 例 UPDATExsSETxh x xh将学号前加个 x CLOSETABLESALLUSExsREPLACExhWITH x xhALL 1 界面方式的记录修改通过项目管理器 菜单选择或BROWSE命令打开表 记录的修改 格式1 UPDATETableNameSETColumn Name1 eExpression1 Column Name2 eExpression2 WHEREFilterCondition 不需事先打开表 格式2 REPLACEFieldName1WITHeExpression1 ADDITIVE FieldName2WITHeExpression2 ADDITIVE Scope FORlExpression 针对当前打开的表 2 使用命令修改记录 返回 14 04 2020 VisualFoxPro6 0 97 返回 记录的删除 例 对xs表文件中所有男生加注删除标记USExsDELETEFORxb 男 等价于 DELETEFROMxsWHERExb 男 可以通过界面操作或如下命令实现 删除标记 可以通过SETDELETEON OFF指定是否处理有删除标记的记录 DELETE Scope FORlExpression INnWorkArea c

温馨提示

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

评论

0/150

提交评论