资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章,VFP数据库及其操作,第章 VFP数据库及其操作,3.1 项目管理器的基本操作,3.2 创建数据表,3.3 数据表的基本操作与维护,3.4 数据表排序与索引,3.5 创建数据库,3.6 建立数据字典,3.7 多数据表操作,Go,Go,Go,Go,Go,Go,Go,Visual FoxPro 6.0数据库与程序设计,项目是文件、数据、文档和VFP对象的集合,它包含了一个应用系统开发过程中使用的各种数据库、表、查询、表单、报表、应用程序及其他文件。 扩展名:pjx用户在开发一个应用系统时,通常是先从创建项目开始的。 1.建立项目文件菜单方式:文件/新建 命令方式:create project 2.打开项目文件菜单方式:文件/打开 命令方式:modify project,数据库表 表自由表,一个数据表由数据表名、数据表的结构、数据表的记录三要素构成。,学生成绩表,创建表方法:菜单方式:文件/新建命令方式:create 表名,3.2.1 定义表结构定义表中的字段个数、字段名、字段类型、字段宽度等。,学生信息表结构,3.2.2 输入记录(1)建立结构后,选择“是”可进入数据输入窗口。(2)表处于打开状态下:显示/浏览 或显示/编辑显示/追加方式(3)表末打开情况:先打开表 再使用(2)中方法。,常见错误 1.表结构还没设计完呢,误关窗口,如何继续? 显示/表设计器 2.不小心关闭了输入数据窗口,想继续输入数据怎办?显示/浏览,显示/追加方式继续输入数据 3.在输入数据时,发现表结构有错,怎么办?关闭输入数据窗口,显示/表设计器,修改表结构并保存,显示/浏览,显示/追加方式继续输入数据。 4.如何改变表结构顺序?按住左边的小方块,拖动鼠标。 5.如何输入备注内容/通用字段内容? 双击memo/gen,3.3.1 数据表的打开与浏览,3.3.2 记录的定位,3.3.3 修改表结构,3.3.4 添加记录,3.3.5 修改记录,3.3.6 删除记录,3.3.8 数据表的复制,3.3.7 表与数组之间的数据交换,3.3.1 数据表的打开与浏览,1.打开数据表文件 菜单方式:文件打开 命令方式: USE 表文件名 例:打开学生.dbf。,2.浏览与显示表结构 菜单方式:显示表设计器 命令方式: list/display structure 例:浏览与显示学生.dbf表结构。,注意:总计比字段之和多1。 是用来存放删除标记的。,例:筛选出学生表中男生记录。,3.浏览与显示表记录 (1)菜单方式:显示浏览或编辑 (2)命令方式: browse 例:浏览与显示学生.dbf表记录。 (3)在浏览窗口中有选择地浏览数据:筛选记录、选择字段。 菜单方式筛选记录:表属性,课堂练习:,筛选出DJKS表中考场为401的男生记录。,思考:如何取消筛选?,方法:表属性,命令方式筛选记录:set filter to 条件,例:筛选出学生表中男生记录。,Set filter to 性别=“男” 注意:set filter to 为取消筛选。,菜单方式选择字段:表属性 例:查看学生表中学号、姓名和系别三个字段。,命令方式选择字段:set fields to 字段列表,例:查看学生表中学号、姓名和系别三个字段。 Set fields to 学号,姓名,系别 注意:取消字段的选择: Set fields to all,3.3.2 记录的定位,Go Skip Locate for 条件,3.3.3 修改表结构,菜单方式:显示表设计器 命令方式: modify structure 修改已有的字段 增加字段 删除字段 改变字段顺序,3.3.4 添加记录,1.在浏览窗口中追加记录 菜单方式:显示追加方式 命令方式: append blank 2.插入记录 命令方式:insert before blank 3.从其他文件中追加记录 菜单方式:表追加记录 命令方式:append from 表名 fields 字段名 for 条件,3.3.5 修改记录,方法:显示/浏览 或brow 或 edit *批量修改记录 菜单方式:表替换字段,例:将djks表中考场401改为509。,命令方式: repl 字段 with 表达式 for 条件,例:将djks表中考场401改为509。 Repl 考场 with “509” for 考场=“401”,思考:如何将djks表中结论字段清空?,课堂练习:1.为学生表增加字段:助学金 n(6,2)2.所有学生发放50元。3.为管理系男生增加5元。,3.3.6 删除记录,加删除标记(逻辑删除) 命令方式: delete 范围 for 条件恢复逻辑删除 命令方式: recall 范围 for 条件 物理删除(彻底删除) 命令方式:pack 一次性全部删除:zap,3.3.7 数据表与数组间的数据交换 1.将数据表中当前记录值复制到数组 Scatter to 例:use 学生go 4dispscatter to aadisplay memory like aa,2.将数组中的各元素值复制到数据表的当前记录gather from 数组名 例: use 学生append blank gather from aadisp,3.3.8 数据表的复制 1.数据表文件的复制 菜单方式:文件导出 命令方式:copy to 新表名 范围 field 字段名 for 条件,2.数据表结构的复制 命令方式: copy structure to 新表名 field 字段名,3.4.1 数据表的排序,3.4.2 数据表的索引,3.4.3 索引查询,3.4.4 数据表的统计与汇总,排序是把表中的记录按照某个字段值的大小顺序重新排列.,命令格式: Sort to 文件名 on 字段名/a或/d for 条件,例1:对学生表按性别降序排序,生成新表abc.dbf,Sort to abc on 性别/d Use abc list,3.4.1 数据表的排序,例2:对学生表按性别降序排序,当性别相同时,再按出生日期升序排序,生成新表abc.dbf,Sort to abc on 性别/d,出生日期 Use abc list,索引是按照索引表达式的值使数据表中的记录有序排列的一种技术.,索引实际上一种排序,但是它不改变数据表中数据的物理顺序,而是另外建立一个记录号列表。,结构化复合索引:文件主名和表文件主名相同,扩展名为.cdx,3.4.2 数据表的索引,(1).主索引 字段的值是唯一的, 一个表只能建立一个主索引, 只有数据库表才可以建立主索引。,(2).候选索引字段的值也是唯一的,但一个数据表只能有一个主索引,则只能建立候选索引。,(3).普通索引按字段值排序,如果多个记录的该字段值相同,均显示。,(4).唯一索引按字段值排序,如果多个记录的该字段值相同,只显示第一个。,利用表设计器为已有的表创建索引。,表属性,改变索引顺序,Index on 索引表达式 tag 索引名字,Set order to tag 索引名字,例1:用菜单方式对学生.dbf按学号(主)、性别(普通)、系别和性别(普通)、系别和出生日期(普通)建立索引,并按索引顺序浏览记录。,例2:用命令方式对学生.dbf按学号和姓名建立普通索引,并按索引顺序浏览记录。,Index on 学号 tag aa Index on 姓名 tag ab,set order to tag aa list set order to tag ab list,SEEK 命令 格式:seek 表达式 功能:在索引文件中查询关键字内容与表达式相同的第一条记录.,例1:用SEEK命令查询djks.dbf中刘宁记录。,Use djks Index on 姓名 tag abc Seek “刘宁”,3.4.3 索引查询,例1 统计xsda.dbf中年龄大于等于20的学生人数。 USE xsda Count for 年龄=20 TO n ?n,1统计记录个数命令,命令格式: COUNT FORTO ,功能:统计当前数据表文件中,在给定范围内,满足条件的记录个数。,TO : 将统计结果存到指定的内存变量中。,3.4.4 数据表的统计与汇总,2.求平均值命令 命令格式: AVERAGEFORTO 功能:计算当前数据表文件中数值型字段的算术平均值。 例 求男学生的平均年龄 USE xsda AVERAGE 年龄 FOR 性别=”男” to x ?x,3.求和命令 命令格式: SUM TO 功能:求当前数据表文件中数值型字段的和。,例 :求rcda表中女同志的 工资现状的总和. USE rcda Sum 工资现状 for 性别=“女” to x ?x,它是表的集合,即在一个数据库中可以包含若干个表。 数据库文件扩展名为:DBC1.数据库的创建(1) 在项目管理器中创建方法:打开项目文件选择“数据”中的“数据库”新建(2) 菜单方式文件/新建(3) 命令方式create database 文件名,2. 打开数据库(1) 项目管理器方式方法:在项目管理器中双击要打开的数据库(2) 菜单方式文件/打开(3) 命令方式modify database 文件名 3. 关闭数据库 单击“关闭”按钮/close database all,4. 删除数据库(1) 项目方式移去(3) 命令方式delete database 文件名,设置表中字段的显示标题,设置表中字段的注释,设置表中字段的有效性规则,设置表中字段的默认值,注意:本节内容要求对数据库表操作.,3.6.1.3设置表中字段的显示标题,例:在学生表中为系别字段指定标题为:学生所在系.,设置方法: 数据库表-右键-修改-标题,查看方法: 显示-浏览,即可看到字段名称已改变.,注意:字段标题仅在显示时改变,实际字段名并没有改变.,3.6.1.4.设置表中字段的注释,设置方法:,查看方法: 1:和设置方法相同。 2:在项目管理器中打开成绩表,选中成绩字段,在窗口底部会看到。,数据库表-右键-修改-字段注释,例:在成绩表中为成绩字段加注释:成绩字段指平时测验、期中测验和期末测验的总评成绩。,3.6.2.1.设置表中字段的有效性规则,设置方法:,查看方法: 显示-浏览,例:在学生表中为性别字段设置规则为:性别只能是男或女,出错提示为:性别必须是男或女,不接受其它值.,数据库表-右键-修改-规则和信息,规则:性别=“男”.or.性别=“女” 或:性别$“男女”,信息:“性别必须是男或女,不接受其它值.”,3.6.2.2.设置表中字段的默认值,设置方法:,例:在学生表中为性别字段设置默认值为:男,数据库表-右键-修改-默认值,查看方法: 显示-浏览,注意:男要加引号。,要求: 一、建立关联的表具有相同的字段 二、每个表都要以该字段建立索引,1.建立表间的一对一关系,两个表中的关键字段值都是唯一的。 父表建主索引,子表建候选索引或主索引。,2.建立表间的一对多关系,例1:为学生表和成绩表建立连接(设置永久性联系). 方法(1)为学生表按学号建立主索引.(2)为成绩表按学号建立普通索引.(3)从主索引向普通索引拖拽. 例2:为课程表和成绩表建立连接. 方法(1)为课程表按课程号建立主索引.(2)为成绩表按课程号建立普通索引.(3)从主索引向普通索引拖拽.,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号