




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章VFP数据库基本操作 1 本章要点 VisualFoxPro表的操作VisualFoxPro数据库的创建和使用 2 本章学习目标 理解VisualFoxPro支持数据库的库 表二级结构 掌握数据库和表的常用操作理解数据库表和自由表的区别和联系理解数据完整性的三个方面 掌握保证数据完整性的技术手段理解数据索引的作用和类型 掌握索引的方法和索引的使用理解工作区的概念 掌握不同工作区间数据的引用方法 3 目录 多表操作 索引 表的使用 创建表 数据库与表 数据完整性 4 3 1数据库与表 数据库 表 5 表文件名 学生 dbf 表的结构 表的数据 字段 6 数据库的基本操作 7 VisualFoxPro数据库设计基础 设计步骤a 需求分析 b 概念设计 分析用户需求 建立基于DBMS概念模型 E R模型c 逻辑设计 将E R图转换为关系模型一个实体型转换为一个关系模式 确定实体间的联系d 物理设计 在VFP中建立数据库和表文件e 调试保存 8 E R模型 E R模型的构成成分是实体型 属性和联系集其表示方法如下 1 实体用矩形框表示 矩形框内写上实体名 2 实体的属性用椭圆框表示 框内写上属性名 并用无向边与其实体相连 3 实体间的联系用菱形框表示 联系以适当的含义命名 名字写在菱形框中 用无向连线将参加联系的实体矩形框分别与菱形框相连 并在连线上标明联系的类型 即1 1 1 N或M N 9 准备工作 1 新建一个文件夹来放置新建数据库及表等文件 为便于管理 2 修改文件默认保存路径 工具 选项 文件位置 默认目录 3 新建项目文件 项目是一种文件 它是文件 数据 文档和对象的集合 要开发设计VFP数据库管理系统 一般是先利用项目管理器建立一个项目文件 然后在项目中建立数据库 表 查询文件 程序及相关文件的设计 4 规划好需要哪些表 确定表中数据的类型 10 建立数据库 建立数据库 常用方法有三种 在项目管理器中建立数据库 使用菜单建立数据库 使用命令建立数据库 例3 1 实例学生成绩管理系统 建立数据库 成绩管理 及修改与删除等操作 方法一 在项目管理器中操作 方法三 使用命令方式操作 方法二 使用菜单方式操作 11 建立数据库 建立数据库的命令为 格式 CREATEDATABASE 数据库文件名 在例3 1中 命令 CREATEDATBASE成绩管理 12 数据库的打开与关闭 打开 OPENDATABASE 数据库文件名 EXCLUSIVE 关闭 CLOSEDATABASE ALL 13 修改数据库 数据库设计器是交互修改数据库对象的界面和向导 例如增加或删除数据库中的数据库表等 打开数据库设计器同样也用三种实现 在项目管理器中打开数据库设计器 使用菜单打开数据库设计器 使用命令打开数据库设计器 命令格式如下 MODIFYDATABASE 数据库文件名 14 删除数据库 用来删除数据库的命令格式如下 DELETEDATABASE 数据库文件名 DELETETABLES 15 3 2创建表 表是一组相关联的数据按行和列排列的二维表格 Table 在VisualFoxPro中 表 数据 的每一列都是一个字段 每一行都是一条记录 创建表即为表结构的创建 表结构创建后 才可以输入表数据 16 表的结构 字段名称 段名称是字段的标识 又称为字段变量 VisualFoxPro中自由表的字段名由个数不超过10个的字母 数字或下划线组成 表的结构 字段类型和字段宽度 VisualFoxPro中的每一项数据都有固定的类型 每一个字段中的数据必须是同一种数据类型 17 表3 1字段类型和宽度 18 表3 2 学生 表结构 表3 2所示的结构可表示为 学生 学号C 10 姓名C 10 性别C 2 年龄I 院系C 10 19 创建表 独立于数据库而存在的表 称为自由表 存在于数据库中的表称为数据库表 在VisualFoxPro创建表时 如果当前没有数据库打开时 则创建的表为自由表 反之为当前数据库的数据库表 在VisualFoxPro中 创建表的工具有表向导和表设计器 一般使用表设计器 利用表设计器建立表的操作方法有两种 一是利用菜单建立 二是使用Create命令 如果要建立数据库表 此时使数据库处于打开状态 如果要建立自由表 此时需关闭所有数据库 20 创建表 例3 2 实例学生成绩管理系统 建立数据库表 学生 表 课程 表和 选课 表 方法一 使用数据库设计器 方法二 菜单方法 方法三 命令方法 自由表的创建 需关闭所有数据库教师表的建立 菜单方法 用命令方法或在项目管理器中同样也可建立 21 数据库表设计器窗口 自由表设计器界面 相对于自由表 数据库表新增了许多新的功能 22 1 空值 2 字段有效性组框 3 显示组框 4 字段注释 23 数据库表与自由表 数据库表与自由表可以相互转换 例3 3 数据库表 自由表 1 向数据库添加表 2 从数据库中移出表 例3 3Demo 24 3 3表的使用 表一旦建立起来以后 就可以对它进行相应的操作 例如 修改表的结构 添加 删除 修改 查看记录等等 表的操作都需要使被操作表处于打开状态 否则系统报错 25 表的打开和关闭 打开与关闭表都是使用USE命令 格式 USE 例如 打开表 USE学生关闭表 USE 26 修改表结构 修改表结构主要包括 修改字段名 字段类型 字段宽度 小数位数 插入 添加 字段 删除字段 调换字段的顺序等内容 修改表结构 即为重新打开表设计器设置字段属性的过程 例3 4 实例学生成绩管理系统 修改 学生 表结构 命令格式 ModifyStructureUse学生ModifyStructure 27 浏览记录 1 使用 浏览 窗口浏览记录2 使用命令方式打开浏览窗口在命令方式下 首先用USE命令打开要操作的表 然后键入BROWSE命令 3 列表方式显示表记录LIST DISPLAY FIELDS 字段名表 范围 FOR 条件表达式1 28 追加记录 1 菜单方式 表 追加新记录 2 命令方式APPEND BLANK IN 工作区号 表的别名 29 修改记录 1 用浏览方式修改数据2 REPLACE命令REPLACE 范围 FOR 条件表达式 字段名1 WITH 表达式1 字段名2 WITH 表达式2 例如 假设有 教师 表 结构表示为 教师 姓名C 8 职称C 6 原工资N 10 2 新工资N 10 2 将 教师 表中所有职称为 教授 的原工资提高10 的命令 REPLACE原工资WITH原工资 1 1for职称 教授 30 记录的定位 记录定位是指根据需要将记录指针移到指定记录 使之成为当前记录 以便对之操作 文件的首记录又称为TOP 尾记录称为BOTTOM 用USE打开表时 指针总是指向第一条记录 1 绝对移动格式1 GO GOTOTOPGO GOTOBOTTOM格式2 GO GOTO 数值表达式 2 相对移动SKIP 数值表达式 31 表测试函数 1 测试文件尾函数格式 EOF n 用于测试指定工作区中的表的记录指针是否指向文件尾 是 则返回 T 否则返回 F 2 测试文件首函数格式 BOF n 用于测试指定工作区中的表的记录指针是否指向文件首 是 则返回 T 否则返回 F 3 测试当前记录号函数格式 RECNO 功能 得到当前表的当前记录号 4 测试表文件记录数函数格式 RECCOUNT 功能 得到当前表的记录数5 测试表字段函数格式 FCOUNT 功能 得到当前表的字段数 32 删除与恢复记录 1 逻辑删除DELETE 范围 FOR 条件表达式 例 逻辑删除所有性别为 男 的学生信息 DELETEFOR性别 男 2 物理删除格式 PACK3 物理删除表中的全部记录 格式 ZAP4 恢复逻辑删除的记录格式 RECALL 范围 FOR 条件表达式 例 将当前表中已经逻辑删除的男生记录恢复RECALLFOR性别 男 33 3 4索引 什么是索引索引是按照索引表达式的值使表中的记录有序排列的一种技术索引实际上是一种排序 但是它不改变表中数据的物理顺序 而是另外建立一个记录号列表 与图书的索引目录相同 34 索引类型 35 索引文件 36 建立索引 使用表设计器建立索引 例3 5 实例学生成绩管理系统 为 学生 表建立复合结构化索引 索引名 学生 CDX 37 命令方式创建索引格式 INDEXONeExpressionTOIDXFileName TAGTagName OFCDXFileName FORlExpression COMPACT ASCENDING DESCENDING UNIQUE CANDIDATE ADDITIVE 例如 INDEXON院系 学号TAGWIZARD 1CANDIDATEINDEXON学号TAG学号ADDITIVE 38 使用索引 1 指定主控索引 指定对表记录排序起作用的索引指定主控索引的命令 SETORDERTO nIndexNumber TAG TagName ASCENDING DESCENDING 例如 SETORDERTO学号DESCENDING2 使用索引快速定位利用索引快速定位的命令 SEEKeExpression ORDERnIndexNumber TAG TagName ASCENDING DESCENDING 例如 SEEK 2009501018 ORDER学号 39 3 删除索引单索引文件 WINDOWS下删除复合索引文件 DELETETAGALL 索引标识符1 索引标识符2 例如 DELETETAG学号DELETETAGALL 40 3 5多表操作 用户可以在不同的工作区中同时打开多个表 可以在不同的工作区打开同一个表 通过表的别名 用户可以引用在不同工作区打开的表中的数据 41 工作区的基本概念 1 工作区工作区是用来保存表及其相关信息的一块内存空间 打开表 实质是将表文件从磁盘调入一个工作区中 每个工作区只能存放一个表文件 若在一个工作区中打开一个新的表 则原来存放的表将被关闭 2 工作区编号和工作区别名工作区编号 工作区号 1 32767工作区名字 工作区的别名 1 10 A J自定义别名 USE ALIAS IN0 3 当前工作区当前被选择的工作区称为当前工作区在当前工作区打开的表 就称为当前表VisualFoxPro启动后 自动指定1号工作区为当前工作区 42 工作区的选择和使用 1 选择工作区SELECT 工作区编号 工作区别名 表别名 例如 USE学生 默认在1号工作区打开表 学生 dbfSELECTD 选择4号工作区为当前工作区USE教师 在当前 4号 工作区打开表 教师 dbfUSE课程ALIAScourse 在当前工作区打开 课程 表 关闭 教师 表SELECT1 选择1区为当前工作区LIST 显示当前 1号 工作区 学生 表的记录SELECTcourse 或SELE4 SELEd 但不能使用SELE课程LIST 显示 课程 表的记录 43 2 在不同工作区打开同一个表方法是在打开表的USE命令后加上关键字AGAIN 例如 SELE1USE学生USE学生ALIASstudentIN3AGAINSELE2USE学生AGAIN3 使用不同工作区的表在别名后加上点号分隔符 或 操作符例如 SELECTAUSE学生 打开表未指定主索引顺序 指针指向 号记录SELECTBUSE课程SELECTA 学号 姓名 B 课程名称 44 永久联系 两个表之间关联 一个表 子表 的记录发生变化 另一个表 父表 的记录也发生变化 或者相反 表之间的关联 临时关系 一旦退出VisualFoxPro或关闭了父表或子表 所建立的关联自动取消永久关系 一旦创建 便会一直存在于数据库文件中 只要打开数据库 表之间的关系便自动建立永久联系的建立 一对一的关系 两个表都必须根据相同字段建立一个主关键字索引一对多的关系 父表中建立一个主关键字索引 子表中建立一个普通索引永久联系需要在数据库设计器中建立 例3 6 实例学生成绩管理系统 建立表之间的永久联系 45 临时联系 永久联系不能控制不同工作区记录指针的关系临时联系 当父表的记录指针移动时 子表中的记录指针会自动移动到和父表当前记录相关联的记录上 命令格式 SETRELATIONTO 索引关键字 INTO 表别名 父表建立主索引 子表建立普通索引在建立联系时必须选择父表所在的工作区为当前工作区取消 SETRELATIONTO例如 如下命令通过 学号 索引建立了学生表和选课表之间的临时联系 opendatabase成绩管理use学生in1order学号use选课in2order学号setrelationto学号into选课 46 3 6数据完整性 数据完整性是指数据的精确性和可靠性 防止数据库中存在不符合语义规定的数据防止因错误信息的输入输出造成无效操作或错误信息数据完整性一般包括实体完整性 域完整性和参照完整性等 47 3 6数据完整性 1 实体完整性 保证表中记录唯一的特性利用主关键字或候选关键字来保证表中的记录唯一 从而保证实体唯一性如果一个字段的值或几个字段的值能够唯一标识表中的一条记录 则这样的字段称为候选关键字 在VFP中主关键字为主索引 候选关键字为候选索引 主索引与候选索引都可以保证记录的唯一性 48 2 域完整性 列的值域的完整性 如数据类型 格式 值域范围 是否允许空值等 VisualFoxPro通过建立字段有效性规则 域约束规则 实现域完整性建立字段有效性规则比较简单直接的方法仍然是在表设计器中建立 在表设计器的 字段 选项卡 规则 字段有效性规则 信息 违背字段有效性规则时的提示信息 默认值 字段的默认值 三项 3 6数据完整性 49 3 参照完整性 确保数据库中表间关系不被破坏当插入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商业大厦租赁合同
- 2025借款合同成立的认定及责任承担
- 2025【合同范本】电子产品供应合同范本
- 2025物业租赁合同书样本
- 2024秋七年级英语下册 Module 6 Around town Unit 3 Language in use说课稿 (新版)外研版
- 2025水泥购销合同范本
- Module 7 Unit 3 说课稿 海南省海口市 2024-2025学年外研版九年级英语上册
- 2.3.2气体摩尔体积(讲义)-2024-2025学年高一化学同步教学教学设计+讲义(人教版2019必修第一册)
- 电池厂后勤保障管理制度
- 2025个体土地交易合同
- 分子进化与系统发育分析
- 26个英语字母手写体(含笔顺)精要课件
- 【教师必备】部编版五年级语文上册第三单元【集体备课】
- IATF16949-2016内审员理论考试题库及答案
- 跟单信用证业务基础知识讲解(36张)课件
- 部编版六年级道德与法治上册第5课《国家机构有哪些》精品课件【带视频】
- 中国文学理论批评史全套教学课件
- (新版)民用航空安全检查规则100题
- 超高压线路成套保护装置技术和使用说明书
- UPS电池更换方案
- 常熟理工学院教学质量保证体系基本信息问答
评论
0/150
提交评论