计算机二级vfp3_第1页
计算机二级vfp3_第2页
计算机二级vfp3_第3页
计算机二级vfp3_第4页
计算机二级vfp3_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第3章章 表的创建和使用表的创建和使用23.1 表结构表结构l表:保存在磁盘中的一张二维表。(表:保存在磁盘中的一张二维表。( .DBF)l与数据库相关联的表叫数据库表与数据库相关联的表叫数据库表 ;与数据库无关联的表叫自由表。与数据库无关联的表叫自由表。 l字段(字段(Field):):表中的一列,规定了数据的特征。表中的一列,规定了数据的特征。l记录(记录(Record):):表的一行,多个字段的集合。表的一行,多个字段的集合。l表结构(表结构(Structure):):存储表记录的一个公共结构。存储表记录的一个公共结构。要建立一张完整的表,必须先建立表的结构,要建立一张完整的表,必须

2、先建立表的结构,然后再输入记录(数据)。然后再输入记录(数据)。 3字段的基本属性字段的基本属性l字段名字段名:用以标识一个字段的名字。用以标识一个字段的名字。l字段的数据类型字段的数据类型:说明字段是什么类型的数据。说明字段是什么类型的数据。不同的数据类型的表示和运算的方法不一样。不同的数据类型的表示和运算的方法不一样。VFPVFP提供了提供了1313种字段的数据类型。种字段的数据类型。l字段宽度字段宽度:指该字段所能容纳数据的最大字节数。指该字段所能容纳数据的最大字节数。l小数位数:小数位数:数值型、浮点型、双精度型的字段可指定小数据位。数值型、浮点型、双精度型的字段可指定小数据位。字段宽

3、度字段宽度= =整数部分宽度整数部分宽度+ +小数点小数点1 1位位+ +小数位宽度小数位宽度小数位至少比整个字段宽度小小数位至少比整个字段宽度小2 2。l空值:不是一种数据类型,用来指示数据存在或不存在空值:不是一种数据类型,用来指示数据存在或不存在的一种属性。的一种属性。4l注意:注意:l一个表中最多可以包含一个表中最多可以包含255个字段,如果其中一个字段,如果其中一个或多个字段可包含个或多个字段可包含NULL值,则最大字段数将值,则最大字段数将减少一个,为减少一个,为254个。(个。(P90)52.2 表结构的创建和修改表结构的创建和修改l表结构的创建表结构的创建表设计器方式表设计器方

4、式l用菜单或工具栏打开用菜单或工具栏打开“表设计器表设计器”lCREATElCREATE ?lCREATE 表文件名表文件名l“项目管理器项目管理器”中的中的“新建新建”SQL命令方式命令方式6CREATE TABLE-SQLl格式CREATE TABLE|DBF CREATE TABLE|DBF 表文件名表文件名(字段名字段名1 1 字段类型字段类型(字段宽度字段宽度,小数位数小数位数),字段名字段名2 2 字段类型字段类型(字段宽度字段宽度,小数位数小数位数))CREATE TABLE xs2 (xh c(6) NOT NULL ,xm c(8),xb c(2)命令字表文件名字段名类型宽度

5、使用NULL值7修改表结构修改表结构l表设计器方式表设计器方式在在“项目管理器项目管理器”中使用中使用“修改修改”按钮按钮MODIFY STRUCTURE命令命令lALTER TABLE-SQL命令方式命令方式ADD COLUMN:添加字段。添加字段。ALTER TABLE xs ADD COLUMN bjmc c(12)RENAME COLUMN:重命名字段。重命名字段。ALTER TABLE xs RENAME COLUMN bjmc TO bjDROP COLUMN:删除字段。删除字段。ALTER TABLE xs DROP COLUMN bjALTER COLUMN:修改宽度修改宽度8

6、2.3 记录的处理记录的处理l记录的追加记录的追加立即输入记录立即输入记录浏览状态下追加记录浏览状态下追加记录用用INSERT-SQL命令追加记录命令追加记录用用APPEND命令追加记录命令追加记录lAPPENDlAPPEND FROM 表文件名表文件名:从其他表中追加记录。:从其他表中追加记录。lAPPEND FROM TXT 文本文件名文本文件名 SDF:从文本文件添加。从文本文件添加。从其他类型的文件追加记录从其他类型的文件追加记录9INSERT-SQL命令命令l格式格式INSERT INTO INSERT INTO 表名表名 ( (字段字段1 1,字段字段2 2);); VALUES

7、(VALUES (表达式表达式1 1,表达式表达式2 2)l例例INSERT INTO INSERT INTO xsxs (XH,XM,XB,XIMING); (XH,XM,XB,XIMING);VALUE (“VALUE (“96010057”,”曹晓燕曹晓燕“,”,”女女”,”,”文文”)”)追加进表的记录总在最后一条。追加进表的记录总在最后一条。10记录的浏览记录的浏览l浏览窗口浏览窗口lBROWSE命令命令格式格式BROWSE FIELDS 字段名字段名1,字段名,字段名2 FOR/WHILE 条件条件例例BROWSE FIELDS xh,xm,xb FOR xb=男男浏览浏览XS表中

8、所有男同学的表中所有男同学的XH,XM,XB信息。信息。11记录的定位记录的定位l记录的指针记录的指针系统在打开一个表文件后将自动生成三个控制标志:系统在打开一个表文件后将自动生成三个控制标志:记录开始标志、记录指针标志、记录结束标志。记录开始标志、记录指针标志、记录结束标志。文件头文件头(含表结构等信息)(含表结构等信息)第第1号记录号记录第第2号记录号记录第第n号记录号记录记录开始标志记录开始标志记录指针记录指针记录结束标志记录结束标志12记录指针记录指针l记录指针是记录指针是VFP系统内部的一个指示器,在表中指向记系统内部的一个指示器,在表中指向记录。每当打开一个表文件时,指针总是指向第

9、一条记录。录。每当打开一个表文件时,指针总是指向第一条记录。 l记录指针指向的记录叫当前记录,改变指针的指向叫记记录指针指向的记录叫当前记录,改变指针的指向叫记录的定位。录的定位。l测试当前记录用函数测试当前记录用函数RECNO()。()。最小值为最小值为1,最大值,最大值为为RECCOUNT()()+1。 l打开表时记录指针情况:打开表时记录指针情况:表中无记录:表中无记录:BOF()=.T. EOF()=.T. RECNO()=1表中有记录:表中有记录:BOF()=.F. EOF()=.F. RECNO()=1 13记录的定位方式记录的定位方式l记录指针的绝对移动记录指针的绝对移动GO/G

10、OTO n:当当n大于记录总数时将拒绝移动。大于记录总数时将拒绝移动。GO TOPGO BOTTOMl记录指针的相对移动记录指针的相对移动SKIP n:n0向文件尾方向;向文件尾方向;n0向文件头方向。向文件头方向。l记录的条件定位记录的条件定位LOCATE 范围范围 FOR/WHILE 条件条件(忽略)(忽略)l记录的索引定位:记录的索引定位:SEEK在浏览状态下在浏览状态下“表表/转到记录转到记录”14一些子项的含义一些子项的含义l范围范围ALL:全部记录全部记录NEXT n:从当前记录开始的从当前记录开始的N个记录个记录RECORD n:第第N个记录个记录REST:从当前开始到结束的所记

11、录从当前开始到结束的所记录 l条件条件FOR:在指定范围内对所有满足条件的记录操作在指定范围内对所有满足条件的记录操作WHILE:从当前记录开始到第一个不满足条件记录从当前记录开始到第一个不满足条件记录之间的记录之间的记录 15练习练习Use xsGo 3?recno()Go 20?recno()Use xsGo 3?recno()skip 20?recno()已知已知XS表中的总表中的总记录数为记录数为18。16记录的修改记录的修改l一个表只要不是只读方式打开,就可以对其记录进行编一个表只要不是只读方式打开,就可以对其记录进行编辑和修改。辑和修改。 l对少量的记录直接在浏览窗口中修改。对少量

12、的记录直接在浏览窗口中修改。l批量记录的修改批量记录的修改使用使用“表表”菜单中的菜单中的“替换字段替换字段”命令项命令项REPLACE命令(忽略)命令(忽略)UPDATE-SQL命令命令UPDATE 表名表名 SET 字段字段1=表达式表达式1,字段,字段2=表达式表达式2; WHERE 条件表达式条件表达式17l注意:注意:lUPDATE-SQL命令只能更新单个表中的命令只能更新单个表中的记录,在更新可共享访问的表中的多个记记录,在更新可共享访问的表中的多个记录时,录时, UPDATE-SQL命令会锁定当前要命令会锁定当前要更新的记录,以避免更新冲突。为了达到更新的记录,以避免更新冲突。为

13、了达到最好的性能,可以使用独占方式打开表。最好的性能,可以使用独占方式打开表。18记录的删除记录的删除l删除记录分两步走删除记录分两步走做删除标记做删除标记彻底删除带标记的记录彻底删除带标记的记录l界面方式删除界面方式删除对少量的记录直接在浏览窗口中删除对少量的记录直接在浏览窗口中删除在某一范围内删除一组符合特定条件的记录在某一范围内删除一组符合特定条件的记录“表表”菜单中的菜单中的“删除记录删除记录”命令项命令项“表表”“恢复记录恢复记录”“表表”“彻底删除彻底删除”19有关删除记录的命令有关删除记录的命令l删除删除1:DELETE FROM 表名表名 WHERE 条件表达式条件表达式l删除

14、删除2:DELETE 范围范围 FOR/WHILE 条件表达式条件表达式l恢复删除:恢复删除:RECALL 范围范围 FOR/WHILE 条件表达式条件表达式l彻底删除:彻底删除:PACKl删除所有记录:删除所有记录:ZAP(不管记录是否有删除标记)不管记录是否有删除标记)l使用使用DELETE()()函数可测试当前记录是否有删除标记函数可测试当前记录是否有删除标记l控制其它命令对有删除标记的访问控制其它命令对有删除标记的访问SET DELETED ON:使命令忽略有删除标记的记录使命令忽略有删除标记的记录SET DELETED OFF:允许访问有删除标记的记录允许访问有删除标记的记录(默认)

15、(默认)20筛选记录筛选记录l指从表中选出满足指定条件的记录,不满足条件的记录指从表中选出满足指定条件的记录,不满足条件的记录则被则被“隐藏隐藏”。l界面方式:在界面方式:在“工作区属性工作区属性”对话框中对话框中“数据过滤器数据过滤器”文本框中输入条件。文本框中输入条件。l命令方式:命令方式:SET FILTER TO 条件表达式条件表达式l取消筛选:取消筛选:SET FILTER TOl在有在有FOR子句的命令中,执行时进行临时性筛选。子句的命令中,执行时进行临时性筛选。SET FILTER TO SET FILTER TO 命令设置的过滤器不会对命令设置的过滤器不会对SELECT-SQL

16、SELECT-SQL、DELETE-SQLDELETE-SQL和和UPDATE-SQLUPDATE-SQL命令起作用。命令起作用。21筛选字段筛选字段l筛选字段是选取表的部分列。筛选字段是选取表的部分列。l“工作区属性工作区属性”对话框中打开对话框中打开“字段筛选器字段筛选器”l命令:命令:SET FIELDS ON:指定只能访问出现在字段列表中指定只能访问出现在字段列表中的字段的字段SET FIELDS OFF:可访问所有字段(默认)可访问所有字段(默认)SET FIELDS TO 字段列表:指定可访问字段名称字段列表:指定可访问字段名称SET FIELDS TO ALL:可访问所有字段可访

17、问所有字段222.4 表的使用表的使用l工作区工作区工作区用以标识一个打开表工作区用以标识一个打开表的区域。的区域。每个工作区有一个编号。每个工作区有一个编号。在某一时刻,一个工作区中在某一时刻,一个工作区中只能打开一个表。只能打开一个表。一个表可以多个工作区中被一个表可以多个工作区中被多次打开。多次打开。123内存内存23工作区中表的别名工作区中表的别名l表的表的是对工作区中打是对工作区中打开的表的一个临时开的表的一个临时。l定义表的别名定义表的别名打开表时指定别名打开表时指定别名USE USE 表文件名表文件名 ALIAS ALIAS 别名别名如果在打开表时没有指定别如果在打开表时没有指定

18、别名,则系统默认用表文件名名,则系统默认用表文件名作为别名。作为别名。1 xs2 teacher3内存内存24当前工作区当前工作区lVFP正在使用的工作区称为当正在使用的工作区称为当前工作区。前工作区。l用用SELECT(0)()(0 可省略)可省略)测试当前工作区号。测试当前工作区号。l用用ALIAS()()函数测试当前函数测试当前工作区中表的别名。工作区中表的别名。l状态栏中可显示当前工作区状态栏中可显示当前工作区中表的别名。中表的别名。1 xs2 teacher3内存内存25选用工作区选用工作区l在在“数据工作期数据工作期”窗口中设置。窗口中设置。l使用命令:使用命令:SELECT 工作

19、区号工作区号|别名别名l操作非当前工作区中的表操作非当前工作区中的表将所在工作区设置为当前工作区将所在工作区设置为当前工作区在命令中强行指定工作区在命令中强行指定工作区命令命令 IN 工作区工作区|别名别名lSELECT 0:选择未使用最小编号的工作区选择未使用最小编号的工作区26表的打开和关闭表的打开和关闭l表的打开表的打开界面方式:文件界面方式:文件打开、窗口打开、窗口数据工作期数据工作期命令方式:命令方式:USE 表文件名表文件名 IN 工作区号工作区号|别名别名一张表在多个工作区中打开用一张表在多个工作区中打开用AGAIN子句子句l表的关闭表的关闭数据工作期窗口中关闭数据工作期窗口中关

20、闭关闭指定工作区中的表:关闭指定工作区中的表:USE IN 工作区号工作区号|别名别名关闭所有工作区中的表:关闭所有工作区中的表:CLOSE ALL、CLOSE DATABASE、CLOSE TABLES、QUIT打开窗口与使用窗口的区别:打开窗口与使用窗口的区别:使用窗口中打开的表占用当前使用窗口中打开的表占用当前工作区;而打开窗口中打开的工作区;而打开窗口中打开的表占用当前未使用的工作区。表占用当前未使用的工作区。27表的独占与共享表的独占与共享l独占打开:一张表只能被一个用户打开。独占打开:一张表只能被一个用户打开。l共享打开:一张表可被多个用户同时打开。共享打开:一张表可被多个用户同时

21、打开。lUSE XS SHARED:强迫以共享方式打开表强迫以共享方式打开表XS。lUSE JS EXCLUSIVED:强迫以独占方式打开表强迫以独占方式打开表JS。l设定默认打开方式:设定默认打开方式:通过系统选项对话框来设置通过系统选项对话框来设置SET EXCLUSIVE ON|OFF一张表同时被打开多次时,只以第一次打开的方式为准。一张表同时被打开多次时,只以第一次打开的方式为准。MODIFY STRUCTUREMODIFY STRUCTURE、PACKPACK、ZAPZAP、INDEXINDEX、REINDEXREINDEX命令只能在独命令只能在独占方式下使用。占方式下使用。28缓冲

22、访问表中的数据缓冲访问表中的数据l数据缓冲:数据缓冲:VFP5的多用户环境下,用以保护对表记录所做的数的多用户环境下,用以保护对表记录所做的数据更新及数据维护操作的一种技术。据更新及数据维护操作的一种技术。 在内存中为启用缓冲的表开辟一个缓冲区,对表的修在内存中为启用缓冲的表开辟一个缓冲区,对表的修改可先保存在缓冲区中,用户可以决定是否将缓冲区改可先保存在缓冲区中,用户可以决定是否将缓冲区中的数据更新表。中的数据更新表。 在更新表时,缓冲区自动测试、加锁、解锁记录或表。在更新表时,缓冲区自动测试、加锁、解锁记录或表。 一旦启用缓冲,在表未关闭或未废止缓冲时一直有效。一旦启用缓冲,在表未关闭或未

23、废止缓冲时一直有效。 29缓冲类型缓冲类型l记录缓冲:只对表的一个记录开设缓冲区,当指针移动记录缓冲:只对表的一个记录开设缓冲区,当指针移动或关闭表时缓冲区自动更新表中相应记录。或关闭表时缓冲区自动更新表中相应记录。 l表缓冲:对整个表开设缓冲,当发出更新表命令或关闭表缓冲:对整个表开设缓冲,当发出更新表命令或关闭表时更新表。表时更新表。 l保守式:防止一个用户访问另一个用户正在修改的记录保守式:防止一个用户访问另一个用户正在修改的记录或表。或表。低效低效。 l开放式:记录只在被写入时加锁。开放式:记录只在被写入时加锁。高效高效。 lTABLEUPDATE():():执行修改。执行修改。lTA

24、BLEREVERT():():放弃修改。放弃修改。302.5 表的索引表的索引l记录的顺序记录的顺序物理顺序:物理顺序:表中记录的存储顺序。表中记录的存储顺序。按记录输入的时间顺序存放。按记录输入的时间顺序存放。逻辑顺序:逻辑顺序:记录的处理顺序。记录的处理顺序。对记录按某个(些)字段的值进行排序。对记录按某个(些)字段的值进行排序。31索引索引l索引的功能索引的功能根据根据“索引表达式索引表达式”的值进行记录的逻辑排序。的值进行记录的逻辑排序。l索引机制索引机制建立一个逻辑顺序号与记录号(物理顺序)的对照表。建立一个逻辑顺序号与记录号(物理顺序)的对照表。 l索引文件索引文件对照表存放的文件

25、。一个索引文件中可存放很多索引。对照表存放的文件。一个索引文件中可存放很多索引。 l索引更新索引更新记录增、改、删后,索引要进行相应的更新,否则索引记录增、改、删后,索引要进行相应的更新,否则索引与表不匹配。与表不匹配。 32索引的构成索引的构成l索引名索引名又叫索引标识、又叫索引标识、TAG,标记一个索引的名称。标记一个索引的名称。l索引表达式索引表达式又叫索引关键字,是排序的依据。又叫索引关键字,是排序的依据。l索引类型索引类型四种:主索引、候选索引、普通索引、唯一索引四种:主索引、候选索引、普通索引、唯一索引l筛选条件筛选条件把符合条件的记录进行索引。把符合条件的记录进行索引。33索引的

26、类型索引的类型l主索引(主索引(Primary Indexes)每张表只能创建一个,关键字的值不能重复。每张表只能创建一个,关键字的值不能重复。只适用于数据库表的结构复合索引只适用于数据库表的结构复合索引。l候选索引(候选索引(Candidate Indexes)关键字的值不允许有重复值。关键字的值不允许有重复值。l普通索引(普通索引(Regular Indexes)关键字的值可重复,一张表可建立多个。关键字的值可重复,一张表可建立多个。l唯一索引(唯一索引(Unique Indexes)允许关键字值重复,重复的值在索引表中只出现第一个。允许关键字值重复,重复的值在索引表中只出现第一个。34索

27、引文件的种类索引文件的种类l两类三种索引文件两类三种索引文件l复合索引文件(扩展名为复合索引文件(扩展名为.CDX)结构复合索引文件结构复合索引文件(最普通、最重要)(最普通、最重要)主文件名与表文件名同,由系统自动生成,主文件名与表文件名同,由系统自动生成,打开与关闭与表文件同步,是表的一部分。打开与关闭与表文件同步,是表的一部分。非结构复合索引非结构复合索引文件名由用户给出,要用专门的命令打开。文件名由用户给出,要用专门的命令打开。l独立索引文件(扩展名为独立索引文件(扩展名为.IDX)只存储一个索引的文件。只存储一个索引的文件。35结构复合索引文件的创建结构复合索引文件的创建l在在“表设计器表设计器”中创建中创建l用命令创建用命令创建INDEX ON 索引表达式索引表达式 TAG 索引标识名索引标识名 FOR 条件表达式条件表达式 ASCENDING|DESCENDINGUNIQUE|CANDIDATEl注意点:注意点:不能对备注型或通用型字段建立索引;不能对备注型或通用型字段建立索引;不要建立多余的无用的索引,会降低系统性能;不要建立多余的无用的索引,会降低系统性能;关键字由多个字段组成时要注意数据类型的一致。关键字由多个字段组成时要注意数据类型的一致。36索引的修改和删除索引的修改和删除l在在“表设计器表设计器”中修改和删除索引。中修改和删

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论