数据库基础教程(实验指导) 第4单元排序、索引与查询 4.1实验目的 (1)学会排序命令SORT的使用方法 (2)掌握用命令方式和菜单方式创建、打开、关闭普通索引文件和结构复合索引文件 的方法 (3)掌握顺序查找命令 LOCATE和索引查找命令SEEK、FND的使用方法 (4)掌握分类汇总命令TTAL的用法 4.2实验内容简介 (1)SORT命令: SORT TO<新文件名>ON<字段1>[A1mD][AC][,<字段2>[A/D][C] …1 ASCENDING I DESCENDING][<范围>][FR<条件表达式>][WHmE<条件表 达式>][ FIELDS<字段名表 (2)创建索引文件命令: NDEX ON<表达式>T0<i索引文件名>ITAG<标记名>[OF<c复合索引 文件名>][FOR<逻辑表达式>][ COMPACT][ ASCENDING I DESCENDING][ UNIQUE] [ADDITIVE (3)打开、关闭索引文件命令 ①USE[<效据库文件名>1?]N<工作区号>][AGAN [IDEX<索引文件表>|?[ORER[<数值表达式>1<i索引文件>[TAC <标识符>[OF<ck复合索引文件>][ ASCENDING| DESCENDING]] ② SET INDEX TY[<索引文件表>1?][ ORDER<数值表达式>|<idk索引文件> 1TAG]<标记名>[OF<cdx复合索引文件>][ ASCENDING I DESCENDING[ADDL TIE (4)改变主索引或主标记命令: SET ORDER0[<数值表达式>|<x索引文件>I[TAG」<标记名>[OF<cd 复合索引文件>]N<工作区号>1<工作区别名>][ ASCENDING I DESCENDD (5)重建索引命令
第4单元排序、与查询 REINDEX (6)顺序查询命令: LOCATE FOR<逻辑表达式>[<范围>][WHE<逻辑表达式>] (7)索引杳询命今: ①FIND<字串表达式> ②SEEK<表达式> (8)分类汇总命令: TOTAL T0<汇总数据库>ON<关键字表达式>[ FIELDS<字段名表>] [<范围>[FOR<条件表达式1>][WHE<条件表达式2>] 4.3实验例题 以下例题用到职工库 Record HH XB CRQ PHOTO 195021赵闻 女73-01 销售部7 294012钱如强男75-12-07F.开发部1080.00memo 396240孙霞 女74-07-06 办公室670.00memo 494004李健华女78-10-15F.销售部689.00 596067张曼女76-05-08 F 销售部72000 695023张明男74-08-12T.开发部1200 memo gen 795034周忠 男68-12-11 销售部1240.00 mco gen 894022谷雨龙男66-11-08T.财务部116800 996001王晓玲女74-06-08T.销售部9%000 1095002方小群女75-08-16F.财务部90.00 (1)将df中的所有女职工记录按照出生日期排列,新文件只包含XM(姓名)、 BM(部门)、CSRQ(出生日期)三个字段。 ◆命令方式 SORT TO newzgl ON CSRQ FIELDS XM, BM, CSRQ FOR XB="3 LIST ◆菜单方式 ①打开数据库文件驾bf ②选择 Database菜单项下的So命令,弹出Sor对活框,如图4.1所示。 ③在 All Fields框中双击cm字段;或单士csm,然后再单击Move按钮,设置排序关
数据厍基础教程(实验指导) f市 cc Detetmmfinn 图4.1Sot对话框 键字。 ④在lput框中单击Fo复选框,输人表达式XB=”女"。 ⑤在Ouut框中设置输出文件名f:newg! ⑥在 Output框中选择Fis复选框,设置新文件所包含的字段。单击OK按钮返 回 (2)将f中的记录先按照性别升序,性别相同再按基本工资由高到低的顺序排 ◆命令方式 USE 2g SORT TO newzg2 ON XB, JBGZ/D USE ◆菜单方式 ①②步骤冋上。 ③在 All Field框中双击劝字段;或单击x,再单击Move按钮。再在 All Fields框中单 击j字段,在 Fields Options框中选择 Descending,再选择Move按钮。 ④在Out框中设置输出文件名:newg2。单击OK按钮返回。 (3)对零所有1973年以后出生的职工按照M(姓名)建立索引文件 xmsy id 再按照BCz(基本工资)降序建立索引文件jgzi,两个文件同时打开。 ◆命令方式 USE咽 INDEX ON XM TO xmsy FOR year(csrq )>1973 LIST
第4箄元排序、索}查询 INDEX ON -JBGZ TO jbgz. ADDrTTvE LIST USE ◆菜单方式 ①打开数据库文件df ②选择 Database菜单项下的 Setup命令,弹出setp对话框,在 Indexes框中单击Add 按钮,在弹出的 Open窗囗中单击New按钮,弹出如图42的 Index对话框 F由t 相Ms FEwendimiuFie mm e sp inde fae noon ftwmtuuinduafrwta P Copant lnde stricted 图4.2idx对话框 ③在 Output File框中选择DX类型,并键入f: xmsy. idx ④在 Fields框中双击Ⅻm字段;或单击xm,然后再单击 Add to Index list按钮。单击ln dex filter.…按钮,输入表达式year(cs)>1973。 ⑤单击OK按钮返回到Seup对话框。 ⑥在Sp对话框中再次单击Ad…按钮,进入hndx对话框。 ⑦在 Output File框中选择⑩x类型,并键f:\政gd。 在 Index key…后面的框中键人-j,然后再单击 Add to index lis按钮。 ⑨单击K按钮返回到Sep对话框。 (4)对建立结构复合索引文件,其中包含 ①按照BM(部门)建立索引(标记名为BM) ②按照H(婚否)建立惟一索引(标记名为HF) ③按照XB(性别)及CSRQ(出生日期)建立索引(标记名为 XBCSRQ ④按照JBCZ降序建立索引(标记名为JBCZ) ◆命令方式 USE INDEX ON BM TAG BM
数据厍基砒教程(实金指导) NDEX ON HF TAG HF UNIQUE LIST NDEX ON XB+ DTOC(CSRQ)TAC XBCSRQ LIST INDEX ON JBGZ TAG JBGZ LIST USE ◆菜单方式 ①打开数据库文件bf ②选择Hle菜单项下的Nw命令,再选择ndex类型,将弹出 Index对话框(如图 ③在Feds框中双击hm字段;或单击hm,然后再单击 Add to Index List按钮,增加 hm标记。在 Fields框中再双击hf字段,增加H标记,并单击 Unique复选框。单击ndex Ke…,输人索引表达式功+doc(csm),将 Tag Name改为劝sq,然后单击 Add to Index List按钮。单击 Index Key.…,输入索引表达式-jeg,将 Tag Name改为jbe,冉单击Adt ndex List按钮。 ④单击OK按钮返画到Sup对话框。 (5)打开上面建立的单索引文件 amsy. idx 方式一: USE ZG INDEX xmsy, 方式二: USE, ZG ET INDEX TO xmsy 方式三:打开数据库文件elf,选择 Database莱单项下的Seup,在 Indexes框中单击 Ad…·按钮,在弹出的Open窗口中选择相应的索引文件xm,然后单击 Open按钮。 (6)改变主索引和主标记 下面的命令首先打开df的索引文件xmsy.ik, jbgz id及,d,然后修改主索引 和主标记,删除主索引和主标记(通过Sctp对话框查看主索引和主标记的改变)。 ◆命令方式: USE zg index xmsy jbgz &&打开索引文件Ⅻmyi和j,e,ck自动被打开。主索引为 xmsy, id LIST SET ORDER TO jbgz &&设置主索引为jeid LIST SET ORDER TO I &&设置主索引为 xmsy. idx ST