数据库与表的创建及使用.ppt

上传人:赵** 文档编号:82668249 上传时间:2023-03-26 格式:PPT 页数:89 大小:617KB
返回 下载 相关 举报
数据库与表的创建及使用.ppt_第1页
第1页 / 共89页
数据库与表的创建及使用.ppt_第2页
第2页 / 共89页
点击查看更多>>
资源描述

《数据库与表的创建及使用.ppt》由会员分享,可在线阅读,更多相关《数据库与表的创建及使用.ppt(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、3.3.4 表的打开与关闭表的打开与关闭一张表,在进行任何操作前,都必须先一张表,在进行任何操作前,都必须先打开。被打开的表称为打开。被打开的表称为当前表当前表。(1)显式打开:)显式打开:利用菜单等界面操作或用利用菜单等界面操作或用利用菜单等界面操作或用利用菜单等界面操作或用USEUSE命令直接打开表;命令直接打开表;命令直接打开表;命令直接打开表;(2)隐式打开:)隐式打开:在执行某些操作(界面或在执行某些操作(界面或在执行某些操作(界面或在执行某些操作(界面或SQLSQL命令)时,系统会自动打开相应的表。命令)时,系统会自动打开相应的表。命令)时,系统会自动打开相应的表。命令)时,系统会

2、自动打开相应的表。1一、表的打开一、表的打开当一张表的表结构刚创建完时,该表处于当一张表的表结构刚创建完时,该表处于打开状态。打开状态。(1)通过界面操作打开表)通过界面操作打开表t t 使用菜单命令使用菜单命令t t“项目管理器项目管理器”窗口窗口t t“数据工作期数据工作期”窗口窗口2(2)使用)使用USE命令打开表命令打开表例:例:USE xsUSE jsALIAS jiaoshi IN 4USE zgIN 0 NOUPDATEUSExsAGAININ5USExsAGAININ153二、表的关闭二、表的关闭当退出当退出VFP系统时,所有的表都将被关闭。系统时,所有的表都将被关闭。(1)通

3、过界面操作关闭表)通过界面操作关闭表t t“数据工作期数据工作期”窗口窗口(2)使用命令关闭表)使用命令关闭表t tUSE&关闭当前的表关闭当前的表关闭当前的表关闭当前的表t tCLOSE TABLES&关闭所有的表关闭所有的表关闭所有的表关闭所有的表t tCLOSE ALL&关闭所有的数据库、表和索引关闭所有的数据库、表和索引关闭所有的数据库、表和索引关闭所有的数据库、表和索引,且将当前工作区设为且将当前工作区设为且将当前工作区设为且将当前工作区设为1 1。4三、工作区三、工作区打开一张表时,必须为该表指定一个工作区。在打开一张表时,必须为该表指定一个工作区。在VFP系统启动后,系统默认当前

4、工作区号为系统启动后,系统默认当前工作区号为1。1、工作区的基本概念、工作区的基本概念(1)工作区是打开表的一个区域)工作区是打开表的一个区域(2)工作区的打开用命令:)工作区的打开用命令:SELECT 工作区号工作区号其其中中:工工作作区区号号用用数数字字表表示示,范范围围从从1到到32767(前(前10个工作区也可以用字母个工作区也可以用字母AJ表示)。表示)。例:例:SELECT 0&表示选择了一个未被使用表示选择了一个未被使用的编号最小的工作区。的编号最小的工作区。5(3)每个工作区中只能打开一个)每个工作区中只能打开一个 表文件表文件例如:例如:SELECT 1&打开打开1号工作区号

5、工作区USE XS&在在1号工作区打号工作区打 开开XS表表LIST&在主窗口在主窗口显示记录显示记录USE CJ&再打开再打开CJ表,表,XS表已经关闭表已经关闭 LIST&在主窗口显示记录在主窗口显示记录6(4)每个表文件可在多个工作区)每个表文件可在多个工作区 中被打开中被打开一张表可以在多个工作区中打开,但在一张表可以在多个工作区中打开,但在USE命令后要加上命令后要加上AGAIN子句,例如:子句,例如:SELECT 11&打开打开11工作区工作区USE XS&打开表打开表XSSELECT 22&打开打开22工作区工作区USE XS AGAIN&再打开表再打开表XS7(5)工作区中的表

6、可赋予一个别名工作区中的表可赋予一个别名在工作区中打开表的时候,可为表赋予一个别在工作区中打开表的时候,可为表赋予一个别名,命令格式:名,命令格式:USE 表文件名表文件名 ALIAS 别名别名例如:例如:USE STUDENT ALIAS XS如果省略别名,则系统默认表文件名为别名,如果省略别名,则系统默认表文件名为别名,例如命令:例如命令:USE CJ 命令中省略了命令中省略了ALIAS子句,则文件名子句,则文件名CJ就是别名。就是别名。8(6)数据操作只对当前工作区的)数据操作只对当前工作区的当前表文件有效当前表文件有效 正在使用的工作区称为正在使用的工作区称为当前工作区当前工作区,当前

7、工作区中打开的表文件称为当前工作区中打开的表文件称为当前文件。当前文件。无论界面方式,还是命令方式的各种无论界面方式,还是命令方式的各种数据操作,只对数据操作,只对当前工作区当前工作区的的当前文件当前文件有有效。效。9设置当前工作区的方法有:设置当前工作区的方法有:在在“数据工作期数据工作期”窗口中设置窗口中设置步骤为:步骤为:在在“窗口窗口”菜单中选菜单中选“数据工作期数据工作期”,打开,打开“数据工作期数据工作期”窗口,在窗口,在“别名别名”列表中选择别名,则该别名所在工作区成列表中选择别名,则该别名所在工作区成为当前工作区。为当前工作区。10命令格式:命令格式:SELECT 工作区号工作

8、区号/别名别名例如,已经在第例如,已经在第2工作区打开表工作区打开表XS.DBF,则命令:则命令:SELECT 2 和和 SELECT XS 是等价的是等价的,都可以将当前都可以将当前工作区设置为第二工作区。工作区设置为第二工作区。命令方式:命令方式:11也可在命令中强行指定工作区:也可在命令中强行指定工作区:IN 工作区号工作区号/别名别名 如:如:USE cj IN 5 把把cj表在第表在第5工作区中打开,而不改变当工作区中打开,而不改变当前工作区。前工作区。如:如:GO TOP IN cj 把文件把文件cj的指针移到文件头,而不的指针移到文件头,而不管它是否在当前工作区。管它是否在当前工

9、作区。122、有关工作区的函数、有关工作区的函数SELECT(别名别名)返回返回“别名别名”表所在的工作区号,别名表所在的工作区号,别名必须放在引号中。必须放在引号中。例:例:?SELECT (0)&返回当前工作区号。返回当前工作区号。?SELECT(1)&返回未用的最大工作返回未用的最大工作区号,即区号,即32767。13ALIAS(工作区号)工作区号)返回指定工作区的表的别名返回指定工作区的表的别名ALIAS()()返回当前工作区的表的别名返回当前工作区的表的别名例如:例如:SELECT 2 USE XS?ALIAS(2)&XS?SELECT(“XS)&214tUSED(“表文件别名表文件

10、别名”)返回返回“别名别名”表是否打开。已经打表是否打开。已经打开则返回开则返回.T.,否则否则.F.例:例:use js alias jiaoshi?used(“jiaoshi”)?used(js).T.F.15练习:练习:执行下列命令后:执行下列命令后:CLOSE TABLES ALLSELECT 0USE XS ALIAS STUUSE JS IN 0函数函数USED(”JS”)的值是?的值是?函数函数USED(”XS”)的值是?的值是?函数函数SELECT()()的值是?的值是?函数函数ALIAS()()的值是?的值是?.T.F.1stu16四、表的独占与共享使用四、表的独占与共享使用

11、 在多用户系统中,多个用户可在多用户系统中,多个用户可以使用同一张表,即表的以使用同一张表,即表的共享使用共享使用。有些情况下,某个用户希望单独使有些情况下,某个用户希望单独使用一张表,即表的用一张表,即表的独占使用独占使用。171、设置打开表的默认状态、设置打开表的默认状态(1)界面方式:)界面方式:“工具工具”菜单菜单“选项选项”“数据数据”(2)命令方式:)命令方式:SET EXCLUSIVE OFF 设置设置“共享共享”为默认打开方式为默认打开方式 SET EXCLUSIVE ON 设置设置“独占独占”为默认打开方式为默认打开方式注:注:改变改变SET EXCLUSIVE的设置并不改变

12、的设置并不改变已打开的表的状态。已打开的表的状态。182、在打开表时指定使用方式、在打开表时指定使用方式(1)界面方式:)界面方式:在在“打开打开”或或“使用使用”窗口中有窗口中有“独占独占”复选框,打复选框,打 表示独占。表示独占。(2)命令方式:)命令方式:USE XS SHARED&以共享方式打开表以共享方式打开表USE XS EXCLUSIVE&以独占方式打开表以独占方式打开表注:注:一张表同时被多次打开时,只以第一次一张表同时被多次打开时,只以第一次的打开方式为准。的打开方式为准。19练习:练习:执行下列命令后:执行下列命令后:SET EXCLUSIVE OFFUSE JSUSE X

13、S EXCLUSIVE IN 0JS表的打开方式是?表的打开方式是?XS表的打开方式是?表的打开方式是?JS表是共享方式表是共享方式;XS表是独占方式表是独占方式203.3.5 记录的处理记录的处理注意:表注意:表是用来存储数据的,是用来存储数据的,表结构表结构是是表的框架,创建表结构之前要认真考表的框架,创建表结构之前要认真考虑,一旦创建完成,就很少修改。即虑,一旦创建完成,就很少修改。即结构结构是是静态静态的。的。而数据记录是要经常修改的,即而数据记录是要经常修改的,即记录记录是是动态动态的。的。21一、记录的输入一、记录的输入1、立即输入记录、立即输入记录 在创建表结构后,在出现在创建表

14、结构后,在出现“现在输现在输入数据记录吗?入数据记录吗?”对话框时,单击对话框时,单击“是是”,则出现则出现“编辑编辑”窗口。窗口。注意:注意:输入记录时,每个字段的数据,输入记录时,每个字段的数据,必须与该字段的类型和宽度一致。必须与该字段的类型和宽度一致。222、在浏览窗口中追加记录、在浏览窗口中追加记录 命令:命令:USE 表文件名表文件名 BROWSE/EDIT&打开表,并进入浏览打开表,并进入浏览/编辑窗口编辑窗口 在在“表表”菜单中,选择菜单中,选择“追加新记录追加新记录”命令项;命令项;在在“显示显示”菜单中,选择菜单中,选择“追加方式追加方式”。浏览窗口与编辑窗口相互之间的切换

15、,利浏览窗口与编辑窗口相互之间的切换,利用用“显示显示”菜单。菜单。233、用、用INSERT-SQL命令追加记录命令追加记录命令格式:命令格式:INSERT INTO 表名表名(字段(字段1,字段,字段2)VALUES(表达式表达式1,表达式,表达式2)该命令适合用于程序中。该命令适合用于程序中。例:例:INSERT INTO xs(xh,xm,xb,ximing)VALUES(950106,高山高山,男男,)244、用、用APPEND与与APPEND FROM命令命令追加记录追加记录命令格式:命令格式:APPEND BLANK IN Workarea/cTableAlias APPEND

16、FROM Filename Delimited/XLS 将其他文件将其他文件(表文件、文本文件、表文件、文本文件、Excel文文件等件等)中的数据导入到当前工作区中的表。中的数据导入到当前工作区中的表。255、备注型与通用型字段数据的输入、备注型与通用型字段数据的输入备注型字段显示备注型字段显示“memo”表示无内容,显示表示无内容,显示“Memo”表示有内容。表示有内容。输入方法:输入方法:按按+或双击该字段。或双击该字段。通用型字段显示通用型字段显示“gen”表示无内容,显示表示无内容,显示“Gen”表示有内容。表示有内容。输入方法:输入方法:按按+或双击该字段后,或双击该字段后,利用利用

17、“编辑编辑”菜单菜单“插入对象插入对象”插入其内容插入其内容。26二、表的浏览二、表的浏览浏览窗口的使用浏览窗口的使用t界面方式界面方式tBROWSE命令(常用格式见命令(常用格式见P88)步骤:步骤:(1)打开表)打开表 USE 表文件名表文件名(2)在命令窗口键入)在命令窗口键入 BROWSE(3)在浏览窗口浏览或修改在浏览窗口浏览或修改 表记录表记录27三、记录的筛选三、记录的筛选筛选记录指从表中选出满足筛选记录指从表中选出满足条件的记录来进行浏览或其条件的记录来进行浏览或其他操作,不满足条件的记录他操作,不满足条件的记录则被则被“隐藏隐藏”起来。起来。28操作步骤:操作步骤:(1)“表

18、表”菜单菜单“属性属性”“工作区工作区属性属性”对话框对话框(2)在)在“数据过滤器数据过滤器”文本框中输入筛文本框中输入筛选条件表达式选条件表达式(3)单击)单击“确定确定”此时浏览表,此时浏览表,将只显将只显示满足条件的记录。示满足条件的记录。1、通过界面筛选记录、通过界面筛选记录292、使用命令、使用命令命令格式:命令格式:SET FILTER TO 条件表达式条件表达式去掉筛选条件:去掉筛选条件:SET FILTER TO 注意:注意:本命令设置的过滤器对本命令设置的过滤器对SELECT-SQL、DELETE-SQL和和UPDATE-SQL命令不起作用。命令不起作用。30四、筛选字段(

19、限制对字段的访问)四、筛选字段(限制对字段的访问)筛选字段是选取表的部分列。筛选字段是选取表的部分列。1、界面操作步骤:、界面操作步骤:(1)“表表”菜单菜单“属性属性”“工作区工作区属性属性”对话框对话框(2)单击)单击“字段筛选字段筛选”按钮,打开按钮,打开“字字段选择器段选择器”对话框,选择所需字段对话框,选择所需字段。312、使用命令、使用命令命令格式:命令格式:SET FIELD TO 字段列表字段列表例:例:CLOSE TABLES ALL USE XS SET FIELD TO XH,XM BROWS FOR XB=女女 NOMODIFY TITLE 女学生女学生32记录指针:是

20、一个记录指针:是一个指示器,指向表指示器,指向表中的记录。中的记录。文件头文件头(包含表结构等信息包含表结构等信息)第第1 1号记录号记录第第2 2号记录号记录第第n n号记录号记录记录开始标志记录开始标志记录结束标志记录结束标志五、记录的定位五、记录的定位1、记录标志、记录标志33几个概念几个概念t三个控制标志:记录的开三个控制标志:记录的开始标志、记录指针标志、始标志、记录指针标志、记录的结束标志记录的结束标志t记录号记录号t当前记录当前记录34t函数函数 RECNO()返回当前记录号返回当前记录号(数值型数值型)t函数函数BOF()测试记录指针是否在文件头测试记录指针是否在文件头(逻辑型

21、)(逻辑型)t函数函数EOF()测试记录指针是否在文件尾测试记录指针是否在文件尾(逻辑型)(逻辑型)几个函数几个函数35记录号记录号 学号学号 姓名姓名 性别性别 专业代号专业代号 系名系名 1 990101 李林李林 男男 102006 信息管理系信息管理系 2 990102 高山高山 男男 102006 信息管理系信息管理系 3 990106 陆海涛陆海涛 男男 102006 信息管理系信息管理系 4 5 6 7 文件头文件头 BOF()记录指针记录指针RECNO()5文件尾文件尾 EOF()36BOF()()的值为:的值为:.T.EOF()()的值为:的值为:.T.RECNO()()的值

22、为:的值为:1当打开一张当打开一张空表空表,即表中只有结构,即表中只有结构,没有记录,则:没有记录,则:记录指针的初始值总是记录指针的初始值总是1,不可能为,不可能为0或负数,最大值是表中记录总数或负数,最大值是表中记录总数+1。37BOF()()的值为的值为:.F.EOF()()的值为:的值为:.F.RECNO()()的值为:的值为:1当当刚刚刚刚打开一张打开一张表表,如果表中有,如果表中有结构,也有记录,则:结构,也有记录,则:38命令:命令:USE 表文件名表文件名?BOF()?EOF()?RECNO()其中:其中:EOF()()和和RECNO()()用得用得较多。较多。392、记录的范

23、围、记录的范围记录的范围共有记录的范围共有4个选项:个选项:ALL 全部记录全部记录NEXT n 从当前记录开始的从当前记录开始的n条记录条记录RECORD n 指定的第指定的第n条记录条记录REST 从当前记录开始到从当前记录开始到最后的所最后的所 有记录有记录403、记录定位、记录定位表文件的很多数据操作,如删除、插入等需表文件的很多数据操作,如删除、插入等需要确定记录的位置,即确定要确定记录的位置,即确定“当前记录当前记录”(1)绝对定位命令)绝对定位命令 :GO RECORD n 把指针定位到第把指针定位到第n条记录上条记录上 GO TOP 把指针定位到第一条记录上把指针定位到第一条记

24、录上 GO BOTTOM 把指针定位到最后一条记录上把指针定位到最后一条记录上41 SKIP 数学表达式数学表达式功能:把记录指针向文件尾(功能:把记录指针向文件尾(+)或文件)或文件头(头(-)移动指定的记录条数。)移动指定的记录条数。若值为正数,若值为正数,+号可省略。号可省略。若值为若值为+1,则,则+1省略。省略。(2)相对定位命令:)相对定位命令:例如命令:例如命令:SKIP 2*3-1&把指针向文件尾移动把指针向文件尾移动5条记录条记录 SKIP -2&把指针向文件头移动把指针向文件头移动2条记录条记录 42 LOCATE FOR 功能:把记录指针指向满足条件的记录。功能:把记录指

25、针指向满足条件的记录。若没有满足条件的记录,则指向文件尾。若没有满足条件的记录,则指向文件尾。(3)条件定位命令:)条件定位命令:例如命令:例如命令:USE xs LOCATE FOR xm=“王刚王刚”CONTINUE43打开表文件后,在打开表文件后,在“表表”菜单中,选菜单中,选“转转到记录到记录”,再选,再选“定位定位”,打开对话框:,打开对话框:(4)条件定位界面操作)条件定位界面操作在上图的在上图的FOR文本框中,输入:文本框中,输入:姓名姓名=“张三张三”,则给出了记录定位的条件。则给出了记录定位的条件。44FOR文本框中,应当给出一个条件表达式,文本框中,应当给出一个条件表达式,

26、其值为逻辑值,即其值为逻辑值,即“真真”或或“假假”。例如:系名例如:系名=“计算机系计算机系”性别性别=“男男”成绩成绩=70 .AND.成绩成绩 选择选择“表表”菜单的菜单的“替换替换字段字段”-打开打开“替换字段对话框替换字段对话框”47(2)命令方式:命令方式:SQL命令格式:命令格式:UPDATE 表名表名 SET 字段字段1=表达式表达式1,字段,字段2=表达式表达式2 WHERE 条件表达式条件表达式例如:把成绩表中所有课程代号为例如:把成绩表中所有课程代号为“1001”的成绩加的成绩加 5 分的命令为:分的命令为:UPDATE CJ SET CJ=CJ+5 WHERE KCDH

27、=1001用用UPDATE-SQL命令更新命令更新表时,该表不必事先打开。表时,该表不必事先打开。省略省略WHERE时,时,表示表示所有记录所有记录UPDATE CJ SET CJ=CJ+548练习:练习:在在JSJS表中要按如下要求更改基本工表中要按如下要求更改基本工资(资(JBGZJBGZ)字段的值:)字段的值:工龄在工龄在1010年以下(不含年以下(不含1010年)基本工资加年)基本工资加2020工龄在工龄在10101919年年 基本工资加基本工资加3535工龄在工龄在2020年以上(含年以上(含2020年)年)基本工资加基本工资加5050可用一个可用一个UPDATEUPDATE命令完成

28、上述更改:命令完成上述更改:UPDATE UPDATE jsjs_jbgzjbgz=IIF(js.glIIF(js.gl10,_=2049VFP命令格式:命令格式:REPLACE 范围范围 字段字段1 WITH 表达式表达式1 ADDITIVE,字段字段2 WITH 表达式表达式2 FOR 条件表达式条件表达式例如:把成绩表中所有课程代号为例如:把成绩表中所有课程代号为“1001”的成绩加的成绩加 5 分的命令为:分的命令为:USE cjREPLACE ALL cj WITH cj+5 FOR ;kcdh=1001用用REPLACE命令更新命令更新表时,该表表时,该表必须必须事先打开。事先打开

29、。FOR子句和范围均省略子句和范围均省略时,时,表示仅对当前记录进行替换表示仅对当前记录进行替换。REPLACE cj WITH cj+550七、记录的删除与恢复七、记录的删除与恢复删除表中的记录要分两个步骤来实现:删除表中的记录要分两个步骤来实现:(1 1)标记要删除的记录)标记要删除的记录(逻辑删除)(逻辑删除)(2 2)彻底删除带删除标记的记录。)彻底删除带删除标记的记录。(物理删除)(物理删除)511、逻辑删除、逻辑删除(1)界面方式)界面方式在浏览窗口中单击要删除的记录在浏览窗口中单击要删除的记录的左边的小方框,可删除指定记录。的左边的小方框,可删除指定记录。在在“表表”菜单中选择菜

30、单中选择“删除记录删除记录”,在,在“删除删除”对话框中可按指定条件对话框中可按指定条件删除一批记录。删除一批记录。52(2)命令方式)命令方式SQL命令格式:命令格式:DELETE FROMDELETE FROM 表名表名 WHEREWHERE 条件表达式条件表达式 例如:例如:要删除成绩表中成绩在要删除成绩表中成绩在60分以下的记录的分以下的记录的命令是命令是:DELETE FROMDELETE FROM CJCJ WHERE WHERE CJ60CJ60VFP命令格式:命令格式:DELETE DELETE 范围范围FORFOR 条件表达式条件表达式IN IN 工作区工作区 例如:例如:要

31、删除成绩表中成绩在要删除成绩表中成绩在60分以下的记录的分以下的记录的命令是命令是:DELETE FOR DELETE FOR CJ60CJ60532、物理删除记录、物理删除记录设置了设置了删除标记删除标记的记录的记录,才可以被才可以被物理删物理删除除(1)界面方式:)界面方式:在在“表表”菜单中选菜单中选“彻底删除彻底删除”。(2)命令方式:)命令方式:命令格式:命令格式:PACK&删除加了删除标记的记录删除加了删除标记的记录 要删除一张表中的所有记录,可用命令:要删除一张表中的所有记录,可用命令:ZAP 用用ZAP命令删除记录后,表中只剩下表的结构,命令删除记录后,表中只剩下表的结构,成为

32、空表。成为空表。543、恢复记录、恢复记录逻辑删除的记录,也可以恢复,即去掉删逻辑删除的记录,也可以恢复,即去掉删除标记,使之恢复正常。除标记,使之恢复正常。(1)界面方式:)界面方式:在在“浏览窗口浏览窗口”单击带删除标记记录的小单击带删除标记记录的小方块,使小方块由黑变白。方块,使小方块由黑变白。(2)命令方式:)命令方式:恢复记录的恢复记录的命令格式:命令格式:RECALLRECALL 范围范围 FORFOR 条件表达式条件表达式 554、对逻辑删除记录的访问、对逻辑删除记录的访问(1)测试记录的删除标记)测试记录的删除标记测试函数:测试函数:DELETED()()如果该函数的返回值为真

33、,则当前记录带如果该函数的返回值为真,则当前记录带有删除标记。有删除标记。例如:例如:USE XS BROWS FOR DELETED()()&浏览带有删除标记的记录浏览带有删除标记的记录56(2)控制对逻辑删除的记录的访控制对逻辑删除的记录的访问问命令格式:命令格式:SET DELETED ON/OFF其中:其中:ON 不能访问逻辑删除的记录不能访问逻辑删除的记录OFF允许访问逻辑删除的记录允许访问逻辑删除的记录57练习:练习:已知自由表已知自由表STUDENT中含有中含有20条记录,条记录,执行下列程序段后,执行下列程序段后,N的值为?的值为?USE STUDENT DELETE NEXT

34、 4 SET DELETE ON N=RECCOUNT()()2058函数补充:函数补充:FCOUNT(工作区号或别名工作区号或别名)返回指定工作区中打开的表的字段返回指定工作区中打开的表的字段个数,省略参数则指当前工作区的表个数,省略参数则指当前工作区的表FIELD(字段序号字段序号)返回当前表文件中的指定字段序号返回当前表文件中的指定字段序号的字段名的字段名59八、数据的复制八、数据的复制命令格式(命令格式(P95):):COPY TO 文件名文件名 FIELDS 字段名表字段名表 范围范围FOR 条件条件 TYPE SDF/XLS/DELIMITED WITH 字符字符|BLANK|TA

35、B功能:将当前工作区中表的数据复制到其他文功能:将当前工作区中表的数据复制到其他文件中件中60记录的顺序记录的顺序1 1、物理顺序、物理顺序按记录输入的时间顺序存放。按记录输入的时间顺序存放。2 2、逻辑顺序、逻辑顺序对记录按对记录按某个字段值某个字段值或或某些字段值某些字段值排序。排序。3.3.6 索引的创建与使用索引的创建与使用61一、索引的概念一、索引的概念 什么是索引(什么是索引(Index)?)?(1)对数据的某些操作,如查找,如果数对数据的某些操作,如查找,如果数据是有规律排列的,速度快。据是有规律排列的,速度快。(2)索引就是一种排序。)索引就是一种排序。(3)索引是按)索引是按

36、指定字段指定字段的逻辑排序。的逻辑排序。62记录号记录号 XH XM XB ZYDH XIMING 1 990302 张璋张璋 男男 102001 信息管理系信息管理系 2 990506 王旺王旺 男男 201004 计算机系计算机系 3 990101 钱前钱前 女女 102001 信息管理系信息管理系 4 990402 孙隼孙隼 女女 201004 计算机系计算机系 5 990201 赵昭赵昭 女女 302001 计算机系计算机系XS.DBF按学按学号排号排序序 XH 990101 990201990302 990402990506 记录号记录号 3 5 1 4 2原来的原来的记录号记录号指

37、指指指针针针针如对如对XS表按学号建立索引表按学号建立索引63二、索引文件的种类二、索引文件的种类(1)结构复合索引文件)结构复合索引文件 结构复合索引文件可以存储表的多结构复合索引文件可以存储表的多个索引,文件名与表文件名相同,在创个索引,文件名与表文件名相同,在创建时由系统自动给定。扩展名为建时由系统自动给定。扩展名为CDX。结构复合索引文件与表文件同步打开、结构复合索引文件与表文件同步打开、更新和关闭。更新和关闭。64(2)非结构复合索引文件非结构复合索引文件 非结构复合索引文件名由用户给出,非结构复合索引文件名由用户给出,要用打开命令将其打开。可减轻应用程序要用打开命令将其打开。可减轻

38、应用程序的维护负担。的维护负担。(3)独立索引文件)独立索引文件 独立索引文件只能存储一个索引,可临独立索引文件只能存储一个索引,可临时创建,用命令打开,其扩展名为时创建,用命令打开,其扩展名为IDX。65三、使用表设计器创建结构复合索引文件三、使用表设计器创建结构复合索引文件在用在用“表设计器表设计器”创建或修改表结构创建或修改表结构时,可以立即创建索引。时,可以立即创建索引。注意注意:(1)不能对备注型和通用型字段建立)不能对备注型和通用型字段建立索引。索引。(2)不要建立无用的索引,否则会降)不要建立无用的索引,否则会降低系统性能。低系统性能。661、排序、排序索引时可指定索引是升序(索

39、引时可指定索引是升序()还是)还是降序(降序()。)。67 一张表可以创建多个索引,为了区一张表可以创建多个索引,为了区分一张表的不同索引,每一个索引都必分一张表的不同索引,每一个索引都必须有一个索引名,即索引标识。须有一个索引名,即索引标识。索引标识必须以下划线、字母或汉索引标识必须以下划线、字母或汉字开头,长度不超过字开头,长度不超过10个字符。个字符。2、索引名、索引名(TAG)68(1)主索引()主索引(Primary Index)对数据库表,可建立主索引,组成主索对数据库表,可建立主索引,组成主索引的字段或表达式的引的字段或表达式的值不能重复值不能重复,如学号的,如学号的值是唯一的,

40、可作为主索引字段。值是唯一的,可作为主索引字段。主索引只能用于数据库表,不能用于自由表。主索引只能用于数据库表,不能用于自由表。3、索引的类型、索引的类型(2)候选索引)候选索引(Candidate Index)不允许有重复的值的索引,一张表可建立不允许有重复的值的索引,一张表可建立多个多个候候选索引。选索引。候选索引可用于数据库表或自由表。候选索引可用于数据库表或自由表。69(3)普通索引()普通索引(Regular Index)记录的排序,允许有重复的值,一记录的排序,允许有重复的值,一张表可建立多个普通索引。张表可建立多个普通索引。(4)唯一索引)唯一索引(Unique Index)允许

41、有重复的值,但在显示时,只显允许有重复的值,但在显示时,只显示一个值。示一个值。704、索引表达式、索引表达式索引表达式索引表达式是作为建立索引的依据,也就是作为建立索引的依据,也就是排序的依据,它可以是一个字段或字段是排序的依据,它可以是一个字段或字段表达式,也叫表达式,也叫索引关键字索引关键字。索引表达式例:索引表达式例:Xm+xb Jbgz+jt Xm+str(jbgz)Dtoc(gzrq,1)+str(jbgz)71索引表达式注意问题:索引表达式注意问题:如果索引表达式如果索引表达式是字符型表达式,则各字段在是字符型表达式,则各字段在表达式中的前后顺序将影响索引的结果。例表达式中的前后

42、顺序将影响索引的结果。例 Xm+xb。如果索引表达式如果索引表达式是算术表达式,则按照表达式是算术表达式,则按照表达式的运算结果进行排序。例的运算结果进行排序。例 Jbgz+jt。不同数据类型的字段构成一个索引表达式时,不同数据类型的字段构成一个索引表达式时,必须转换同一数据类型(通常转换为字符型)。必须转换同一数据类型(通常转换为字符型)。例:例:Xm+str(jbgz)Dtoc(gzrq,1)+str(jbgz)725、筛选、筛选指定仅有符合条件的记录参加索引。指定仅有符合条件的记录参加索引。73五、索引的使用五、索引的使用1、设置主控索引、设置主控索引一张表可以建立多个索引,但在使用表中

43、的一张表可以建立多个索引,但在使用表中的数据时,只能按一种索引的顺序进行。这种数据时,只能按一种索引的顺序进行。这种索引就是索引就是主控索引主控索引。主控索引可以是复合索。主控索引可以是复合索引文件中的一个标识(引文件中的一个标识(主控标识主控标识),也可以),也可以是一个独立索引文件。是一个独立索引文件。74USE 表文件名表文件名 ORDER TAG 标识名标识名例:例:CLOSE TABLES ALLUSE xs ORDER xhUSE xs IN 0 ALIAS xs2 AGAIN ORDER xbBROW(1)打开表的同时指定主控索引)打开表的同时指定主控索引75记录号记录号记录号记

44、录号 XH XM XB ZYDH XIMINGXH XM XB ZYDH XIMING 1 990302 1 990302 张璋张璋张璋张璋 男男男男 102001 102001 信息管理系信息管理系信息管理系信息管理系 2 990506 2 990506 王旺王旺王旺王旺 男男男男 201004 201004 计算机系计算机系计算机系计算机系 3 990101 3 990101 钱前钱前钱前钱前 女女女女 102001 102001 信息管理系信息管理系信息管理系信息管理系 4 990402 4 990402 孙隼孙隼孙隼孙隼 女女女女 201004 201004 计算机系计算机系计算机系计

45、算机系 5 990201 5 990201 赵昭赵昭赵昭赵昭 女女女女 302001 302001 计算机系计算机系计算机系计算机系XS.DBF记录号记录号记录号记录号 XH XM XB ZYDH XIMINGXH XM XB ZYDH XIMING 3 990101 3 990101 钱前钱前钱前钱前 女女女女 102001 102001 信息管理系信息管理系信息管理系信息管理系 5 990201 5 990201 赵昭赵昭赵昭赵昭 女女女女 302001 302001 计算机系计算机系计算机系计算机系 1 990302 1 990302 张璋张璋张璋张璋 男男男男 102001 10200

46、1 信息管理系信息管理系信息管理系信息管理系 4 990402 4 990402 孙隼孙隼孙隼孙隼 女女女女 201004 201004 计算机系计算机系计算机系计算机系 2 990506 2 990506 王旺王旺王旺王旺 男男男男 201004 201004 计算机系计算机系计算机系计算机系建立建立建立建立索引索引索引索引后显后显后显后显示的示的示的示的结果结果结果结果注意:注意:索引显索引显示的记录示的记录号是原来号是原来 数据库文数据库文件的记录件的记录号!号!XS.CDX76界面方式:界面方式:“表表/属性属性”“工作区属性工作区属性”对话框对话框命令方式:命令方式:SET ORDE

47、R TO 标识名标识名/索引编号索引编号如:如:SET ORDER TO xm SET ORDER TO 0&不按索引顺序排序不按索引顺序排序,按原来表记录的按原来表记录的顺序顺序(2)打开表后再指定主控索引)打开表后再指定主控索引773、利用索引快速定位记录、利用索引快速定位记录排序以后,再查找有关信息,速度会加快。排序以后,再查找有关信息,速度会加快。(1)SEEK命令命令命令格式:命令格式:SEEK 表达式表达式 ORDER TAG名名 ASCENDING/DESCENDING IN 工作工作区区/别名别名 79例如:例如:USE XS ORDER TAG XH&打开表文件打开表文件XS

48、,指定标识指定标识 XH SEEK “990201”&查找学号为查找学号为“990201”的记录的记录注意:注意:SEEK 命令只能在索引过的表命令只能在索引过的表中使用,并且只能搜索索引关键字。中使用,并且只能搜索索引关键字。80如果找到与表达式匹配的记录,则如果找到与表达式匹配的记录,则 RECNO()()=找到的记录号找到的记录号 FOUND()()函数的值为函数的值为“真真”EOF()()函数的值为函数的值为“假假”如果未找到相匹配的记录,则如果未找到相匹配的记录,则 RECNO()()=记录个数加记录个数加1 FOUND()()函数的值为函数的值为“假假”EOF()()函数的值为函数

49、的值为“真真”81(2)SEEK函数函数SEEK(表达式表达式,工作区工作区/别名别名,TAG名名 )SEEK函数的用法同先执行函数的用法同先执行SEEK命令,再执命令,再执行行FOUND()()函数的结果一样。函数的结果一样。如果找到与表达式匹配的记录,函数的如果找到与表达式匹配的记录,函数的返回值为返回值为“真真”;如果找不到与表达式匹配的记录,函数的如果找不到与表达式匹配的记录,函数的返回值为返回值为“假假”。82练习:练习:已知已知XS表的结构复合索引中已创建表的结构复合索引中已创建XH字段的普通索引,索引标识为字段的普通索引,索引标识为XH,在没有设置主控索引的情况在没有设置主控索引

50、的情况下,要用下,要用SEEK 命令定位到学号为命令定位到学号为“980101”的记录上,则该命令为:的记录上,则该命令为:SEEK “980101”ORDER TAG XH83五、命令方式创建索引五、命令方式创建索引(补充)补充)INDEX ON 索引表达式索引表达式 TAG 索引标识名索引标识名 FOR 条件表达式条件表达式 ASCENDING/DESCENDING UNIQUE/CANDIDATE 其中:其中:其中:其中:ON ON 索引表达式索引表达式索引表达式索引表达式关键字段表达式,排序的依据。关键字段表达式,排序的依据。关键字段表达式,排序的依据。关键字段表达式,排序的依据。TA

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

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

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

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