数据库-表的排序、索引与统计解析.doc
文本预览下载声明
实 验 报 告
实验课程名称 数据库系统及原理 实验项目名称 表的排序、索引与统计 年 级 专 业 学生姓名 学 号 00 学 院
实验时间: 年 月 日
姓 名 学 号 实验组 实验时间 指导教师 成 绩 实验项目名称 表的排序、索引与统计
实验目的及要求:
掌握对表中数据的排序与索引文件的建立。
表中数据顺序查询和索引查询。
掌握表的数据求和、求平均值、统计和分类汇总等操作。
实验准备:
预习排序的概念。
预习索引的概念、索引的类型。
预习索引文件的创建的方法与使用。
预习表的统计命令(count,sum,average,total)。
预习记录的顺序查找和索引查找命令(locate,continue,find,seek)。
复制STUDENT表到D:\STUDENT.
实验硬件及软件平台:
计算机,windows操作系统,Microsoft Visual FoxPro
实验内容:
利用实验三建立的表的student.dbf,完成下列操作。
显示入学成绩在前5名的学生的记录。
统计少数民族中女生的人数,并把它存入变量A中。
分别求男、女学生的平均入学成绩。
用命令建立一个结构符合索引文件,其中包括以下两个索引:
记录以学号降序排列;
记录以姓名降序排列,姓名相同的则按出生年月升序排列。
使用locate命令查找符合指定条件的记录。
对第4步建立的索引,测试find,seek的用法。
按性别对入学成绩进行汇总。
将student.dbf倒置浏览,并存入fstudent.dbf(即student.dbf中的首记录在fstudent.dbf中为末记录)。
使用菜单方式建立索引文件。
实验步骤:
Visual FoxPro中没有一条命令能完成按序显示的任务,要显示总分在前5名的学生名单,可使用索引加显示两条的命令来实现。
Use student Index on rxcj tag cj desc
List next 5
排序前如图1,排序后如图2 图1 图2
在Visual FoxPro的命令窗口中,输入:
count for ssmz and xb ”女”to a
?a
如图3 图3 在Visual FoxPro的命令窗口中,输入:
Average rxcj for xb ”男” to nan
Average rxcj for xb ”女” to nv
如图4 图4
在Visual FoxPro的命令窗口中,输入:
index on xh tag xh desc
Index on xm+str date -csrq tag xm_csrq desc
然后使用表设计器观察“索引”选项卡中的内容。如图5 图5
在Visual FoxPro的命令窗口中,输入:
Locat for xm ”王小萍”
Disp
Continue 继续查找姓名为“王小萍”的同学。
如图6 图6
如果要查找学号为“0200202”的同学的记录,要先将索引标记“xh”设为主控索引,然后进行相应的查找。要查找姓名为“张大强”的学生记录也与之类似,具体操作命令如下:
set order to xh 将索引名为XH的索引设置为主控索引
find 0200202
seek 0200202
x 0200202
find x
disp
seek x
set order to xm_csrq
find 张大强
disp
seek张大强
如图7 图7
在Visual FoxPro的命令窗口中,输入:
use student index on xb tag xb
total on xb to cjhz field rxcj
use cjhz
Browse
如图8 图8
在Visual FoxPro的命令窗口中,输入:
use student
index on recno tag rec desc
browse
copy to fstudent
use fstudent
Browse
如图9 图9
使用菜单方式建立索引文件。
(1)以独占方式打开表STUDENT,如图10
(2)在菜单栏中选择“显示”→“表设计器,并在字段名“BJBH”后面的“索引”项中选择“升序”,如图11 图10 图11
用鼠标选择“索引”选项卡,可以看到STUDENT表按“BJBH”建立了普通索引。这时,索引标识为“BJBH”,索引表达式也为“BJBH”,如图12,。结构化复合索引文件名与表同名即STUDENT,但扩展名不一样,完整的名称为STUDENT.CDX。如图13使用这种方法建立索引既简单又快速。 图12 图13
实验结果与讨论: 根据本次实验,掌握了对表中数据的排序与索引文件的建立。表中数据顺序查询和
显示全部