《VFP第三章》PPT课件.ppt

上传人:赵** 文档编号:64373724 上传时间:2022-11-29 格式:PPT 页数:83 大小:977KB
返回 下载 相关 举报
《VFP第三章》PPT课件.ppt_第1页
第1页 / 共83页
《VFP第三章》PPT课件.ppt_第2页
第2页 / 共83页
点击查看更多>>
资源描述

《《VFP第三章》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VFP第三章》PPT课件.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学学 习习 要要 点点3.1 3.1 表的基本操作表的基本操作3.2 3.2 表的维护表的维护3.3 3.3 索引索引3.4 3.4 数据库操作数据库操作3.5 3.5 数据字典与数据完整性数据字典与数据完整性一、表的基本概念一、表的基本概念1 1、表的分类、表的分类自由表自由表数据库表数据库表2 2、表的扩展名、表的扩展名.dbf .dbf 表文件的扩展名表文件的扩展名.fptfpt 有备注型或通用型字段的表扩展名有备注型或通用型字段的表扩展名第三章第三章 数据库和表数据库和表设置默认目录设置默认目录作用:所建立的文件会自动保存到该文件夹中。作用:所建立的文件会自动保存到该文件夹中。设置方法

2、:设置方法:(1 1)命令方式:)命令方式:set default to set default to c:vfpc:vfp(2 2)菜单方式:)菜单方式:工具工具-选项选项-文件位置文件位置-默认目录默认目录二、表的操作二、表的操作1 1、建立表、建立表方法:方法:1 1)使用)使用DBDB设计器设计器 2 2)“新建新建”对话框对话框 3 3)create create 表名表名第三章第三章 数据库和表数据库和表第三章第三章 数据库和表数据库和表缺值或还没有确定值缺值或还没有确定值1 1、字段名必须以字母或汉字开头、字段名必须以字母或汉字开头2 2、字段名可以由字母、汉字、数字和下划线组成

3、、字段名可以由字母、汉字、数字和下划线组成3 3、字段名不能包含空格、字段名不能包含空格4 4、数据库表字段名最长为、数据库表字段名最长为128128个字符个字符1 1、字符型(、字符型(C C):):254254个字符个字符2 2、货币型(、货币型(Y Y););8 8个字符个字符3 3、日期型(、日期型(D D):):8 8个字符个字符4 4、日期时间型(、日期时间型(T T):):8 8个字符个字符5 5、逻辑型(、逻辑型(L L):):1 1个字符个字符6 6、数值型(、数值型(N N):):2020个字符个字符7 7、双精度型(、双精度型(B B):):8 8个字符个字符8 8、浮点

4、型(、浮点型(F F):):2020个字符个字符9 9、整型(、整型(I I):):4 4个字符个字符1010、通用型(、通用型(G G):):4 4个字符个字符1111、备注型(、备注型(M M):):4 4个字符个字符关系的属性名或表的列名关系的属性名或表的列名说明:说明:NULL.NULL.表示是否充许字段值为空值,它与空串和表示是否充许字段值为空值,它与空串和0 0具有具有不同的意义,空值就是缺值或该值还没确定,而不是任何不同的意义,空值就是缺值或该值还没确定,而不是任何意义的数据。关键字段不允许设为空值。空值不是一种数意义的数据。关键字段不允许设为空值。空值不是一种数据类型,只是一个

5、值,输入空值时据类型,只是一个值,输入空值时Ctrl+0Ctrl+0第三章第三章 数据库和表数据库和表2 2、打开表、打开表方法:方法:use use 表名表名3 3、表的关闭表的关闭use use&关闭当前使用的表关闭当前使用的表close tablesclose tables&关闭当前数据库中所有打开的表关闭当前数据库中所有打开的表close tables allclose tables all&关闭所有打开的表关闭所有打开的表close allclose all&关闭所有打开的表、程序文件及表单等关闭所有打开的表、程序文件及表单等clear allclear all&关闭所有的表、程序文

6、件及表单等,关闭所有的表、程序文件及表单等,清清 除内存变量除内存变量4 4、修改表结构(打开表设计器进行修改)、修改表结构(打开表设计器进行修改)方法:方法:1 1)表设计器)表设计器 2 2)modify structuremodify structure注:注:modify structure modify structure 后面不接表名后面不接表名5 5、结构与数据的同时复制结构与数据的同时复制 Copy to Copy to fields fields for|for|while while 功能:将满足条件的记录按指定的结构复制到新的表文件。功能:将满足条件的记录按指定的结构复制

7、到新的表文件。use use xsqkxsqkcopy to xsqk1copy to xsqk1copy to xsqk2 for copy to xsqk2 for 身高身高1.7 fields 1.7 fields 姓名姓名,学号学号,体重体重,身高身高范围子句:确定该命令涉及的记录。(选择)范围子句:确定该命令涉及的记录。(选择)描述方法:描述方法:ALL表中所有记录表中所有记录NEXTN从当前记录起的从当前记录起的N条记录条记录RECORDN第第N个记录个记录REST从当前记录起到最后一个记录止的所有记录从当前记录起到最后一个记录止的所有记录缺省范围子句通常默认为缺省范围子句通常默认

8、为ALL 6 6只复制表文件结构只复制表文件结构COPY STRUCTURE TO COPY STRUCTURE TO FIELDS FIELDS 功能:按指定的字段表复制表结构到一个新文件,若不指定功能:按指定的字段表复制表结构到一个新文件,若不指定字段表,则复制与当前表相同的结构。字段表,则复制与当前表相同的结构。use use xsqkxsqkcopy structure to xsqk3 fields copy structure to xsqk3 fields 姓名姓名,学号学号,身高身高,体重体重use xsqk3use xsqk3list structurelist struct

9、ure第三章第三章 数据库和表数据库和表表的基本操作表的基本操作一、使用浏览器操作表一、使用浏览器操作表1 1、打开浏览器、打开浏览器方法(方法(1 1)表设计器)表设计器 (2 2)use use 表名表名 browsebrowse2 2、修改记录、修改记录3 3、增加记录、增加记录方法(方法(1 1)“表表”菜单菜单“追加新记录追加新记录”(2 2)Ctrl+YCtrl+Y第三章第三章 数据库和表数据库和表一、使用浏览器操作表一、使用浏览器操作表4 4、删除记录、删除记录 (1 1)逻辑删除:)逻辑删除:在记录旁边做删除标记在记录旁边做删除标记 菜单:表菜单:表 切换删除标记(切换删除标记

10、(Ctrl+TCtrl+T或鼠标点击)或鼠标点击)(2 2)物理删除:彻底删除)物理删除:彻底删除 菜单:表菜单:表 彻底删除彻底删除二者区别:逻辑删除只加删除标记,物理删除是建立在逻辑二者区别:逻辑删除只加删除标记,物理删除是建立在逻辑删除基础之上的,将加了删除标记的记录彻底删除删除基础之上的,将加了删除标记的记录彻底删除重复重复操作操作可去可去掉删掉删除标除标记记第三章第三章 数据库和表数据库和表二、使用命令操作表二、使用命令操作表(前提(前提:表处于打开状态)表处于打开状态)1 1、增加记录命令增加记录命令 1 1)append:append:在表的尾部增加记录在表的尾部增加记录 格式:

11、格式:appendappend append blank append blank append from append from 表名表名APPEND FROM APPEND FROM 文件名文件名 FIELDSFIELDS FOR FOR 将一个表的将一个表的中的内容追中的内容追加到另一个加到另一个表的尾部表的尾部例如:将例如:将学生学生1 1表的记录追加到表的记录追加到学生学生表的尾部表的尾部useuse 学生学生append fromappend from 学生学生1 1browsebrowseappend from append from xsxxsx field field 学号学

12、号,姓名姓名2 2)insert:insert:在表的任意位置插入新的记录在表的任意位置插入新的记录 格式:格式:insert blankinsert blank insert before blank insert before blank例:在例:在“学生学生1”1”表的第三条纪录前插入一条新记录(表的第三条纪录前插入一条新记录(XS0412XS0412,肖慧,女,肖慧,女,1980-09-161980-09-16,上海,英语),上海,英语)第三章第三章 数据库和表数据库和表gogo 3 3Insert beforeInsert before第三章第三章 数据库和表数据库和表2 2、删除记

13、录命令、删除记录命令 delete for delete for 条件条件:逻辑删除逻辑删除 recall for recall for 条件条件:恢复被逻辑删除的记录恢复被逻辑删除的记录 packpack:物理删除:物理删除 zapzap:物理删除表中全部记录,表结构仍然存在:物理删除表中全部记录,表结构仍然存在注:注:deletedelete不加条件,逻辑删除当前记录不加条件,逻辑删除当前记录 recallrecall不加条件,给当前记录去掉删除标记不加条件,给当前记录去掉删除标记第三章第三章 数据库和表数据库和表例例1 1:逻辑删除学生表中性别为:逻辑删除学生表中性别为“女女”的记录的记

14、录例例2 2:给:给“李双玉李双玉”恢复删除标记恢复删除标记例例3 3:将被逻辑删除的记录彻底删除:将被逻辑删除的记录彻底删除例例4 4:将表中记录全部删除:将表中记录全部删除recallrecall for for 姓名姓名=“吴云芳吴云芳”Delete for Delete for 性性别=“女女”PackPackzapzap第三章第三章 数据库和表数据库和表二、使用命令操作表二、使用命令操作表3 3、修改记录命令、修改记录命令Edit Edit 打开编辑窗口打开编辑窗口changechangereplace replace 范围范围 字段名字段名 with with 表达式表达式 for

15、 for 条件条件 直接替换表中记录的值直接替换表中记录的值all:all:全部记录全部记录Next n:Next n:从当前记录开始的从当前记录开始的n n条记录条记录Rest:Rest:从当前记录开始到最后一条记录从当前记录开始到最后一条记录Record n:Record n:具体的某条记录具体的某条记录第三章第三章 数据库和表数据库和表例例1 1:将:将“成绩成绩”表中所有学生的成绩加表中所有学生的成绩加1010分分例例2 2:将:将“成绩成绩”表中所有女学生的成绩加表中所有女学生的成绩加1010分分例例3 3:将:将“学生学生”表中表中“王子航王子航”的出生日期改为的出生日期改为198

16、61986年年1212月月1818日日useuse 学学生成生成绩replacereplace allall 成成绩 withwith 成成绩+10+10replacereplace allall 成成绩 withwith 成成绩+10 for+10 for 性性别=“女女”replacereplace 出生日期出生日期 withwith 1986-12-181986-12-18 for for 姓名姓名=“吴云芳吴云芳”第三章第三章 数据库和表数据库和表4 4、显示记录命令、显示记录命令 listlist 字段名字段名for for 条件条件 displaydisplay 字段名字段名for

17、 for 条件条件 完整形式:完整形式:LISTLIST|DISPLAYDISPLAY FOR|WHILE FOR|WHILE FIELDSFIELDS OFF TO PRINT TO FILE OFF TO PRINT TO FILE不加条件时:不加条件时:listlist显显示全部记录示全部记录 displaydisplay显示当前记录显示当前记录区区别别第三章第三章 数据库和表数据库和表例例1 1:显示:显示“学生学生”表中所有记录表中所有记录例例2 2:显示:显示“学生学生”表中第表中第3 3条记录条记录例例3 3:显示:显示“学生学生”表中所有学生的姓名,出生日期和所属院表中所有学生

18、的姓名,出生日期和所属院系系例例4 4:显示:显示“学生学生”表中第三个学生的姓名,出生日期和所属表中第三个学生的姓名,出生日期和所属院系院系例例5 5:显示:显示“学生学生”表中出生日期在表中出生日期在19841984年年1212月月1212日之前的学日之前的学生的姓名,出生日期和所属院系生的姓名,出生日期和所属院系例例6 6:显示:显示“学生学生”表中出生日期在表中出生日期在19841984年年1212月月1212日之后的学日之后的学生的姓名,出生日期和所属院系,且不显示记录号生的姓名,出生日期和所属院系,且不显示记录号listlistgo 3go 3displaydisplaylist

19、list 姓名姓名,出生日期出生日期,所属院系所属院系go 3go 3display display 姓名姓名,出生日期出生日期,所属院系所属院系List/display List/display 姓名姓名,出生日期出生日期,所属院系所属院系 for for 出生日期出生日期1984-12-121984-12-12 off1984-12-12 off二、使用命令操作表二、使用命令操作表5 5、查询定位命令查询定位命令 绝对定位:绝对定位:Go Go 记录号记录号|top|bottom|top|bottom 相对定位:相对定位:Skip Skip 数值数值 条件定位:条件定位:Locate fo

20、r Locate for 条件条件 continuecontinue第几个记录表头表尾正数:向下负数:向上第三章第三章 数据库和表数据库和表第三章第三章 数据库和表数据库和表打开学生表,做如下操作:打开学生表,做如下操作:例例1 1:将:将“学生学生”表的记录指针指向表尾表的记录指针指向表尾例例2 2:将:将“学生学生”表的记录指针指向倒数第二条记录表的记录指针指向倒数第二条记录例例3 3:将:将“学生学生”表的记录指针指向表头表的记录指针指向表头例例4 4:将:将“学生学生”表的记录指针指向第表的记录指针指向第3 3条记录条记录例例5 5:将:将“学生学生”表的记录指针向下移动两条记录表的记

21、录指针向下移动两条记录例例6 6:将:将“学生学生”表的记录指针指向第一个性别为表的记录指针指向第一个性别为“男男”的记录上的记录上例例7 7:将:将“学生学生”表的记录指针指向第三个性别为表的记录指针指向第三个性别为“男男”的记录的记录上上go bottomgo bottomGo bottomGo bottomSkip-1Skip-1go go toptopgo go 3/skip 23/skip 2Skip 2Skip 2Locate for Locate for 性别性别=“男男”Locate for Locate for 性别性别=“男男”continuecontinuecontinu

22、econtinue第三章第三章 数据库和表数据库和表记录指针(了解):记录指针(了解):与指针及表相关的测试函数与指针及表相关的测试函数(1)(1)文件结束测试函数文件结束测试函数 EOF()EOF()功能:测试记录指针是否指向文件结束位置(表文件尾),功能:测试记录指针是否指向文件结束位置(表文件尾),表文件尾是指最后一条记录的后面位置。表文件尾是指最后一条记录的后面位置。若指针指向结束若指针指向结束位置,函数值为逻辑真(位置,函数值为逻辑真(.T.T.),否则函数值为假(),否则函数值为假(.F.F.)。)。举例:举例:go bottomgo bottom?eofeof()()skip s

23、kip?eofeof()()go 4 go 4listlist?eofeof()()(2)(2)文件起始测试函数文件起始测试函数 BOF()BOF()功能:测试表文件记录指针是否指向起始位置,功能:测试表文件记录指针是否指向起始位置,表文件起始表文件起始位置在首记录的前面,也称为文件头。位置在首记录的前面,也称为文件头。若指针指向起始位若指针指向起始位置,函数值为逻辑真(置,函数值为逻辑真(.T.T.),否则为假(),否则为假(.F.F.)。)。举例:举例:use use xsqkxsqk go top go top?eofeof(),(),bofbof()()skip -1 skip -1?

24、eofeof(),(),bofbof()()(3)记录号测试函数记录号测试函数 RECNORECNO格式:格式:RECNO(RECNO()功能:给出功能:给出 指定的工作区中打开的指定的工作区中打开的数据表的当前记录号数据表的当前记录号;无参数时,给出当前表当前记录号;没有打开的表时,返回值为无参数时,给出当前表当前记录号;没有打开的表时,返回值为0 0;如果指针指向文件尾,函数值为表文件中的记录数加如果指针指向文件尾,函数值为表文件中的记录数加1 1,如果记,如果记录指针指向文件首,函数值为最上面记录的记录号录指针指向文件首,函数值为最上面记录的记录号举例:举例:use xsqkuse xs

25、qk?recnorecno()()skip 1 skip 1?recnorecno()()go bottomgo bottom?recnorecno()()skipskip?recnorecno()()(4)(4)记录数测试函数记录数测试函数 RECCOUNTRECCOUNT格式:格式:RECCOUNT(RECCOUNT()功能:测试功能:测试 指定的工作区中指定的工作区中数据表的记录个数数据表的记录个数无参数时,测试当前工作区中数据表中的记录个数;无参数时,测试当前工作区中数据表中的记录个数;若没有打开的数据表,返回值为若没有打开的数据表,返回值为0 0举例:举例:USE xsqkUSE x

26、sqk?BOF(),RECNO()?BOF(),RECNO()SKIP 1SKIP 1?BOF(),RECNO(),RECCOUNT()?BOF(),RECNO(),RECCOUNT()GO BOTTOMGO BOTTOM?EOF(),RECNO(),RECCOUNT()?EOF(),RECNO(),RECCOUNT()SKIP SKIP?EOF(),RECNO(),RECCOUNT()?EOF(),RECNO(),RECCOUNT()(8)(8)检索测试函数检索测试函数 FOUNDFOUND格式:格式:FOUND()FOUND()功能:测试执行功能:测试执行LOCATELOCATE、CONT

27、INUECONTINUE、SEEKSEEK和和FINDFIND等定位命令等定位命令的定位是否成功,定位成功则的定位是否成功,定位成功则FOUND()FOUND()的函数值为的函数值为.T.T.,否则为否则为.F.F.。举例:举例:locate for locate for 姓名姓名=“=“关温丹关温丹”?found()?found()表数据的统计表数据的统计1 1计数命令计数命令格式:格式:COUNT COUNT FOR FOR WHILE WHILE TO TO 功能:计算指定打开表中指定范围内满足条件的记录数。功能:计算指定打开表中指定范围内满足条件的记录数。举例:举例:use xsqku

28、se xsqkcount for count for 性别性别=“=“男男”to to xbxb?xbxb2 2求和命令求和命令SUM SUM FOR FOR WHILE WHILE TO TO|ARRAY|ARRAY 功能:在打开的表中,对功能:在打开的表中,对 的各个表达式的各个表达式 分别求和。显示在屏幕上、赋给变量或数组分别求和。显示在屏幕上、赋给变量或数组举例:举例:use xsqkuse xsqksum for sum for 性别性别=“=“男男”身高,体重身高,体重/2/2 toto sgsg,tztzsum sum 大学英语大学英语,计算机计算机 toto arrayarra

29、y s s3 3求平均值命令求平均值命令格式:格式:AVERAGE AVERAGE FOR FOR WHILE WHILE TO TO|ARRAY|ARRAY 功能:在打开的表中,对功能:在打开的表中,对 中的各个表达式分中的各个表达式分 别求平均值。省略各表达式对所有数值字段求平均值别求平均值。省略各表达式对所有数值字段求平均值举例:举例:use xsqkuse xsqkaverage for average for 性别性别=“=“男男”身高,体重身高,体重/2 to asg,atz/2 to asg,atz?asg,atz?asg,atz4 4计算命令计算命令格式:格式:CALCULAT

30、E CALCULATE FOR FOR WHILE WHILE TO TO|ARRAY|ARRAY 功能:在打开的表中,分别计算功能:在打开的表中,分别计算 中表达式的值。中表达式的值。说明:表达式中至少包括系统规定的八个函数之一:说明:表达式中至少包括系统规定的八个函数之一:AVGAVG、CNTCNT、MAXMAX、MINMIN、SUMSUM、NPVNPV、STDSTD、VARVAR。举例:举例:use xsqkuse xsqkcalc calc avgavg(身高身高),),cntcnt(身高身高)for)for 性别性别=“=“男男”to asg,to asg,csgcsg5 5汇总命令

31、汇总命令格式:格式:TOTAL TO TOTAL TO ON ON FIELDS FIELDS FOR FOR WHILE WHILE 功能:在当前表中,分别对功能:在当前表中,分别对 值相同的记录的值相同的记录的数值型数值型 字段值求和字段值求和,并将结果存入一个新表。一组关键字值,并将结果存入一个新表。一组关键字值 相同的记录在新表中产生一个记录,对于非指定字段相同的记录在新表中产生一个记录,对于非指定字段只将关键字值相同的第一个记录的字段值放入新记录只将关键字值相同的第一个记录的字段值放入新记录说明:说明:指排序字段或索引关键字;指排序字段或索引关键字;FIELDSFIELDS子句的子句

32、的 指出要汇总的字段指出要汇总的字段,若缺省,则对,若缺省,则对 表中所有数值型字段汇总;表中所有数值型字段汇总;缺省缺省 指表中所有记录。指表中所有记录。注:(注:(1 1)原表要先按分类关键字排序或索引)原表要先按分类关键字排序或索引(2 2)新表结构与当前表结构相同。)新表结构与当前表结构相同。(3 3)通常在结果中选出关键字字段与汇总字段显示,)通常在结果中选出关键字字段与汇总字段显示,其余字段没有实际意义。其余字段没有实际意义。举例:举例:Index on Index on 性别性别 tag tag xbxbtotal ontotal on 性别性别 toto sg_tbsg_tb

33、总总 结结1 1、使用浏览器操作表、使用浏览器操作表2 2、使用命令操作表、使用命令操作表 (1 1)增加记录命令)增加记录命令 (2 2)删除记录命令)删除记录命令 (3 3)修改记录命令)修改记录命令 (4 4)显示记录命令)显示记录命令 (5 5)查询定位命令)查询定位命令第三章第三章 数据库和表数据库和表习题习题1 1:2008年4月 MODIFY STRUCTUREMODIFY STRUCTURE命令的功能是(命令的功能是(B B )A A)修改记录值)修改记录值 B B)修改表结构)修改表结构 C C)修改数据库结构)修改数据库结构 D D)修改数据库或表结构)修改数据库或表结构

34、B第三章第三章 数据库和表数据库和表习题习题2 2:2007年9月 在在Visual FoxProVisual FoxPro中修改表结构的非中修改表结构的非SQLSQL命令是命令是(数据库系数据库系 统阶统阶 段段)第三章第三章 数据库和表数据库和表习题习题3 3:2008年4月 要为当前表所有性别为要为当前表所有性别为”女女”的职工增加的职工增加100100元工资,应使用元工资,应使用命令(命令(B B )A A)REPLACE ALLREPLACE ALL工资工资 with with 工资工资+100+100 B B)REPLACE ALLREPLACE ALL工资工资 with with

35、 工资工资+100 FOR+100 FOR 性别性别=“=“女女”C C)CHANGE ALLCHANGE ALL工资工资 with with 工资工资+100+100 D D)CHANGE ALLCHANGE ALL工资工资 with with 工资工资+100 FOR+100 FOR 性别性别=“=“女女”B第三章第三章 数据库和表数据库和表习题习题2 2:2008年4月 在在Visual FoxProVisual FoxPro中中,使用使用LOCATE ALLLOCATE ALL命令按条件对表中的记录命令按条件对表中的记录进行查找,若查不到记录,函数进行查找,若查不到记录,函数EOF()

36、EOF()的返回值应是的返回值应是()3.3 3.3 排序与索引排序与索引排序和索引引入:表的输出顺序按输入的先后排列排序和索引引入:表的输出顺序按输入的先后排列.如需要另如需要另一种顺序来输出记录一种顺序来输出记录,需要对表进行排序和索引。需要对表进行排序和索引。一、排序一、排序 命令:命令:SORT TOSORT TO ONON /A|/D/C 1/A|/D/C,/A|/D/C 2/A|/D/C 范围范围FOR FOR 1 WHILEWHILE FIELDS FIELDS说明:(说明:(1 1)ON ON 子句子句 的字段名表示排序字段,的字段名表示排序字段,/A(/A(默认升序默认升序)

37、,/D),/D(降序)(降序),/C,/C(不区分字段值中字母的大小写);(不区分字段值中字母的大小写);(2 2)多重排序,主排序字段,第二排序字段)多重排序,主排序字段,第二排序字段;(3 3)不可选用通用型或备注型字段排序)不可选用通用型或备注型字段排序3.3 3.3 排序与索引排序与索引(续续)例例 (1)(1)将学生信息表按总分成绩降序排序,总分相同的按语将学生信息表按总分成绩降序排序,总分相同的按语文成绩排序,结果生成新表文成绩排序,结果生成新表result1.result1.USE USE 学生信息表学生信息表 SORT TOSORT TO RESULT1 RESULT1 ONO

38、N 总分总分/D,/D,语文语文 USE RESULT1USE RESULT1 LIST LIST(2)(2)将学生信息表中英语将学生信息表中英语6060分的数据降序排列到表分的数据降序排列到表RESULT2RESULT2中中,结果里只显示姓名和英语两个字段结果里只显示姓名和英语两个字段.USE USE 学生信息表学生信息表SORT ON SORT ON 英语英语/D FOR/D FOR 英语英语60 FIELDS 60 FIELDS 姓名姓名,英语英语 TO RESULT2TO RESULT2 USE RESULT2 USE RESULT2 LIST LIST二、索引基本概念二、索引基本概念

39、3.3 3.3 排序与索引排序与索引(续续)索引是通过指针改变数据表的观察顺序,而表中记索引是通过指针改变数据表的观察顺序,而表中记录的实际位置没有任何变化录的实际位置没有任何变化 Xs.dbfXs.dbf按学号建立索引按学号建立索引不允许出现重复值和空值,一个表不允许出现重复值和空值,一个表中只能有一个主索引。中只能有一个主索引。同主索引特点一样,就是一个表中可同主索引特点一样,就是一个表中可以有多个候选索引。以有多个候选索引。字段值和索引项都可以不唯一。字段值和索引项都可以不唯一。一个表中可以有多个。一个表中可以有多个。索引项的唯一,而不是字段值的唯一,一个表索引项的唯一,而不是字段值的唯

40、一,一个表中可以有多个。中可以有多个。索引可以提高索引可以提高查询速度。查询速度。1 1、主索引:、主索引:2 2、候选索引:、候选索引:3 3、普通索引:、普通索引:4 4、唯一索引:、唯一索引:索引基本概念(续)索引基本概念(续)第三章第三章 数据库和表数据库和表第三章第三章 数据库和表数据库和表 1 1)一个表中只能建立一个主索引,但可以)一个表中只能建立一个主索引,但可以 建立多个候选索引、唯一索引和普通索引建立多个候选索引、唯一索引和普通索引 2 2)只有数据库表才能建立主索引,自由表)只有数据库表才能建立主索引,自由表 中只能建立其他三种索引中只能建立其他三种索引注注第三章第三章

41、数据库和表数据库和表三、用命令的方式建立索引三、用命令的方式建立索引INDEX ONINDEX ON TAG TAG ASCENDING|DESCENDINGASCENDING|DESCENDING USE USE 学生信息表学生信息表 INDEX ON INDEX ON 学号学号 TAG TAG 学号学号 LISTLIST INDEX ON INDEX ON 性别性别+strstr(身高身高,4,2)TAG X1,4,2)TAG X1 LIST LIST 例例 建立结构复合索引文件建立结构复合索引文件1 1)按性别降序排列,性别相同按姓名的降序排列,索引标识)按性别降序排列,性别相同按姓名的

42、降序排列,索引标识为为BB1BB1INDEX ON INDEX ON 性别性别+姓名姓名 DESC TAG BB1DESC TAG BB12 2)按性别升序排列,性别相同按数学成绩的升序排列)按性别升序排列,性别相同按数学成绩的升序排列,索引索引标识为标识为BB2BB2 INDEX ON INDEX ON 性别性别+STR(+STR(数学数学)TAG BB2 TAG BB23 3)按数学英语成绩的和的降序建索引,索引标识为)按数学英语成绩的和的降序建索引,索引标识为BB3BB3 INDEX ON INDEX ON 数学数学+英语英语 DESC TAG BB3DESC TAG BB34 4)按数

43、学成绩降序排列,如果数学成绩相等,按英语成绩的)按数学成绩降序排列,如果数学成绩相等,按英语成绩的降序排列,索引标识为降序排列,索引标识为BB4BB4 INDEX ON STR(INDEX ON STR(数学数学)+STR()+STR(英语英语)DESC TAG BB4)DESC TAG BB4第三章第三章 数据库和表数据库和表四、在表设计器中建立索引四、在表设计器中建立索引1 1、单项索引(基于一个字段)、单项索引(基于一个字段)2 2、复合字段索引(基于多个字段)、复合字段索引(基于多个字段)第三章第三章 数据库和表数据库和表在表设计器中建立索引(续)在表设计器中建立索引(续)1 1、单项

44、索引、单项索引(1 1)字段选项卡:选中要设置索引的字段,选择升序或降序)字段选项卡:选中要设置索引的字段,选择升序或降序(2 2)索引选项卡:设置索引名、索引类型和索引表达式)索引选项卡:设置索引名、索引类型和索引表达式字段名字段名第三章第三章 数据库和表数据库和表 2 2、复合字段索引、复合字段索引直接在索引选项卡中设置直接在索引选项卡中设置确定主控索引确定主控索引主控索引主控索引 一一个个表表可可以以建建立立或或打打开开一一个个或或多多个个索索引引,但但同同一一时时刻刻只只有有一一个个索索引引起起作作用用,称称为为当当前前索索引引或或主主控控索索引引。此此时时表表的逻辑顺序以主控索引的顺

45、序排列。主控索引可随时指定的逻辑顺序以主控索引的顺序排列。主控索引可随时指定1 1用命令指定主控索引用命令指定主控索引格式:格式:SET ORDER TO SET ORDER TO|TAG|TAG 索引名索引名 功能:指定一个主控索引功能:指定一个主控索引说明:说明:数值表达式指出索引列表中第几个索引为主控索引数值表达式指出索引列表中第几个索引为主控索引set order to set order to 是取消主控索引是取消主控索引SET ORDER TO TAG X1 SET ORDER TO TAG X1 SET ORDER TO 1 SET ORDER TO 1 3.3.2 3.3.2

46、索引查询索引查询 索引查询索引查询在索引文件中进行的查询称为索引查询在索引文件中进行的查询称为索引查询1 1、SEEKSEEK命令命令格式:格式:SEEK SEEK ORDER ORDER 索引序号索引序号TAG TAG 索引名索引名 功能:在已打开索引的表中查找符合条件的第一个记录。功能:在已打开索引的表中查找符合条件的第一个记录。说明:说明:1 1、的值是索引项或索引关键字的值的值是索引项或索引关键字的值2 2、可以用索引序号或索引名指定按哪一个索引定位、可以用索引序号或索引名指定按哪一个索引定位举例:举例:seek 1161008 order 4seek 1161008 order 4&

47、第第4 4个索引个索引按学号建立按学号建立seek 1.72seek 1.72&主控索引按身高建立主控索引按身高建立 skipskip如果某个索引不再使用了则可以删除它。命令格式如下:如果某个索引不再使用了则可以删除它。命令格式如下:DELETE TAG ALL|一、一、DBDB基本概念基本概念1 1、数据库、数据库 (DBDB):):2 2、DBDB的扩展名的扩展名 .dbcdbc (数据库文件)(数据库文件).dctdct (数据库备注文件)(数据库备注文件).dcxdcx (数据库索引文件)(数据库索引文件)3.4 3.4 数据库操作数据库操作第三章第三章 数据库和表数据库和表3 3、建

48、立、建立DBDB方法:方法:1 1)项目管理器)项目管理器 2 2)“新建新建”对话框对话框 3 3)用命令)用命令:create database DB:create database DB名称名称 4.4.添加自由表和移去表添加自由表和移去表菜单法:菜单法:命令法:添加表命令法:添加表add table add table 移去表移去表remove table remove table 删除表删除表drop table drop table 5.5.新建数据库表新建数据库表6 6、打开、打开DBDB方法:方法:1 1)项目管理器)项目管理器 2 2)“打开打开”对话框对话框 3 3)用命令

49、:)用命令:open database open database 数据库名数据库名 例:例:open database open database 图书管理图书管理(不打开数据库设计器)不打开数据库设计器)注:同一时间可以打开多个注:同一时间可以打开多个DBDB,但只有一个是当前数据库,但只有一个是当前数据库第三章第三章 数据库和表数据库和表第三章第三章 数据库和表数据库和表7 7、修改、修改DBDB方法:方法:用命令:用命令:modify database modify database 例:例:modify database modify database 图书管理图书管理注:注:打开打

50、开DBDB设计器设计器第三章第三章 数据库和表数据库和表8 8、删除、删除DBDB方法:方法:1 1)项目管理器)项目管理器 2 2)用命令:)用命令:delete database delete database 数据库名数据库名 区区别9 9、关闭、关闭DBDB方法:方法:1 1)Close databaseClose database(关闭当前(关闭当前DBDB)2 2)ColseColse all all(关闭所有(关闭所有DBDB)第三章第三章 数据库和表数据库和表关联关联的概念关联的概念 在在Visual Visual FoxProFoxPro中中,多多个个数数据据表表之之间间存存

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁