实验22 数据表记录的定位删除与索引.docx

上传人:b****6 文档编号:7013696 上传时间:2023-01-16 格式:DOCX 页数:7 大小:47.11KB
下载 相关 举报
实验22 数据表记录的定位删除与索引.docx_第1页
第1页 / 共7页
实验22 数据表记录的定位删除与索引.docx_第2页
第2页 / 共7页
实验22 数据表记录的定位删除与索引.docx_第3页
第3页 / 共7页
实验22 数据表记录的定位删除与索引.docx_第4页
第4页 / 共7页
实验22 数据表记录的定位删除与索引.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

实验22 数据表记录的定位删除与索引.docx

《实验22 数据表记录的定位删除与索引.docx》由会员分享,可在线阅读,更多相关《实验22 数据表记录的定位删除与索引.docx(7页珍藏版)》请在冰豆网上搜索。

实验22 数据表记录的定位删除与索引.docx

实验22数据表记录的定位删除与索引

实验2-2数据表记录的定位、删除与索引

一、实验目的

掌握用数据工作期和命令打开、关闭表的操作;理解记录指针的概念,掌握记录指针的绝对定位、相对定位命令;熟悉函数EOF(),BOF(),RECNO()的使用;掌握表记录的删除操作,理解逻辑删除和物理删除的概念;掌握单项索引文件、结构复合索引文件和非结构复合索引文件的概念及索引文件的建立、打开与使用;理解表使用时的物理顺序和逻辑顺序。

二、实验准备

预习表记录指针的定位方法;理解表记录的各种删除概念与操作;预习排序和索引的概念及相关操作,主要包括:

什么是排序;什么是单项索引文件,它是如何建立及打开的,它与表文件的关系;什么是复合索引文件(包括结构复合索引文件和非结构复合索引文件),他们与单项索引文件有什么区别?

是如何建立及打开的,它们与表文件的关系;确定主控索引的意义。

班级14国贸1

学号140108100421

姓名张懿慧

三、实验内容

1.表文件的打开、关闭操作

用数据工作期同时打开“职工”、“销售”和“商品”三个表文件,然后关闭其中的两个文件。

用USE打开、关闭“职工”、“销售”和“商品”表文件,在数据工作期观察打开的情况。

2.移动及测试记录指针

以三个数据表文件为基础,熟悉表记录指针的移动方法以及表处理的常用函数。

当执行LIST、DISPLAY、GO、SKIP等语句后,测试EOF()、BOF()、RECNO()等函数的值,特别注意当文件指针在表文件的首记录、末记录和文件头、文件尾时,测试函数的返回值。

在命令窗口输入如下命令(注意输入一条命令要键入回车键),并在有?

处记录下命令的执行结果。

USE职工

GO5

?

RECNO()回答:

5

SKIP3

?

RECNO()回答:

8

GOBOTTOM

?

RECNO(),EOF()回答:

10;.F.

SKIP

?

RECNO(),EOF()回答:

11;.T.

GOTOP

?

RECNO(),BOF()回答:

1;.F.

SKIP-1

?

RECNO(),BOF()回答:

1;.F.

?

FCOUNT()回答:

9

?

RECCOUNT()回答:

10

USE销售

?

FCOUNT()回答:

3

?

RECCOUNT()回答:

10

3.对表文件的记录进行显示和简单的编辑

(1)显示“职工”表的前三条记录,再显示最后三条记录。

回答:

(写出正确的命令,下同)

USE职工

GO1

GOBOTTOM

SKIP-2

LISTREST

(2)将“职工”表中所有基本工资大于2000的已婚女职工,其基本工资在原有基础上调10%,并用DISPLAY命令显示修改前后的记录。

回答:

DISOLAYFOR婚否=.T..AND.性别=”女”.AND.基本工资>2000

EPLACE基本工资WITH基本工资*1.1FOR婚否=.T..AND.性别=”女”.AND.基本工资>2000

(3)在命令窗口设置SETDELETEDON,逻辑删除职工表中在1978年以后出生的女职工记录,用LIST命令显示结果,再将打上删除标记的记录恢复,并用DISPLAY命令检查恢复是否正确。

回答:

SETDELETEDON

DELETEFOR出生日期>({^1978-01-01}.AND.性别=’女’

List

RECALLFOR出生日期>({^1978-01-01}.AND.性别=’女’

BROWSELAST

DISPLAYFOR出生日期>({^1978-01-01}.AND.性别=’女’

(4)在命令窗口设置SETDELETEDOFF,将第(3)题再做一遍,注意结果有什么不一样。

回答:

SETDELETEDOFF

DELETEFOR出生日期>({^1978-01-01}.AND.性别=’女’

List

RECALLFOR出生日期>({^1978-01-01}.AND.性别=’女’

DISPLAYFOR出生日期>({^1978-01-01}.AND.性别=’女’

4.有一个工资表文件,其表结构及记录如表2-14和表2-15所示,用REPLACE命令计算每位职工的应发金额和实发金额。

回答:

USE工资

ReplaceALL应发工资WITH基本工资+岗位津贴+其他发款

REPLACEALL实发工资WITH基本工资+岗位津贴+其他发款-其他扣款

LIST

表2-14工资.DBF的结构

表2-15工资.DBF的数据

5.建立排序文件

(1)单字段排序:

将职工表按照出生日期的升序排列显示。

回答:

USE职工

LIST

SORTTO职工出生日期升序ON出生日期/A

USE职工出生日期升序

LIST

(2)多字段排序:

将职工表按性别排序,性别相同的情况下再按基本工资的升序排列。

回答:

USE职工

SORTON性别,基本工资/ATOzgxbgz

USEzgxbgz

LIST

6.建立单项及复合索引文件

(1)建立单项索引文件,按职工表的基本工资字段的逻辑顺序排列。

回答:

USE职工

INDEXon基本工资tozggz

LIST

(2)建立单项索引文件,按出生日期的逻辑顺序排列。

回答:

USE职工

INDEXon出生日期tozgrq

LIST

(3)建立结构复合索引文件的索引标识,按姓名的升序索引。

回答:

USE职工

INDEXON姓名TAGzgxm1

LIST

(4)建立结构复合索引文件的索引标识,按出生日期的降序索引。

回答:

USE职工

INDEXON出生日期TAGzgrq2DESCENDING

LIST

(5)建立非结构复合索引文件的索引标识,按出生日期的升序排列。

回答:

USE职工

INDEXon出生日期TagcsrqofFJG

LIST

(6)建立非结构复合索引文件的索引标识,按基本工资、出生日期的升序索引。

回答:

USE职工

INDEXonSTR(基本工资,6,2)+DTOS(出生日期)TAGzggzrqofFIG

LIST

(7)用一条命令打开所有的索引文件,并确定主索引文件或标识,在屏幕上显示索引结果。

回答:

USE职工

SETINDEXTOzggz,zgrq,职工,fjg

SETORDERTOzggz

LIST

(8)建立一个单项索引文件,使其按照基本工资降序排列。

回答:

USE职工

INDEXon3000-基本工资tozggz2

LIST

(9)利用表设计器对建立的索引标识情况进行检查。

四、实验2-2报告

1.通过上述实验,请回答下列问题

(1)LIST________=DISPLAY,而DISPLAY________=LIST。

回答:

recno();all

(2)执行了LIST命令后,EOF()=_____。

回答:

.T.

(3)执行了GOTOP命令后,BOF()=.T.,对吗?

为什么?

回答:

不对;GOTOP之后指针只是指到了首记录而非文件头,而BOF()是表头测试函数,因此应该BOF()=.F.

(4)如何用LIST/DISPLAY命令显示备注字段内容?

回答:

用LIST/DISPLAYALL命令显示备注型字段内容

(5)你认为用REPLACE对表文件记录进行修改,与用BROWSE命令修改有什么不同?

回答:

BROWSE是显示文件记录然后对文件记录进行修改,REPLACE直接对文件记录进行修改,而且REPLACE可以批量修改

(6)SETDELETEDON/OFF语句对被逻辑删除的记录有何影响?

回答:

使用SETDELETEDON对逻辑删除标志有效,删除标记的记录不参与处理。

使用SETDELETEDOFF对逻辑删除标志无效,删除标记的记录参与处理。

(7)通过实验,请你归纳当EOF()为.T.时,RECNO()为多少?

当BOF()为.T.时,RECNO()为多少?

回答:

11和1

(8)用SORT命令建立排序文件后,紧接着用LIST命令却看不到排序结果,为什么?

回答:

用SORT命令建立排序文件后,会产生一个新表,排序内容在新建的新表里,要USR新表再LIST浏览

(9)建立索引文件时,有一个可选参数[UNIQUE],它有什么意义?

你能举例说明吗?

回答:

当多个记录的<索引表达式>值相同时,只有其中第一个记录的值记入索引文件。

例一:

INDEXON婚否TAGHFOFFJGUNIQUE&&按婚否建唯一索引标识HF加到非结构复合索引文件FJG.cdx中

(10)请总结一下表的排序与表索引有什么不同。

回答:

不同:

1.建索引是在系统中建立一个索引表,在查找记录的时候可以通过这个表迅速找到。

排序是将表在系统中按一个键值的进行的,改变了记录的物理顺序。

2.排序后会产生一个新表,其记录按新的顺序重新编排记录,而原文件保持不变。

索引文件是表文件的辅助文件,必须和表文件同时使用。

3.由于索引表是按关键字进行的逻辑排序,且只有两个字段,因此大大提高了排序速度,而且只占用了很小的存储空间。

2.实验完成情况及存在问题

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

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1