《2022年第三章VF数据库及其操作教案》由会员分享,可在线阅读,更多相关《2022年第三章VF数据库及其操作教案(12页珍藏版)》请在金锄头文库上搜索。
1、名师精编精品教案第三章 VF 数据库及其操作一、创建数据库表:注:表分数据库表和自由表,其文件扩展名都为:.dbf。数据库表是指属于某个数据库的表,自由表是指不属于任何数据库的表。打开项目管理器 - 数据库 -表-新建;使用新建命令或者使用Create 命令建立数据库;1.方法: open database打开数据库 create建立表。注:如果没有先用open database打开数据库,而是直接用create命令建立表也可以,因为它不包含有些在数据库中才能实现的功能,这时建立的表不是数据库中的表,而是自由表;新建的表处于打开处状态可以直接进行录入及修改表结构操作,如果以后进行操作:1.可以
2、直接在盘符中找到打开;2.在命令窗口中输入USE TableName(表名) 单击“ 显示浏览” 或者在命令行输入BROWSE LASE 回车即可。二、数据库表的字段属性:1、字段显示属性:字段名是字段的唯一标志,由1128 个非空字符组成;字段名即关系的属性名或表的列名。一个表由若干列(字段)构成,每个列都必须有一个惟一的名字即字段名字段名可以是汉字或合法的西文标识符;注:自由表:2自由表字段名最长为10 个字符。3数据库表的字段名最长为128个字符。4字段名必须以字母或汉字开头。5字段名可以由字母、汉字、数字和下划线组成。6字段名中不能包含空格。注:字段类型决定了存储的数据类型,字段宽度决
3、定了存储数据的宽度和取值范围。字段的类型(字段变量)字段类型宽度实际定义宽度字段类型宽度实际定义宽度字符型 C 254 自定义双精度 (B) 20 位8 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 12 页名师精编精品教案数值型 (N) 20 位8 整型(I) 10 位4 浮动型 (F) 20 位8 逻辑型 (L) 1 1 日期型 (D) 8 8 备注型 (M) 4 不受限制日期时间型 (D) 14 14 通用型 (G) 4 不受限制货币型 (Y) 20 位(bit) 8 注:备注型和通用型内容存放在扩展名为:.fpt 文件中。通用
4、型可以存放图片等多媒体内容,而备注型不能存放图片等。记住各字段类型及字母表示、宽度。注:NULL :空值表示字段或变量还没有确定值。三、设置字段的显示格式:格式确定了一个字段在数据浏览窗口、表单或报表中的显示方式。可以在格式文本框中输入所需要的格式码,常用的格式用。在当前的“ 工具” 选项下进行设置;四、设置字段的有效性:规则:即字段有效性规则,用来指定该字段的值必须满足的条件,为逻辑表达式;信息:即违背字段有效性规则时的提示信息,为字符串表达式;默认值:即字段的默认值,可以减少数据输入的工作量,类型以字段的类型来确定。一、对数据库表的操作:1添加数据库表 :一个数据库中可以包括一个或多个相关
5、联的数据表,可以向数据库中加入任何已经建立的表,但这个表不能属于其他的数据库,因为同一个表在同一时间只能属于一个数据库。如果要把其他数据库中的表加入到一个新的数据库中,可以先把要加入的表从原来的数据库中移出。注:添加数据库表的方法先打开数据库 右击添加表 选中要添加的表 确定即可。2 删除数据表: 在要删除的数据表上右击 移去即可。 如果单击删除, 该表将从磁盘上删除。二、修改表结构:1、在项目管理器中进行修改;2、在数据库设计器中进行修改;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 12 页名师精编精品教案3、 使用命令进行修改:
6、 如果当前表不在数据库设计器中, 则首先用 USE 命令打开要修改的表 然后输入 modify setructure (此命令后不能有任何参数,其功能是修改当前表的结构)打开表设计器进行修改操作即可。修改已有的字段 :用户可以直接修改字段的名称、类型和宽度。增加新字段: 要在原来的字段后增加新的字段,可以直接将光标移动到增加新字段,然后输入新的字段名、字义类型和宽度;如果要在原来的字段中间插入新的字段,则首先将光标定位在要插入新字段的位置,然后单击“ 插入” 按钮,这时会插入一个新的字段,输入新的字段名、定义类型和宽度。删除不用的字段: 若要删除某个字段,首先将光标定位在要删除的字段上,然后单
7、击“ 删除”按钮即可。三、对表的基本操作:1、打开并游览表有多种方式:在项目管理器中将数据库展开至表并选中要浏览的表单击浏览即可。在数据库设计器中选择要操作的表从数据库中选择浏览。在命令窗口中,首先用USE 打开要操作的表 输入 BROWSE 命令来浏览表;即可对表进行浏览、添加、删除和修改操作。2、浏览表的操作:A:下一记录:下箭头键;B:上一记录:上箭头键;C:下一页: BageDown键; D:前一页: PageUP键;E:下一字段: Tab 键;F:前一字段: Shift+Tab 键;还可以使用四个方向键;3、用命令对表进行操作:修改表中的数据:A:追加记录命令格式: APPEND B
8、LANKAPPEND:在表文件的尾部追加任意多少记录,并且进入交互式状态 ,等待用户输入数据 .APPEND BLANK :在表文件尾部追加一条空白记录。B:插入记录的命令格式:INSERT BEFOE BLANK精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 12 页名师精编精品教案INSERT :在当前记录的后面插入任意多少记录,并且进入交互式状态等待用户输入数据。INSERT BEFOR:在当前记录的后面插入任意多少记录,并且进入交互式状态等待用户输入数据。INSERT BLANK :在当前记录的后面插入一条空白记录。INSERT
9、 BEFORE BLANK:在当前记录的前面插入一条空白记录。C:删除记录:在 VF 中删除记录分为逻辑删除和物理删除两个步骤。逻辑删除是指给表文件中的记录打上一个删除标记(可以恢复) ,但表中记录仍然存在, 物理删除是指将表文件中的数据彻底删除(不能恢复) 。1逻辑删除记录命令格式:DELETE 范围 | FOR ALL :表示所有DELETE :逻辑删除当前表中的当前记录一条。DELETE ALL :逻辑删除当前表中所有记录。DELETE FOR:逻辑删除当前表中满足条件的记录。Delete from 表名 where 条件例如:逻辑删除当前表中职工编号为003 的员工: DELETE F
10、OR 职工编号 =0032 物理删除记录命令:3PACK:物理删除当前表中打上逻辑删除标记的所有记录。4ZAP:物理删除当前表中所有的记录(不管是否打上逻辑删除标记,但表结构并没有删除)注:DELETE ALL 和 PACK 两个命令集合等价于ZAP 功能D:恢复记录的删除:RECALL FOR + 逻辑表达式:如:将当前表中已经删除的女生记录恢复:RECALL FOR 性别=” 女”1修改记录命令格式:REPLACE WITH FOR 修改全部记录的命令 : REPLACE ALL WITH 1.修改面积为 500的城市为贵阳2.修改仓库在武汉的仓库号为WH3 3.把所有仓库的面积增加100
11、 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 12 页名师精编精品教案注:没有 FOR 和默认只替换当前记录一条。如果有 FOR和替换指定范围当中的满足条件的记录 (有 FOR没有时,默认范围是ALL )例:将当前表中所有学生的年龄加2。REPLACE ALL 年龄 WITH 年龄+22显示记录命令: LIST 和 DISPLAY LIST :默认范围是所有记录。当 SET DELETED 为 ON 时,LIST 不显示带删除标记的记录。DISPLAY :默认显示当前记录。TO PRINTER ,DISPLAY :是将结果定向输出到
12、打印机;PROMPT :可以调整打印机的设置;TO FILE FILENAME:是将结果定向输出到指定的文件中。例:显示 XS 表中的女生记录;USE XS 打开学生表LIST 姓名,政治,数学FOR 性别=” 女” 即可显示女生的记录。3查询定位(或者叫记录指针定位)查询定位命令格式: LOCATE FOR 将记录指针定位到从上至下第一个满足条件的记录上。如果表中没有满足条件的记录时,记录指针则指到结束标识EOF。如需继续定位到下一个满足条件的记录上用CONTINUE 继续查找。注 CONTINUE 不能单独使用,必须跟 LOCATE FOR 联用。其格式为: LOCATE FOR 查询定位
13、的表达式DO WHILE FOUND ()/处理CONTINUEENDDO注:当用 LOCATE 命令发现一个满足条件的记录之后,可 CONTINUE 命令,从而在表的剩余部分寻找其他满足条件的记录,可重复的执行CONTINUE 命令,直到到达表尾。例:在下列示例中,搜索所有女生的记录,然后显示总数。USE XSSTORE 0 TO s精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 12 页名师精编精品教案LOCATE FOR 性别=” 女”Do WHILE FOUND ()s= s+1?姓名CONTINUEENDDO? “ 女生总数:
14、 ”+LTRIM (STR(GNCOUNT )4直接定位的命令: GOTO N|TOP|BOTTOM 说明:N 指表文件中的记录号,而不是表中的第几行;TOP:表中的首记录即第一行记录,而不是起始标识BOF。BOTTOM :表中的尾记录即最后一条记录,而不是结束标识EOF;例:USE XS 打开学生表GO TOP 将记录指针定位在表的第一个记录上GO BOTTOM :将记录指针定位在表的最后一个记录上。相对定位命令格式: SKIP NN:表示将记录的指针从当前记录移动N 行,正数往下移,负数往上移,但当遇到起始标识BOF或结束标识 EOF 时,则停止移动;例:USE XS 打开学生表;SKIP
15、 1?RECNO() 显示 2查询定位命令格式: LOCATE FOR 索引:1 使记录按某种顺序排列,但不需要改变记录的物理位置。是由记录指针构成的文件,当在表文件中建立索引后表中记录的物理顺序(记录号)不会发生改变,只是逻辑顺序发生改变。也称为逻辑排序。2索引文件的扩展名为: .CDX精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 12 页名师精编精品教案注:索引文件具有如下特点:3同一个索引文件中可以有多种排序方式,有多个索引关键字。4在对表进行添加、删除、更改操作时,索引文件自动维护。种类要求特点主索引是关键字才能建立主索引不允
16、许出现重复值,只有数据库表才能建立, 并且只能建立一个主索引候选索引是关键字才能建立主索引数据库表和自由表都能建立,每个表中可以建立多个候选索引惟一索引无要求保持与早期的版本兼容性,任何表任何字段都能建立, 并且可以建立多个 , 建好后索引中的值是唯一的;它的“唯一性”是指索引项的唯一,而不是字段值的唯一。普通索引无要求允许字段中出现重复值, 也允许索引项出现重复值, 任何表任何字段都能建立 , 并且可以建立多个所以在 VFP 中,索引可分为主索引、候选索引、唯一索引和普通索引4 种。任何一种索引均可以设置升序和降序。二、创建索引:分单项索引和复合字段索引。1. 单项索引:(1)打开表设计器
17、在“ 字段” 选项卡中选择要建立索引的字段后,在对应的索引的下拉列表框中选择无、升序或降序,就产生了单项普通索引,索引名与字段名相同,索引表达式就是对应的字段。(2)如果要将索引定义为其他类型的索引,应选择表设计器中的“ 索引” 选项卡,然后从 “ 类型” 下接列表框中选择索引的类型,这时可以根据需要选择要建的索引即可。2. 复合索引:(1)在多个字段上的索引称做复合字段索引,其建立方法:(2)在表设计器中的 “ 索引” 下单击“ 插入” 在表达式下输入所需要的索引名确定选择类型 表达式默认 确定即可。注:在一个表上可以建立多个普通索引,唯一索引和候选索引,但只能建立一个主索引。通常,主索引用
18、于确定主关键字字段;候选索引用于不作为主关键字但字段值又必须唯一的字段;普通索引用于一般地提高查询速度;唯一索引用于一些特殊的程序设计。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 12 页名师精编精品教案3. 用命令方式建立索引:其表达式为: INDEX ON 索引表达式TAG 索引名 UNIQUE| CANDIDATE 说明:表达式: 指定一个索引表达式,它可以是字段名,或包含字段名的表达式。TAG 索引名: 表示创建一个复合索引文件,TAG 索引名指为索引命名多个索引,可以创建在一个索引文件中,这种索引称做结构复合索引,其文件名
19、与相关的表同名,并且扩展名为.cdx。UNIQUE :表示建立唯一索引。CANDIDATE :表示建立候选索引。例:打开学生表,并创建一个名为“ 排名” 的索引文件,该索引文件以 “ 政治” 字段的分类显示和处理记录。USE XSINDEX ON 政治 tag 排名CLEARDISPLAY 三、索引文件的种类:1非结构单索引文件中只包含一种索引,这种索引文件的扩展名为.idx。2非结构复合索引文件可以包含不同的索引标识的多个索引,也可以为一个表建立多个非结构复合索引文件,这种索引文件的扩展名为:.cdx3结构复合索引文件可以包含不同的索引标识的多个索引,一个表只能建立一个结构复合索引文件。这种
20、索引文件夹扩展名为:.cdx。注:结构复合索引文件具有随表打开时自动打开,在同一索引文件中能包含多个索引项,在添加、更改或者删除记录时自动维护索引等特性。四、使用索引的方法:1、打开索引文件:注:与表名相同的结构索引文件在打开表时都能够自动打开,但是对于非结构索引必须在使用之前打开索引文件,使用SET INDEX TO 命令。命令格式为: SET INDEX TO IndexFileList 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 12 页名师精编精品教案例:USE XS SET INDEX TO 排名 ORDER 政治2、设置
21、当前索引:命令格式为: SET ORDER TO 格式;例:USE XS SET ORDER TO 1例:将结构索引文件中的 “ 订购单号 ” 设置为当前索引。SET ORDER TO TAG 订购单号或者 SET ORDER TO 订购单号3、删除索引:(1)在表设计器中删除;(2)使用命令:DELETE TAG TagName1; TagName1 指要删除的索引名;DELETE TAG ALL 指删除全部索引。数据完整性:主要保证表中数据的正确性即三类:实体完整性、域完整性和参照完整性。一、实体完整性与主关键字:实体完整性是保证表记录的惟一性,即在一个表中不允许有重复的记录。在 VF 中
22、是利用主索引或候选索引来实现。二、域完整性与约束规则:即设置字段值的取值范围。约束规则又称为字段有效性规则,包括三个方面:规则:是设置字段值的取值范围(逻辑表达式)信息:是违背规则后的提示信息(字符表达式)默认值:是表示默认的数据(与该字段值的数据类型保持一致)。三、参照完整性:跟表之间的联系有关,包含三个方面:更新、删除和插入。设置参照完整性之间必须建立两个表之间的永久联系(物理联系),父表建立主索引,子表建立普通索引。自由表:一、创建自由表的方法:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 12 页名师精编精品教案使用项目管理器
23、:使用菜单方式;使用命令方法:(1)格式为: CREATE 表名例: CREATE XS 创建学生自由表;(2)打开表的方法:文件- 打开:USE 表名ALIAS IN AGAIN Exclusive/Noupdate Shared 命令的功能:在指定的工作区打开表文件。IN:指定要选择的工作区;ALIAS:为要打开的表指定一个别名;AGAIN :可以在某一工作区中打开其他要在工作区中打开的表;Exclusive:以独占方式打开表;Noupdate Shared :以只读方式打开表;(3)关闭表的方法:如果已打开一个表,当打开别一个表文件时,系统将自动将先前打开的表关闭。使用不带任何选项的US
24、E 命令,关闭当前已打开的表。使用 Close All命令:关闭所有类型的文件。使用 Close Database命令,关闭已打开的数据库文件、表文件、索引文件等。使用 Close Table命令:关闭当前打开的所有表,不改变当前工作区。使用 QUIT 命令,退出 VFP 系统,关闭所有打开的文件,返回操作系统。二、将自由表添加到数据库中:1使用项目管理器添加自由表;2使用数据库设计器添加自由表;3使用窗口命令添加自由表;命令格式为: ADD TABLE TableName 命令说明: TableName指定添加到数据库中的表的名称例:OPEN DATABASE “ 学生管理 ” EXCLUS
25、IVE 以独占方式打开 “ 学生管理 ” 数据库精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 12 页名师精编精品教案ADD TABLE XS 添加“ 学生” 自由表;注:一个表只能属于一个数据库,当一个自由表添加到某个数据库后就不再是自由表了,所以不能把已经属于数据库的表添加到当前数据库,否则会有出错提示。三、从数据库中移去表;使用项目管理器;使用数据库设计器;注:以上两种操作是从数据库中移去表,使数据库表成为自由表,所以应该单击“ 移去” 按钮,如果单击“ 删除” 按钮,则不仅从数据库中移去表,并且还将该表文件从磁盘上删除。从数
26、据库移出表后,与之联系的所有主索引、默认值及有关的规则都随之消失。若移去的表在数据库中使用了长表名,移出数据库后长表名将不能再使用。利用命令窗口方式移去表;1、命令格式为: REMOVE TABLE 表名|?DELETE RECYCLE 命令说明:表名:指定要从当前数据库中移去的表:?显示“ 移去” 对话框,从中可以选择一个要从当前数据库中移去的表;DELETE :指定从数据库中移去该表,并从磁盘上删除;RECYCLE :表示把表放入回收站。例:OPEN DATABASE 学生管理EXCLUSIVE 打开“ 学生管理 ” 数据库;REMOVE TABLE XS 移去学生表。四、更改表名:选择工
27、作区: select 在指定的工作区打开表:use in 1、打开要更改的数据表所在的项目右击要更名的数据表 重命名 输入新名称 确定即可。2、在表设计器中修改表名。五、多个表同时使用;1、工作区的使用: VF 中共有 32767个工作区;工作区号: 1-32767 工作区别名: 1-10别名为( A-J),11 以后的别名是( W11-W32767)2、选择当前工作区的命令格式:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 12 页名师精编精品教案SELECT | 说明:A:当执行 CLOSE ALL 关闭所有工作区的所有文件,并
28、返回到第一个工作区。B:当执行 SELECT 0 时表示选择到空亲(没有表文件打开)最小(工作区号)工作区作为当前工作区。C:当使用 USE(文件名) IN (工作区号)这种格式时:表示在指定的工作区打开指定表文件,但当前工作区并没有改变。D:当使用 USE(文件名) IN 0 时表示在空闲最小工作区打开指定的表文件,但当前工作区仍然没有改变。六、表之间的联系:1关联的特点是记录指针带动(当父表的记录指针移动时,子表中的记录指针跟随移动)。2关联是一种临时性联系也称为逻辑联系。3建立关联时在只需对子表建立普通索引,而父表可以不用建立主索引。七、排序 :是将记录按需要的顺序重新排列,产生一个新的数据库文件。实现从物理上对数据库的重新排列。索引可以使用户按照某种顺序浏览或查找表中的记录,这时的顺序是逻辑的,是通过索引关键字实现的。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 12 页