




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,表的创建和使用,第二章,2,【本章要点】,表的概念表结构的创建和修改表记录的添加、浏览、删除记录指针的概念、定位数据的修改、筛选索引的概念、创建和使用,3,2.1表,4,2.1.1表的概念,表(Table):是指存放在磁盘文件中的一张二维表。一张表保存为一个表文件(.DBF)。字段(Field):表中的一列。字段规定了数据的特征。记录(Record):表的一行。记录是多个字段的集合。同一个表的每一个记录都有相同的字段。表结构:存储表的记录的一个公共的结构。,5,字段(fields),记录(records),6,2.1.2字段的基本属性,字段名(FieldName)用以标识一个字段的名字。字段的数据类型(Type)不同的数据类型的表示和运算的方法不一样。VFP提供了13种字段的数据类型。P.21(表2-1)。字段宽度(Width)指该字段所能容纳数据的最大字节数。,8,2.1.2字段的基本属性,小数位数(Decimal)对于数值型、浮点型和双精度型的字段可以指定其小数的位数。字段宽度=整数部分宽度+小数点1位+小数位数如果小数位数不为0,则小数位数必须比整个字段宽度至少小2。空值支持(Null)空值是用来指示记录中的一个字段“有或没有”数据的标识。Null不是一种数据类型或一个值,确切地讲,它是用来指示数据存在或不存在的一种属性。,9,2.2表结构的创建和修改,10,2.2.1表结构的创建,创建表结构的方式有两种:表设计器(TableDesigner)方式SQL命令方式,11,一、用“表设计器”创建表结构,通过菜单或工具栏打开“表设计器”CREATECREATE?CREARE表文件名在项目中新建表,12,二、用CREATETABLE-SQL命令创建表结构,格式是:CREATETABLE|DBF表文件名(字段名1字段类型(字段宽度,小数位数),字段名2字段类型(字段宽度,小数位数))例如:CREATETABLEXS2(xhC(6),xmC(6),xbC(2),字段名,字段类型,字段宽度,13,2.2.2表结构的修改,修改表结构的方式有两种:表设计器方式ALTERTABLE命令方式,14,一、用“表设计器”修改表结构,MODIFYSTRUCTURE命令在项目中修改表结构,15,二、用ALTERTABLE命令修改表结构,添加字段:ADDCOLUMN子句。例如,把“BJMC”(班级名称)字段添加到XS表中:ALTERTABLEXSADDCOLUMNBJMCC(12)重命名字段:RENAMECOLUMN子句。例如,重新命名XS表的“BJMC”字段为“BJ”:ALTERTABLEXSRENAMECOLUMNBJMCTOBJ删除字段:DROPCOLUMN子句。例如,从XS表中删掉“BJ”字段:ALTERTABLEXSDROPCOLUMNBJ,16,2.3表记录的处理,17,2.3.1记录的追加,追加记录的方式主要有四种:一.立即输入记录二.在浏览状态下向表中追加记录三.使用INSERTSQL命令追加记录四.从其他表中追加记录,18,用INSERTSQL命令追加记录,INSERTSQL命令的一般格式是:INSERTINTO表名(字段1,字段2,);VALUES(表达式1,表达式2,)例如,向XS表中插入一个新记录:INSERTINTOXS(XH,XM,XB,XIMING);VALUE(”96010057”,”曹晓燕”,”女”,”文”),19,从其他表中追加记录,从另一个DBF文件中追加记录到当前表中APPENDFROM另一个表文件名从一个TXT文本文件中追加记录到当前表中APPENDFROMTXT文件名SDF,20,2.3.2记录的浏览,BROWSE命令浏览窗口定制浏览窗口筛选浏览的字段,21,2.3.3记录的定位,记录指针的概念记录的定位方式记录定位的实现,22,一、记录指针的概念,文件头,(包含表结构等信息),第1号记录,第2号记录,第n号记录,记录指针,记录开始标志,记录结束标志,23,几个概念,三个控制标志:记录的开始标志、记录指针标志、记录的结束标志记录号当前记录,24,二、记录的定位方式,1、指针的绝对移动:把指针移动到指定的位置。2、指针的相对移动:指从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。3、有条件的记录指针移动:指让计算机按照一定的条件自动地在表的某个指定范围中查找符合该条件的记录,如果找到符合条件的记录,则把指针移动到该记录上,否则,指针将移动到整个表或表的指定范围的末尾。,25,三、记录定位的实现,1、在浏览状态下2、使用命令绝对定位命令:GO/GOTO/n相对定位命令:SKIPn条件定位命令:LOCATE(忽略)快速定位命令:SEEK,26,三、记录定位的实现,在“作用范围”的四个选项:“All”:表中的全部记录;“Next”:从当前记录开始的n个记录,个数在其右边的文本框中输入;“Record”:指定的记录,记录号在其右边的文本框中输入;“Rest”:当前记录后的所有记录。,1.,文件头首记录记录2:当前记录:RECORDn记录n:末记录文件尾,ALL,NEXTn,REST,28,2.3.4记录的修改,一、在浏览窗口中编辑修改记录二、批量记录的修改1、使用“表”菜单中的“替换字段”项2、使用命令批量修改记录,29,修改记录字段值的的命令有两个:,REPLACE命令(忽略)UPDATE-SQL命令语法:UPDATE表名SET字段1=表达式1,字段2=表达式2.WHERE条件表达式,30,2.3.5记录的删除,删除表中的记录要分两个步骤来实现:(1)标记要删除的记录;(2)彻底删除带删除标记的记录。,31,一、标记要删除的记录,1、界面方式的删除(1)在表的浏览窗口中删除个别记录(2)在表的某一范围内删除一组符合指定条件的记录,32,2、命令方式的删除(1)DELETE命令DELETE范围FOR条件表达式范围:ALL(所有记录)REST(从当前记录开始到记录结束)RECORDn(第n号记录)NEXTn(从当前记录开始的n条记录)默认范围:当前记录FOR条件表达式:删除符合条件的记录例如:usexsdeletedeletenext3deleteallforxs.xb=男deleteall,33,2、命令方式的删除(2)DELETE-SQL命令DELETEFROM表名WHERE过滤条件表达式例如:DELETEFROMxsWHERExs.xb=男DELETEFROMxs,34,二、对带删除标记记录的处理,1、测试删除标记DELETE()函数2、恢复删除3、彻底删除4、控制其他命令对带删除标记的记录的访问SETDELETEDON使命令忽略标有删除标记的记录SETDELETEDOFF(默认值)命令可以访问标有删除标记的记录,35,2.3.6筛选记录,是指从表中选出部分满足指定条件的记录来进行浏览或其他操作,不满足条件的记录则被“隐含”起来。,36,一.通过界面操作筛选记录,在“工作区属性”对话框中,在“数据过滤器”文本框中输入筛选条件表达式。,37,二.使用命令筛选记录,SETFILTERTO条件表达式例如,用以下命令筛选出所有男学生:SETFILTERTOXB=“男”去掉记录筛选条件的命令:SETFILTERTO另外在许多命令的用法中,可以包含FOR子句,使命令在执行时进行临时性筛选。,38,2.1.1筛选字段,筛选字段是选取表的部分列。,39,一.通过界面操作筛选字段,“工作区属性”对话框中打开“字段筛选器”,40,二、使用命令筛选字段,SETFIELDSON指定只能访问出现在字段列表中的字段。SETFIELDSOFF(默认值)指定可以访问当前表中的所有字段。SETFIELDSTO字段1,字段2.指定当前表中可访问的字段的名称。SETFIELDSTOALL允许访问当前表中的所有字段。,41,2.4表的使用,表打开以后才能进行操作,实际上打开表就是把表从磁盘调入内存中某一个工作区。VFP提供了32767个工作区,编号从132767。,42,2.4.1工作区,一、工作区的概念工作区是指用以标识一个打开的表的区域。每个工作区有一个编号。每个工作区在某一时刻只能打开一个表。在同一个工作区打开另外一个表时,以前打开的表会自动关闭。,内存,1,2,3,43,二、工作区表的别名,表的别名是对工作区中打开的表的一个临时标识。定义表的别名(1)在打开表时指定别名USE表文件名ALIAS别名(2)在打开表时,如果没有自定义别名,则系统默认以表文件名作为别名。(3)前10个工作区除了使用110为编号外,还可以依次使用AJ十个字母来表示,后者也是别名。,内存,1xs,2teacher,3,44,三、当前工作区,1、概念VFP正在使用的工作区称为当前工作区,即默认的工作区。2、当前工作区的区号和别名(1)用函数SELECT(0)测试当前工作区的区号.(2)用省略参数的ALIAS()函数取得当前工作区表的别名。(3)在主窗口的状态行中查看当前工作区中表的别名。,内存,1xs,2teacher,3,45,三、当前工作区,3、设置当前工作区(1)在“数据工作期”窗口中设置(2)使用SELECT命令设置SELECT工作区号|别名4、处理非当前工作区中的表方法有二:(1)把其他工作区设成当前工作区;(2)在命令中指定工作区。其一般格式为:命令IN工作区号|别名(P31例)5、SELECT0命令用来选定当前尚未使用的最小区号。,内存,1xs,2teacher,3,46,2.4.2表的打开和关闭,表只有在被打开时,表中的数据才能被访问。每个打开的表占用一个工作区。一个工作区只能打开一个表。但一个表可以同时被打开在多个工作区中。打开的表可以被关闭。,47,一.打开表,1.通过界面操作使用“文件”菜单或工具条;在“数据工作期”窗口中打开(占用一未被使用的工作区);用USE?命令打开“使用”窗口,在该窗口中打开;2.使用命令USE表文件名IN工作区号|别名3.多次打开一个表USE表文件名IN工作区号|别名AGAIN,48,二.关闭表,1.通过界面操作在“数据工作期”窗口中关闭;2.使用命令(1)关闭当前工作区中的表:USE(2)关闭非当前工作区中的表的命令:USEIN工作区号|别名或者SELECT工作区号|别名USE(3)关闭所有工作区中的表的命令:CLOSEALL或者CLOSEDATABASESALL或者CLOSETABLESALL(4)在退出VFP系统时,所有的表都将被关闭。,49,2.4.3表的独占与共享使用,一个表同时被多个用户访问的情况,就是表的共享使用。反之当一个表只能被一个用户打开时,称为表的独占使用。,50,一.设置独占与共享的默认状态,1、使用“选项对话框”“数据”设置2、使用SETEXCLUSIVE命令设置:设置“共享”为默认打开方式SETEXCLUSIVEOFF设置“独占”为默认打开方式SETEXCLUSIVEON,51,二.强行以一种方式打开表,1、在“打开”窗口中设置2、在用USE命令打开表时,加“SHARED”(共享)或“EXCLUSIVE”(独占)子句来指定打开方式(1)以共享方式打开表USE表文件名SHARED(2)以独占方式打开表USE表文件名EXCLUSIVE,52,2.4.4缓冲访问表中的数据,一、数据缓冲数据缓冲是VFP在多用户环境下,用以保护对表记录所做的数据更新以及数据维护操作的一种技术。它为启用数据缓冲的表在内存中开辟一个缓冲区,对表的一个或多个记录的修改可以先保存在缓冲区中,用户可以决定是否将缓冲区中的数据更新表文件。在更新表文件时,缓冲区自动测试、锁定以及解锁记录或表。,53,1、缓冲的类型有两种:记录缓冲和表缓冲。(1)记录缓冲(也叫行缓冲)仅对表的一个记录开设缓冲区,当记录指针移动时或者关闭表时,缓冲区将自动更新表中相应的记录。若一次只对一个记录进行访问、修改或写操作,应选择记录缓冲。(2)表缓冲对整个表实施缓冲,仅当发出更新表的命令或关闭表时更新表。若要对多个记录的更新使用缓冲,应选择表缓冲。,54,55,(1)保守式缓冲。在多用户环境中防止一个用户访问另一个用户正在修改的记录或表。(2)开放式缓冲。记录只在被写入时加锁。故有四种缓冲方式:(1)保守式行缓冲(2)开放式行缓冲(3)保守式表缓冲(4)开放式表缓冲,2、缓冲的两种锁定方式,56,(1)工作区属性对话框.(2)使用CURSORSETPROP()函数.格式:CURSORSETPROP(Buffering,缓冲类型值,工作区|别名)缓冲类型值有:1为无缓冲2为保守式行缓冲3为开放式行缓冲4为保守式表缓冲5为开放式表缓冲,3、设置表的数据缓冲,57,(1)CURVAL()函数和OLDVAL()函数(2)GETFLDSTATE()函数5.执行和放弃对缓冲数据的更改(1)用TABLEUPDATE()函数执行对缓冲行、缓冲表或临时表的修改。(2)用TABLEREVERT()函数放弃对缓冲行、缓冲表或临时表的修改。,4、检测缓冲区中数据是否与数据源表一致,58,2.5表的索引,59,2.5.1记录的顺序,一、物理顺序按记录输入的时间顺序存放,并用记录号予以标识,除非有记录的删除和插入,否则表中的物理顺序总是不变的。二、逻辑顺序对记录按某个字段值或某些字段值排序。,60,2.5.2索引的几个概念,一、索引(Index)索引实际上是一种排序,但是它不改变数据表中的物理顺序,而是另外建立一个记录号列表。而表的索引指明由索引关键字的大小决定的记录排列的顺序(记录的逻辑顺序)。表一旦按索引表达式建立索引后,就产生了一个相应的索引文件,其文件名与表名相同,但扩展名不同。注意:虽然排序和索引都以增加一个文件为代价,但索引文件只包含关键字和记录号两个字段,比原来的表要小的多。索引起作用后,增加或修改表的记录时,索引文件会自动更新,所以索引的应用原比排序广泛。1、索引关键字2、索引表达式的构成3、索引标识(TAG),61,二.索引的类型,1.主索引(PrimaryIndexes)组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值的索引。每张表只能创建一个主索引。自由表不能建立主索引。2.候选索引(CandidateIndexes)在指定的关键字段或表达式中不允许有重复值的索引。一张表中可以建立多个候选索引。候选索引可用于数据库表和自由表。,62,二.索引的类型,3.普通索引(RegularIndexes)允许关键字段或表达式的值出现重复。4.唯一索引(UniqueIndexes)索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,重复的值仅存储一次,而忽略其他的相同的值。,64,三.索引文件的种类,1.索引文件保存索引信息的文件。2.索引文件的种类(1)结构复合索引文件(.cdx)结构复合索引文件与对应的表文件的主文件名相同。与表同步打开、更新和关闭。(2)非结构复合索引文件(.cdx)非结构复合索引文件名由用户给出。不随表的打开而自动打开。(3)独立索引文件(.idx)单索引文件只包含一个索引,这种类型是为了与FOXBASE+开发的应用程序相兼容而保留的。但若将它定义为压缩的,将不能被FOXBASE+使用。独立索引不会随表的打开而自动打开。,65,2.5.3结构复合索引文件的创建,一、用“表设计器”创建二、用INDEX命令创建INDEX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 别具一格手绘课件
- 别云剑课件教学课件
- 兴旺驾校安全学员培训基地课件
- 化工产品安全生产培训课件
- 内部审计部门培训课件
- 内部安全培训工作课件
- 化学气体安全培训甲烷课件
- 化学检验员安全培训课件
- 创文在行动课件
- 创意安全培训课件
- 常见药物不良反应及安全用药
- 陪诊服务培训课件模板
- 严禁管制刀具进校园主题班会课件
- 2024年山东省春季高考技能考试汽车专业试题库-上(单选题汇总)
- 国庆、中秋双节前安全排查记录
- 八年级上学期轴对称练习题
- 双姿培训课件
- GB/Z 41082.2-2023轮椅车第2部分:按GB/Z 18029.5测得的尺寸、质量和操作空间的典型值和推荐限制值
- 实施项目经理岗位的工作职责描述
- 中频操作评分标准
- 生活中的理财原理知到章节答案智慧树2023年暨南大学
评论
0/150
提交评论