自由表的创建及操作.ppt

上传人:壹****1 文档编号:568535113 上传时间:2024-07-25 格式:PPT 页数:46 大小:390.50KB
返回 下载 相关 举报
自由表的创建及操作.ppt_第1页
第1页 / 共46页
自由表的创建及操作.ppt_第2页
第2页 / 共46页
自由表的创建及操作.ppt_第3页
第3页 / 共46页
自由表的创建及操作.ppt_第4页
第4页 / 共46页
自由表的创建及操作.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《自由表的创建及操作.ppt》由会员分享,可在线阅读,更多相关《自由表的创建及操作.ppt(46页珍藏版)》请在金锄头文库上搜索。

1、数据库技术及应用数据库技术及应用第第5 5章章 自由表的创建及操作自由表的创建及操作5.1 设计数据表设计数据表5.2 建立自由表建立自由表5.3 表记录的输入表记录的输入5.4 表的操作与使用表的操作与使用 5.5 表的排序与索引表的排序与索引5.6 查询与统计命令查询与统计命令5.7 使用多个表使用多个表5.8 习题习题5.1 设计数据表设计数据表 设计一张二维表格:表5.1 学生情况表学号学号姓名姓名性别性别出生日期出生日期民族民族政治面貌政治面貌说明说明照片照片000802101 任媛媛女06/01/1982汉族团员000802102 朱欣男02/01/1982汉族团员00080210

2、3 朱玥女12/01/1981汉族团员000802104 耿健男03/01/1982汉族团员000802105 李强 男02/01/1981汉族团员XSQK (no C(9),name C(8),sex C(2),birth D,nation C(10),clan C(4),note M NULL,photo G NULL) 表5.2 “xsqk.dbf”表结构字段名字段名字段类型字段类型字段宽度字段宽度小数位小数位索引索引NULL学号字符型9升序否姓名字符型8否性别字符型2否出生日期日期型8否民族字符型10否政治面貌字符型4否说明备注型4可照片通用型4可XSQK (no C(9),name

3、C(8),sex C(2),birth D,nation C(10),clan C(4),note M NULL,photo G NULL) 5.2 建立自由表建立自由表VFP提供了三种建立对象的方法:向导、设计器、命令。 使用“表设计器”建表(xsqk.dbf) 使用“表向导”建表(xscj.dbf)表5.3 “xscj.dbf”表结构字段名字段类型字段宽度小数位索引NULL学号字符型9升序否课程代码字符型3升序否成绩数值型51可学期数值型10否说明备注型4可 使用命令建表(xscj.dbf)(1)新建表命令CREATE 语法:CREATE |?【例5.1】新建一个学生成绩表(xscj.db

4、f)。 CREATE xscj【例5.2】在命令窗口中输入命令: CREATE TABLE xscj (no c(9),courseid c(3),score n(5,1) NULL, term n(1,0) ,detail m NULL)可以建立“xscj.dbf”的表文件结构(2)复制表结构命令COPY STRUCTURE语法:COPY STRUCTURE TO FIELDS 【例5.3】在命令窗口中输入以下命令行,实现与使用“表向导”建表相同的功能。USE xsqk.dbfCOPY STRUCTURE TO xscj FIELDS no,noteUSE xscj &打开新建的表DISPL

5、AY STRUCTURE &显示表结构(3)复制数据表命令COPY TO语法:COPY TO FORWHILEFIELDSTYPE5.3 表记录的输入表记录的输入VFP输入数据方式: 浏览(Browse)方式 编辑(Edit)方式 追加(Append)方式 命令方式APPEND命令语法:APPENDBLANK5.4 表的操作与使用表的操作与使用 打开和关闭表格式:USE 功能:使用参数可以打开一个已经存在的数据表。使用不带参数的USE命令可以关闭已打开的数据表。说明: 表打开时,若该表有备注型或通用型字段,则自动打开同名的.FPT文件。 已打开的表总有一个记录指针,指针所指的记录称为当前记录。

6、表刚打开时,记录指针指向第一个记录。 按下【Esc】键、或者选择“文件|关闭”菜单项关闭的只是“浏览”窗口,相应的数据表文件并没有关闭,仍在内存中。 浏览表数据(1)调整字段顺序(2)改变显示时的列宽(3)拆分“浏览”窗口(4)打开浏览窗口命令格式:BROWSE FIELDSLOCKFREEZE【例5.4】BROWSE命令应用示例。USE xsqkBROWSE FIELDS no,name,sex,birth FREEZE name &冻结字段 &浏览BROWSE LOCK 2 &浏览表,锁定左端两个字段的内容(5)显示记录命令【例5.5】显示“xsqk.dbf”表中所有学生的“no”,“na

7、me”,“sex”和“birth”。USE xsqkLIST ALL FIELDS no,name,sex,birthUSELIST /DISPLAY (1)在浏览窗口中从键盘修改 修改表数据(2)替换字段格式:REPLACE 范围 FOR|WHILE 字段名1 WITH 表达式1 ,字段名2 WITH 表达式2 作用范围有4种限定方法。ALL代表所有记录;NEXT 代表从当前记录起的N个记录;RECORD 代表第N个记录;REST代表从当前记录起到最后一个记录止的所有记录。 FOR子句的为逻辑表达式,它指定选择记录的条件。 WHILE子句也用于指明操作条件,但它仅在当前记录符合时开始依次筛选

8、记录,一旦遇到不满足条件的记录时就停止操作。在编辑任一字段中的数据以后,如果将光标移出该字段,VFP就会自动保存对该字段所做的任何更改。因此,在将光标移出该字段之前,可以单击工具栏中的“撤消”按钮来撤消对该字段的修改。(1)记录过滤 过滤表数据【例5.6】只浏览“xsqk.dbf”表中的女生记录。USE “xsqk.dbf”SET FILTER TO xsqk.sex = “女”BROWSE(2)字段过滤 【例5.8】只浏览“xsqk.dbf”表中的女生记录的“no”、“name”、“birth”三个字段。USE “xsqk.dbf”SET FILTER TO xsqk.sex = “女”SE

9、T FIELDS TO xsqk.no,xsqk.name,xsqk.birthBROWSE 定位表记录【例5.10】记录指针移动示例。USE “xsqk.dbf”?RECNO() &显示当前记录号为1SKIP 5 &记录指针向下移动5条?RECNO() &显示当前记录号为6SKIP 2 &记录指针向上移动2条?RECNO() &显示当前记录号为4GO BOTTOM &记录指针移到最后一条记录?EOF() &显示.F.,说明最后一条记录并不是文件尾?RECCOUNT() &显示共有记录7条SKIP &记录指针再向下移一条?EOF() &显示.T.,说明记录指针已到文件尾?RECNO() &显示

10、当前记录号为8USE命令格式:GO BOTTOM|TOP|命令格式:SKIP n|-n 删除表记录说明:这里所说的“删除”与平时所理解的删除是不同的。记录被删除时,实际上这条记录在数据表中只是被加上了一个删除删除标记标记,数据仍然完好地存在于数据表当中,并没有真正被删除,还有机会被还原。如果要把这条记录从数据表中真正删除掉,需要用到“彻底删除”命令。(1)做删除标记(即逻辑删除)(2)条件删除【例5.11】使用“表”菜单删除“xsqk.dbf”表中所有女生的记录。(3)使用DELETE命令【例5.12】使用DELETE命令实现例5.11的功能。USE “xsqk.dbf”DELETE ALL

11、FOR xsqk.sex = “女”BROWSESET DELETED ON/OFF (4)彻底删除语法:PACK功能:将数据表中所有具有删除标记的记录从表文件中删掉。说明:使用该命令应以独占方式使用表,PACK为物理删除命令,一旦执行,无法恢复。(5)删除全部记录语法:ZAP功能:从表中彻底删除所有记录。说明:发出ZAP命令相当于执行DELETE ALL命令后再执行PACK命令,但ZAP更快。这时必须是以独占方式使用表。ZAP命令破坏性极大,应慎用。 恢复表记录RECALL 说明:记录的恢复是指去掉删除标记,但已被物理删除的记录是不可恢复的。 表结构的操作(1)显示表结构命令 DISPLAY

12、/LIST STRUCTURE(2)修改表结构 MODIFY STRUCTURE 5.5 5.5 表的排序与索引表的排序与索引 通常情况下,数据表中的各条记录是按输入顺序排列的,然而许多时候则需要按某种特定的次序排列。例如,在学生情况表中要求记录按学号高低排序。 VFP提供了物理排序物理排序和逻辑排序逻辑排序两种方法:物理排序方法是另外生成一个与原表类似但各记录已按要求排好序的数据表文件;逻辑排序方法即索引方法,是在原表的基础上生成一个简单的排序索引表,在其中仅记载各记录的记录号及应有的排列顺序。 物理排序格式:SORT ON /ASC/DESC TO【例5.13】将“xsqk.dbf”表中的

13、所有记录,先按出生日期的降序再按学号的升序进行物理排序。USE xsqk.dbfSORT ON birth /DESC,no /ASC TO XsPxUSE XsPx.dbfBROWSE &显示的排序结果USE索引的概念 数据表记录一般是按照其输入的顺序进行存储和显示的。这不便于用户查找自己需要的信息。通过以数据表中的某些字段的值为依据建立的索引文件,便可以重新排列数据表中的记录。而记录在数据表中的实际存储位置并未改变。索引起作用后,增删或修改表的记录时索引文件会自动更新。索引的类型 (1)索引文件的类型索引文件单索引文件(.IDX)复合索引文件(.CDX)非结构复合索引文件结构复合索引文件(

14、2)索引项的类型索引项主索引候选索引普通索引索引的建立(1)在“表设计器”对话框中建立索引指定索引索引类型索引表达式(2)用命令建立索引【例5.14】使用命令为“xsqk.dbf”表创建以“no”为索引关键字的按升序排列的候选索引。USE xsqk.dbfINDEX ON no TAG number ASCENDING CANDIDATE索引的删除 前者可以删除索引文件中指定的索引,后者则删除全部索引。删除索引的办法是在“表设计器”中使用“索引”选项卡,选中需要删除的索引,单击“删除”命令按钮即可删除。也可以使用命令方式删除。删除索引的命令格式为:DELETE TAG OF,OF 或DELET

15、E TAG ALLOF索引的使用1打开和关闭索引文件命令格式:SET INDEX TO功能:打开当前表的一个或多个索引文件并确定中的第一个索引文件为主控索引文件。该命令常用于打开单索引文件或非结构复合索引文件。当仅用SET INDEX TO命令时,将关闭除结构复合索引文件外的所有索引文件。2确定主控索引项对于复合索引,在打开索引文件后,还须确定主控索引项。确定主控索引项可以使用交互或命令方式:【例5.15】设置“xsqk.dbf”表的“no”索引关键字为当前索引,并按降序排列记录。USE xsqkSET ORDER TO no DESCENDINGBROWSE5.6 5.6 查询与统计命令查询

16、与统计命令 查询和统计是数据库应用的重要内容。查询就是按照给定的条件在表中查找所需要的记录。这里只介绍两种传统的查询方法:顺序查询和索引查询。 实际应用中,经常要对数据库中的数据进行统计计算,例如统计记录个数,对数值型字段求和、求平均值、分类汇总等。数据表的查询1顺序查询命令【例5.16】在“xsqk.dbf”数据表中查找姓朱的同学。USE xsqkLOCATE FOR name=朱DISPLAYCONTINUEDISPLAYUSE2索引查询命令 索引查询依赖二分法算法来实现,在210个记录中寻找一个满足给定条件的记录,不超过10次比较就能进行完毕;而顺序查询最多需比较1024次。可见顺序查询

17、速度较慢,适用于记录数较少的表。索引查询速度很快,但其算法要求表的记录是有序的,这就需要事先对表进行索引或排序。【例5.17】在“xsqk.dbf”表中快速查找1980年6月1日出生的学生。USE xsqkSTORE 1980/06/01 TO rqINDEX ON birth TAG CSRQSEEK rqDISPLAY &显示1980年6月1日出生的学生记录内容数据表的统计1计数命令【例5.18】统计“xsqk.dbf”表中1982年以前出生的学生人数。USE xsqkCOUNT FOR YEAR(birth)1982 TO rs82?rs82USE2求和与求平均命令【例5.19】计算“x

18、scj.dbf”数据表中学号为“000802101”的学生第1学期所有课程成绩的总分与平均分。USE xscj.dbfSUM score FOR no=000802101 .AND. term=1 to nS1AVERAGE score FOR no=000802101 .AND. term=1; to nS2 USE?nS1?nS23汇总命令 数据表中的记录在指定的关键字进行排序的基础上,可以对这些记录进行分类求和,即分别对同一类别所有记录的数值型字段的值进行求和汇总。对数据表进行分类求和之后,将把结果存入一个与原表结构相同的新数据表中,原数据表中关键字值相同的一组记录汇总后将生成新表中的一

19、条对应记录,因而原数据表中此关键字有多少个不同的值,在生成的新表文件中便有多少条记录。格式:TOTAL ON TO 5.7 5.7 使用多个表使用多个表 工作区(1)工作区号 表打开后才能进行操作,实际上打开表就是把它从磁盘调入内存的某个工作区。VFP提供了32767个工作区,编号从1到32767。每个工作区只允许打开一个表,在同一工作区打开另一个表时,以前打开的表就会自动关闭。反之,一个表只能在一个工作区打开,在其未关闭时若试图在其它工作区打开它,VFP会显示信息框提示出错信息“文件正在使用”。 如果在同一时刻需要打开多个表,则只需要在不同的工作区中打开不同的表就可以,刚进入系统时,系统总是

20、默认在1号工作区中工作。(2)别名 前10个工作区除使用110为编号外,还依次用AJ十个字母来表示,后者称为工作区别名。 其实表也有别名,并可用命令“USE ALIAS ”来指定。例如命令“USE XSQK ALIAS stu_data”即指定stu_data为“XSQK.DBF”的别名。(3)选择工作区命令格式:SELECT|功能:选定某个工作区,用于打开一个表。说明: 命令“SELECT 0”表示选定当前尚未使用的最小号工作区,该命令使用户不必记忆工作区号,以后要切换到某工作区,只要在SELECT命令中使用便可。 要引用非当前工作区中的表的字段,应当加上要引用表所在工作区的表别名,引用格式

21、为:“别名.字段名”。【例5.20】分别在不同的工作区打开表“xsqk.dbf”和“xscj.dbf”。CLOSE ALL &关闭所有打开的表,当前工作区为1号SELECT 1 &选定1号工作区为当前工作区USE xsqkSELECT 0 &2号工作区未打开过表,选定2号工作区 USE xscjSET &打开“数据工作期”窗口查看当前打开的多个表 数据工作期5.8 5.8 习题习题一、选择题一、选择题1要限制数据库表中字段的重复值,可以使用(要限制数据库表中字段的重复值,可以使用( )。)。 A)主索引或候选索引主索引或候选索引B)候选索引或普通索候选索引或普通索引引 C)主索引或普通索引主索

22、引或普通索引D)普通索引普通索引2主文件名与表的主文件名相同,并且随表的打开而自动打主文件名与表的主文件名相同,并且随表的打开而自动打开,在增加记录或修改索引关键字值时会随着自动更新的索引文开,在增加记录或修改索引关键字值时会随着自动更新的索引文件是(件是( )。)。 A)复合索引文件复合索引文件B)结构复合索引文件结构复合索引文件 C)非结构复合索引文件非结构复合索引文件D)单一索引文件单一索引文件3若要恢复用若要恢复用DELETE命令加上删除标记的记录,应该使用命令加上删除标记的记录,应该使用( )。)。 A)RECALL命令命令B)按按ESC键键 C)RELEASE命令命令D)ROUND

23、命令命令4不带索引文件名不带索引文件名SET INDEX TO命令的作用是(命令的作用是( )。)。 A)关闭索引文件关闭索引文件B)打开所有的索引文件打开所有的索引文件 C)删除索引文件删除索引文件D)重新建立索引文件重新建立索引文件5表结构中空值(表结构中空值(NULL)的含义是(的含义是( )。)。 A)空格空格B)0 C)默认值默认值D)尚未输入尚未输入6在表文件已经打开时,打开索引文件的命令是(在表文件已经打开时,打开索引文件的命令是( )。)。 A)USEB)INDEX WITH C)SET INDEX TO D)INDEX ON7利用(利用( )命令,可以在浏览窗口浏览表中的数据

24、。)命令,可以在浏览窗口浏览表中的数据。 A)LIST B)BROWSE C)MODIFY STRUD)USE8一个表中多个备注(一个表中多个备注(MEMO)字段的内容是存放在(字段的内容是存放在( )。)。 A)这个表文件中这个表文件中B)一个备注文件中一个备注文件中 C)多个备注文件中多个备注文件中 D)一个文本文件中一个文本文件中9命令命令“TOTAL ON 姓名姓名 TO DSK”中中DSK是(是( )。)。 A)库文件库文件B)字段变量字段变量 C)表文件表文件D)文本文件文本文件二、填空题二、填空题1同一个表的多个索引可以创建在一个索引文件中,索引文同一个表的多个索引可以创建在一个

25、索引文件中,索引文件主文件名与表的主文件名同名,索引文件的扩展名为件主文件名与表的主文件名同名,索引文件的扩展名为 ,这种索引称为这种索引称为 。2设置结构复合索引文件中的索引标识设置结构复合索引文件中的索引标识JIAGE为主索引的命为主索引的命令是令是 。3选择当前未使用的最小编号工作区的命令是选择当前未使用的最小编号工作区的命令是 。4数据库表有数据库表有3种索引类型,即种索引类型,即 、 和和 。5引用非当前工作区中表的字段的格式是引用非当前工作区中表的字段的格式是 。三、简答题三、简答题1索引表的方法有哪些?索引表的方法有哪些?2VFP中的索引有哪几种?中的索引有哪几种?四、上机题四、上机题1建立建立“学生情况学生情况”表和表和“学生成绩学生成绩”表。并添加几条记录,表。并添加几条记录,进行修改和删除操作。进行修改和删除操作。(1)用)用“编辑编辑”菜单进行表的修改操作。菜单进行表的修改操作。(2)给前)给前3个记录做删除标记,然后再恢复操作。个记录做删除标记,然后再恢复操作。(3)将性别是)将性别是“女女”的记录做删除标记,然后再彻底删除。的记录做删除标记,然后再彻底删除。2将将“学生情况学生情况”表,按要求建立索引文件:表,按要求建立索引文件:(1)按)按“学号学号”建立索引文件。建立索引文件。(2)按)按“出生日期出生日期”建立索引文件。建立索引文件。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号