收藏 分享(赏)

第三讲——表的基本操作.ppt

上传人:tkhy51908 文档编号:9359152 上传时间:2019-08-03 格式:PPT 页数:69 大小:1.14MB
下载 相关 举报
第三讲——表的基本操作.ppt_第1页
第1页 / 共69页
第三讲——表的基本操作.ppt_第2页
第2页 / 共69页
第三讲——表的基本操作.ppt_第3页
第3页 / 共69页
第三讲——表的基本操作.ppt_第4页
第4页 / 共69页
第三讲——表的基本操作.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、第三章表的基本操作,本章教学计划,目的:掌握数据表的建立及表的维护操作,掌握表与数组间数据的传递操作重点:表的建立和维护 难点:表的维护 课时:课堂讲授2 课时,表是关系数据库管理系统的基本结构,是数据库中数据组织并存储的单元,几乎所有的数据处理都是建立在表的基础上的。 1、表的组成表通常描述一实体信息,由结构和数据组成。结构表现为字段(列),数据表现为记录(行),3.1 表的基本概念,记录,字段,2、表的分类VFP中表分为数据库表和自由表。 数据库表:归属于某一数据库,与该数据库的其他表之间存在联系,具有数据库管理的许多特性。(数据唯一性,有效性,准确性) 自由表:不属于任何数据库。 3、表

2、的建立、操作方式 交互方式:菜单、鼠标操作 命令方式: VFP数据库操作语句、SQL语句(后面课程细讲),3.1 表的基本概念,3.1 表的基本概念,4、表名定义 在VFP表文件的扩展名为.dbf。 命名规则:与windows操作系统一样,文件名不能包括字符 / : * ? “ | VFP中A、B、C J十个字母和W11、W12、W13 W32767有特定意义(工作区别名),不能用于命名。,3.2 表的建立,表组成:表结构(字段、列)+数据记录(行) 建表步骤:创建结构输入数据 自由表与数据库表结构和操作基本相同,3.2 表的建立,3.2.1 表结构的建立,1设计表的结构,表结构 字段名 字段

3、数据类型 字段宽度 小数位数 Null值支持,3.2 表的建立,3.2.1 表结构的建立,1设计表的结构,(1)字段名字段名是表中每个字段的名称,用来标识不同的字段。字段名必须以汉字、字母或下划线开头,由汉字、字母、数字或下划线组成。自由表中的字段名最多可为10个字符,数据库表中的字段名最多可为128个字符,当数据库表转化为自由表时截去超长部分的字符。,(2)字段类型字段类型表示该字段中存放数据的类型。在设计表的结构时,可根据需要确定表中各字段的数据类型。,(3)字段宽度字段宽度用以表明该字段允许存放的最大字节数或数值位数。在建立表结构时,需要规定字符型、数值型、浮动型这3种字段的宽度,若有小

4、数部分则小数点也占一位。,3.2.1 表结构的建立,1设计表的结构,注意: 备注型和通用型字段的内容都没有直接存放在表文件中,而是存放在一个与表文件同名的备注文件(扩展名为.fpt)中。表文件中所定义的4个字节的字段宽度仅用于表示数据在.FPT文件中的存储地址。,(4)小数位数只有数值型与浮动型及双精度型字段才有小数位数,小数点和正负号在字段宽度中占一位。 若为整数,则应定义小数位数为0。(5)是否允许为空是否允许该字段接受空值(NULL)。空值是指无确定的值,与空字符串、数值0是不同的。一个字段是否允许为空值与该字段的性质有关,例如关键字的字段不允许为空值。,3.2.1 表结构的建立,1设计

5、表的结构,2、建立表的结构,用表设计器 用菜单或工具栏或项目管理器的“新建”命令 用向导 用系统给定模板和已定义的表建立表结构 用CREATE TABLE-SQL命令 CREATE TABLE TableName (FieldName1 FieldType(nFieldWidth,nPrecision)NULL|NOT NULL ,FieldName2),3.2 表的建立,2、建立表的结构,设计器和向导方式,命令操作方式,在命令窗口中使用CREATE命令建立表结构。命令格式: CREATE 功能:建立一个表。说明:若在命令中使用?或省略该参数时,将打开“创建”对话框,提示输入表名并选择保存表的

6、位置;若在CREATE后加上表文件名,屏幕将直接弹出“表设计器” 对话框,以后的操作方法与菜单操作方式相同。,2、建立表的结构,3.2 表的建立,例:在D盘工资管理文件夹下建立表文件,文件名为:员工表.DBF。 SET DEFAULT TO D:工资管理 CREATE 员工表,3.2.2 表记录的输入,创建表结构后立即输入记录 在浏览或编辑窗口内键盘输入显示追加方式;表追加新记录 别的数据表记录导入到当前表表追加记录(成批增加) 用APPEND命令添加(表最后添加) INSERT命令添加(指针所指记录后添加) 用INSERT-SQL命令添加,1、数据输入要点逻辑型字段只接受T,Y,F,N这4个

7、字母之一(大小写不严格区分)。T与Y同义, F与N同义。例如,键入Y,屏幕显示T。日期型数据必须与日期格式相符,默认按美国日期格式mm/dd/yy输入。Visual FoxPro中,日期的显示格式有多种,在输入日期型字段数据时,必须清楚当前采用的日期格式。,2、备注型字段数据的输入备注型字段(memo)编辑时,Visual FoxPro提供了一个字处理环境,用户可以输入和编辑文本。 在备注型字段输入数据后,该字段的memo标志变成Memo。,3通用型字段数据的输入通用型字段在编辑窗口中标识是Gen或gen,其中该字段为空时为gen,若在其中已经存入对象,则变为Gen。通用型字段的输入可使用编辑

8、菜单的插入对象命令,或通过剪贴板粘贴。清除输入需使用编辑菜单的插入对象命令。若不是将已存在的文件实际插入表中,而是建立一种链接的关系,则需单击“链接”复选框。,3.3 表的基本操作,基本操作:记录的定位、显示、修改、增加、删除、统计和表的复制等 表只有在打开的状态下才能被操作。对于数据库表,打开前需先打开其数据库。 表关闭时数据会自动存盘。编辑窗口被关闭并不等于表被关闭。,3.3.1 表的打开与关闭,3.3 表的基本操作,界面操作 菜单或工具栏 “数据工作期”窗口 在项目管理器中 使用命令 USE TableName CLOSE TableName,3.3.1 表的打开与关闭,1、用命令方式打

9、开或关闭表 表打开时,若该表有备注型或通用型字段,则自动打开与表文件的主文件名相同的.FPT文件。,3.3 表的基本操作,格式: USE IN EXCLUSIVE|SHARED,说明: (1)打开新表时,指定工作区中原来打开的表会自动关闭。(2)已打开的表总有一个记录指针,指针所指的记录为当前记录。表刚打开时,记录指针指向第一个记录。(3)表操作结束后应及时关闭,以便将内存的数据保存到表中。,格式: USE IN EXCLUSIVE|SHARED,2、打开表的其它常用方法,菜单“打开”对话框,数据工作期“打开”对话框,3、关闭表的方法(1)不带任何参数的USE命令. CLOSE TABLES

10、ALL (2)当前工作区打开新表自动关闭旧表 (3)数据工作期中关闭 (4)通过退出Visual FoxPro来关闭。选定“文件”菜单中的“退出”命令,或在命令窗口中键入命令QUIT。,编辑窗口被关闭并不等于表被关闭。,3.3.2 表的显示,表由表结构和表记录两部分组成,因此表的显示有两类命令,分别为显示表结构和表记录。,表结构的显示,表设计器。 命令方式:list structure,记录的显示,编辑窗口和浏览窗口。 命令方式:list和browse,3.3.2 表的显示,1、表结构的显示,LIST | DISPLAY STRUCTURE TO PRINTER PROMPT|TO FILE

11、,命令方式。,例:显示员工表.DBF的结构。,SET DEFAULT TO D:工资管理 USE 员工表 LIST STRUCTURE,主窗口显示,2、表记录的显示LIST命令格式: (1) LIST|DISPLAY (2) LIST|DISPLAY FIELDS FORWHILE TO PRINTERPROMPT|TO FILE OFF功能:在指定范围内筛选出满足条件的记录并显示或打印出来,或送至指定文件保存。 DISPLAY是分屏输出,LIST是连续输出。 OFF是否显示记录号,BROWSE 命令格式: (1)BROWSE (2)BROWSE FIELDS FORWHILE ,2、表记录的

12、显示,3.3.3 表记录指针及定位,在VFP表中的记录是逐条处理的。 某一时刻只能处理一条数据。 记录指针:VFP为每一个打开的表设置的一个内部指针。 当前记录:记录指针指向记录,该记录可以被操作。刚打开的表默认第一个记录为当前记录,文件开始标志,记录指针,文件结束标志,测试文件尾函数:EOF() 测试文件头函数:BOF() 测试记录指针的值:RECNO() 测试记录个数: RECCOUNT(),1、与记录指针相关的函数,2、指针移动定位,(1)、菜单方式选择“表”菜单,在下拉菜单中选择“转到记录”选项,,指针定位:对表中某条记录操作前,需移动记录指针到该条记录,移动步骤称为指针定位 定位分类

13、:相对定位、绝对定位和条件定位 定位操作方式:菜单式、命令式,最简单的方法:在浏览窗口中,用鼠标点击需要定位记录的字段,该记录最前面的灰色方框中就出现了黑三角,表明该记录为当前记录。,2、命令方式(a)绝对定位绝对定位是将记录指针定位到指定的记录。 命令格式: GOTO|GO RECORD | TOP | BOTTOM,(b)相对定位 相对对定位是从当前记录开始移动记录指针格式:SKIP 表示记录指针移动的记录的个数。,例:在命令窗口中执行下列命令,分析执行结果(表中总共有7个记录)。,USE 员工表 ? RECNO( ),BOF( ) & 显示:1 .F. SKIP -1 & 指针向文件头方

14、向移动1个记录 ? RECNO( ),BOF( ) & 显示:1 .T. 记录号为1 SKIP 6 & 指针从第1个记录向文件尾方向移动6个记录 ? RECNO( ),EOF( ) & 显示:7 .F. SKIP & 指针向文件尾方向移动1个记录 ? RECNO( ),EOF( ) & 显示:8 .T.,分析:记录指针指向最后一个记录,然后执行SKIP,则RECNO( )返回一个比表总记录数大1的数,且EOF( )返回.T.。记录指针指向第一个记录,后执行SKIP -1,则RECNO( )返回值为1,且BOF( )返回.T.。当BOF( ) 函数的值已经为.T.时,再执行SKIP -1命令,屏

15、幕显示“已到文件头。”的越界信息;当EOF( ) 函数的值已经为.T.时,再执行SKIP命令,屏幕显示“已到文件尾。”的越界信息。,(C)条件定位格式:LOCATE 范围 FOR|WHILE 功能:将指针定位于满足条件的第1条记录。说明: 若需要定位到下一条满足条件的记录,用CONTINUE。 FOUND()可测试是否找到满足条件记录若未找到满足条件的记录,指针指向文件结束位置,EOF()返回真。,2、命令方式,3.3.2 表的修改,1、表结构的修改,表设计器。 命令方式:MODIFY STRUCTURE ALTER TABLE-SQL命令修改,2、表记录的修改,编辑窗口或浏览窗口手工修改 成

16、批命令修改,3.3.4 表的修改,2、表记录手工修改,菜单方式 命令方式,EDIT|CHANGE 范围 FIELDS FOR |WHILE,功能:在指定范围内筛选出满足条件的记录来接受手工修改,3.3.4 表的修改,2、表记录成批修改,(1)菜单方式,3.3.4 表的修改,1、表记录成批修改,(2)命令方式,REPLACE 范围 WITH , WITH FOR |WHILE,例如:USEREPLACE ALL 基本工资 WITH基本工资1.2,Visual FoxPro中删除记录是分两步进行,首先对要删除的记录打上删除标记,称为逻辑删除;然后才是将记录从表中彻底删除,称为物理删除。逻辑删除的记

17、录还可以恢复,物理删除的则不能。,1、浏览窗口中删除,3.3.5 表内容的删除和恢复,逻辑删除,逻辑删除恢复,1、浏览窗口中删除,3.3.5 表内容的删除和恢复,物理删除,2、命令删除(1)、逻辑删除:DELETE FOR WHILE ,3.3.5 表内容的删除和恢复,(2)、恢复带删除标记的记录RECALL FOR WHILE ,(4)、删除全部记录:ZAP功能:物理删除当前表中所有记录,只留下表结构。执行ZAP相当于执行DELETE ALL和PACK两条命令。,2、命令删除(3)、物理删除: PACK功能:将当前表中带删除标记的记录物理删除。 说明:PACK命令删除的记录是不可被恢复的。,

18、3.3.5 表内容的删除和恢复,3.3.6 表的复制,表的复制是指在已经建立的源表的基础上,根据需要产生源表的副本以及各种新表。,1、复制表的结构 功能:将当前表的结构复制到指定的文件中。仅复制当前表的结构,不复制其中的数据。,COPY STRUCTURE TO FIELDS ,2、复制表文件 菜单格式:文件导出命令格式: COPY TO FIELDS FOR WHILE TYPE SDF|DELIMITED|XLS WITH 定界符|BLANK功能:将当前表中选定的部分记录和部分字段复制成一个新表或其它类型的文件。,3.3.6 表的复制,TYPE:当用户生成的新文件不是DBF格式文件时,可以

19、用TYPE选项指定新文件的格式。TYPE文件类型包括下列几种:SDF:为标准格式,记录定长,不用分隔符和定界符,每个记录均从头部开始存放,均以回车符结束。默认扩展名为.TXT。DELIMITED:为通用格式,记录不等长,每个记录均以回车符结束。默认扩展名为.TXT。XLS:得到一个Excel文件,该文件只能在Excel中打开,扩展名为.XLS。,例:分别以SDF和DELIMITED格式将员工表.DBF的前4个记录复制到SS1和SS2文本文件。,USE 员工表 COPY TO SS1 NEXT 4 SDF TYPE SS1.TXT & 显示SS1文本文件的内容 COPY TO SS2 NEXT

20、4 DELIMITED TYPE SS2.TXT &显示SS2文本文件的内容,3.3.7 表内容统计,COUNT FOR WHILE TO ,SUMWHILE TO |TO ARRAY ,AVERAGEWHILE TO ,TOTAL TO ON FIELDS 范围FOR WHILE,功能:统计当前表文件中指定范围内满足条件的记录个数。,功能:在当前表文件中,对指定范围内满足条件的字段纵向求和。,功能:在当前表文件中,对指定范围内满足条件的字段求纵向平均值。,功能:在当前表文件中,对指定范围内满足条件的记录按关键字段名分类汇总求和,并生成一个新的表文件。,数据查询和浏览中经常需要把表中的内容按某

21、个字段进行排序,VFP中有两种方式实现这种功能。,2、索引(INDEX),3.4 表的索引及应用,两种不同的数据组织方法,1、排序(SORT),按要求对记录排序并产生一新表来存储。,一种记录逻辑排列技术,3.4.1 排序,概念:根据指定的字段值,重新排列当前表记录的存放次序,产生一个新表来存放排序后的记录,对当前表没有任何影响。格式:,SORT TO ON /A | /D /C , /A | /D /C . FOR WHILE FIELDS ,参数描述:,新生成的表文件的文件名。新生成的表是关闭的。,概念:索引是一种对记录有序地进行逻辑排列的技术,是进行快速显示、快速查询数据的重要手段。 特点

22、:不改变当前数据表记录的物理顺序,也不建立新表,而是建立一个与数据表对应的索引文件,索引文件只保留索引关键字表达式值的逻辑顺序的索引条目。 索引是对数据表而言的,一个表可建立以不同字段为关键字的索引,不同的索引按其作为关键字的字段对记录进行排序。,3.4.2 索引概念和分类,按工号索引,原数据顺序,索引文件的逻辑结构及排序原理,4.1.2 索引,1.排序要生成一个新的表文件,记录的物理顺序发生了改变; 2.索引生成索引文件,仅仅是表中记录的逻辑顺序发 生了变化,物理顺序未变化。 3.排序生成的表可以单独使用。 4、索引文件不能单独使用,它必须同表一起配合使用。,索引与排序的区别,1. 索引文件

23、的类型,按照索引文件排序的功能,分为以下四种功能类型:,2. 索引的类型,(1)主索引:能够惟一性地确定数据表中一条记录的关键字表达式,即关键字表达式的值在数据表的全部记录中是惟一的。每个表仅能建立一个主索引,主索引只用于数据库表。 (2)候选索引:与主索引的惟一性功能相同,每个表只能有一个主索引,但可以有多个候选索引。凡是具备惟一性验证能力的字段或字段组合,都可以指定为候选索引。 (3)普通索引:VFP默认索引方式,允许字段中出现重复值。表记录排序时,会把关键字表达式值相同的记录排列在一起,并按自然顺序的先后排列。在一个表中可以加入多个普通索引。 (4)惟一索引:指数据表在排序时,相同关键字

24、值的第一条记录收入索引中。,3. 建立索引(菜单方式),索引选项卡,移动按钮,排序按钮,在此框中输入索引标记,在此列表框中选择索引类型,在此文本框中输入索引表达式,在此输入条件表达式,表达式生成按钮,单索引文件的建立,3. 建立索引(命令方式),INDEX ON TO UNIQUE FOR ADDITIVE COMPACT,复合索引文件的建立,INDEX ON TAG OF FOR UNIQUE | CANDIDATE ADDITIVE ASCENDING | DESCENDING,部分参数描述: :指包含当前表中字段名的表达式, 表达式中的操作数应具有相同的数据类型。 COMPACT:若选择

25、此项,则以压缩的方式建立索引,用于单索引文件。 UNIQUE|CANDIDATE:UNIQUE表示在索引表达式中,如果有相同的值,索引文件中只取相同值的第一条记录。CANDIDATE表示建立候选索引。缺省该项系统默认为普通索引。 ADDITIVE:若选择此项,在打开一个索引的同时不关闭已打开的索引,缺省时,系统将关闭先前打开的索引。,第一步:打开索引文件 第二步:确定主控索引,4. 索引的使用,索引文件必须先打开才能使用。 结构复合索引随着数据表的打开而自动打开, 但单索引和非结构复合索引必须由用户打开。,使用索引时的注意事项,索引的关闭、删除和更新,打开索引文件,在打开表时打开索引文件,US

26、E INDEX ,在打开表后打开索引文件,SET INDEX TO ADDITIVE,功能:打开指定的索引文件或关闭索引文件。省略所有选项 为关闭当前工作区中除结构复合索引文件外的所有索引文件。 说明:缺省ADDITIVE选项时,则在打开索引文件的同时,关闭当前工作区除结构复合索引之外的全部索引文件。,功能:打开指定的表,并且打开由指定的所有索引文件。,确定主控索引,导言一个表可能有多个索引文件被打开,但在一个时刻只有一个索引文件起控制作用,这就是主控索引文件。打开索引文件时,排在索引文件表中第一位的是主控索引文件,如果主控索引文件是单索引文件,那么它所包含的索引就成为主控索引,如果主控索引文

27、件是复合索引文件,还得进一步确定哪个索引标志是主控索引。对于新建立的索引,它是当然的主控索引。,格式:SET ORDER TO | | TAG OF ,功能:为当前表的打开一个或多个索引文件。 说明:缺省所有选项时,命令SET ORDER TO或SET ORDER TO 0,将取消主控索引,记录按物理顺序排列。表示已打开的索引文件的序号,用以指定主控索引。序号排列方法是:按单索引文件打开的先后次序,先排单索引文件;按索引标识的生成顺序,再排结构复合索引;最后排非结构复合索引的索引标识。TAG OF复合索引文件名选项用以指定复合索引的索引标识为主控索引。单索引文件名选项指定一个单索引文件为主控索

28、引文件。,【例4.5】,假设已针对员工表建立单索引文件dsy.idx,结构复合索引文件员工表.cdx(索引标识为bh,gzjbs),非结构复合索引文件fjgfh.cdx(索引标识为names),现执行以下命令序列并分析命令的功能。,USE 员工表 &打开员工表LIST &尽管结构复合索引打开,因未指定主控索引,排列为物理顺序SET INDEX TO dsy,fjgfh &打开索引文件dsy.idx,fjgfh.cdxSET ORDER TO 2 &设置主控索引为bh,即员工编号字段的降序LISTSET ORDER TO TAG gzjbs &设置主控索引为gzjbsLISTSET ORDER

29、TO 0 &取消主控索引,按物理顺序USE &关闭员工表及索引文件,注意事项,在使用GO命令时,GO使记录指针指向具体的物理记录号,与索引无关;而命令GO TOP或GO BOTTOM将使记录指针指向逻辑首记录或逻辑尾记录,这时GO TOP不等于GO 1。 SKIP命令按逻辑顺序移动记录指针。,索引的关闭、删除和更新,关闭 CLOSE INDEXSET INDEX TOUSE,更新 REINDEX &重建打开的索引文件 说明:如果在对表进行修改时,凡是已打开的索引文件都会自动进行内容重更新,而没有打开的索引文件,则需要重新打开索引文件,再进行重建索引。,删除,删除索引,格式1:DELETE FILE 格式2:DELETE TAG ALL|OF 功能:删除指定的索引文件或索引标识。 说明:格式1多用于删除单索引文件。单索引文件需关闭才能删除,删除时要用文件全名。例如,使用delete dsy.idx。格式2用于删除打开复合索引文件中的索引标识,ALL子句用于删除复合索引中的所有索引标识。若一个复合索引文件中的所有索引标识都删除,则该复合索引文件也被删除了。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报