版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(原表)排序排序(新表)索引索引1彭 01 5502曹 02 5693周 03 5464李 04 5891彭 01 5502曹 02 5693周 03 5464李 04 5891李 04 5892曹 02 5693彭 01 5504周 03 5461彭 01 5502曹 02 5693周 03 5464李 04 589(原表)4 5892 5691 5503 546(索引文件)一、排序与索引一、排序与索引(一)排序(一)排序 格式:格式:SORT TO 文件名文件名 ON 字段名字段名1/A/D/C ,字段字段名名2/A/D/C,范围范围 FOR 条件条件 FIELDS 字段名表字段名表 注意
2、:注意:文件名文件名:排序后新生成的表文件名排序后新生成的表文件名 字段名字段名:关键字段,即排序字段关键字段,即排序字段 (不能为备注型和通用型)不能为备注型和通用型) /A 升序(默认情况)升序(默认情况) /D 降序降序 /C 不分大小写不分大小写例:例: USE 学生学生SORT TO XS ON 入学总分入学总分 FIELDS 姓名姓名, 入学总分入学总分 /D(二)索引(二)索引1、索引的类型、索引的类型单索引文件单索引文件(.idx) 书书P88复合索引文件复合索引文件(.cdx)索引类型索引类型索引个数索引个数关键字值关键字值主索引仅且只有一个不允许重复侯选索引可以多个普通索引
3、允许重复,输出时重复值按自然顺序排列唯一索引允许重复,但是输出时无重复值只能用于数据库表2、索引的建立、索引的建立1 1)菜单方式:)菜单方式: 打开要建立索引的表,在“显示”菜单下选择“表设计器”,进入“表设计器”对话框。 选择“索引”选项卡。 在排序选项中,选择索引方向,升序()或降序()。 在索引名选项中,输入索引字段名。 在类型选项中,选择索引类型。 在表达式选项中,输入索引字段名或索引表达式。 在筛选选项中,限制记录的输出范围。 单索引:单索引:INDEX ON 索引关键字索引关键字 TO 单索引文件名单索引文件名 FOR UNIQUE additive 复合索引复合索引INDEX
4、ON 索引关键字索引关键字 TAG FOR ASCE | DESC UNIQUE | CANDIDATE2)命令方式:)命令方式:单索引:单索引:INDEX ON 索引关键字索引关键字 TO 单索引文件名单索引文件名 FOR UNIQUE ADDITIVE例1: use 学生 index on 入校总分 to xs list例2: use 学生 index on 入校总分 to xs list索引关键字索引关键字 1 1)不能为备注型和通用型)不能为备注型和通用型 2 2)可以是独立的字段名,也可以是)可以是独立的字段名,也可以是同类型同类型的多个的多个 字段用字段用“+”+”或或“-”-”组
5、成的表达式;组成的表达式;默认为创建普通索引,如果加上默认为创建普通索引,如果加上UNIQUEUNIQUE则创建唯一索引则创建唯一索引例3: use 学生 index on 入校总分+val(姓名)to xs list例5: use 学生 index on 入校总分 to xs unique list例4: use 学生 index on 入校总分to xs for 性别“女” list例6: USE 学生 INDEX ON 入校总分 TAG rxzf INDEX ON 学号 TAG xsxh LIST复合索引复合索引INDEX ON 索引关键字索引关键字 TAG OF FOR ASCE |
6、DESC UNIQUE | CANDIDATEADDITIVETAGTAG后的索引标识名就是所建索引项的一个别名,由它来标明后的索引标识名就是所建索引项的一个别名,由它来标明某个复合索引文件中的某种逻辑排序方式;某个复合索引文件中的某种逻辑排序方式;OFOF子句用于指定子句用于指定非结构复合索引非结构复合索引文件的名字文件的名字, ,若缺省则表示若缺省则表示建立建立结构复合索引。结构复合索引。 ASCE ASCE:表示升序:表示升序 DESCDESC:表示降序,缺省为升序:表示降序,缺省为升序 UNIQUEUNIQUE:唯一索引:唯一索引 CANDIDATECANDIDATE:侯选索引;:侯选
7、索引;ADDITIVE: ADDITIVE: 先前已打开的所有索引文件仍保持打开状态。先前已打开的所有索引文件仍保持打开状态。例8: USE 学生 INDEX ON 学号 TAG xh DESC CANDIDATE LIST例7: USE 学生 INDEX ON 入校总分 TAG rxzf OF 总分排序3、索引的使用和关闭、索引的使用和关闭1)单索引文件的打开)单索引文件的打开打开表的同时打开索引文件 USE INDEX 先打开表再打开索引文件 SET INDEX TO ADDITIVE例9: USE 学生 INDEX ON 学号 TO xh INDEX ON 入校总分 TO zf USE
8、USE 学生 INDEX xh LIST SET INDEX TO zf additve 2)复合索引文件的打开打开表的同时打开索引文件 USE index ORDER TAG ASCE | DESC先打开表再打开索引文件(建立主控索引) SET ORDER TO |TAG ASCE | DESC例10: USE 学生 INDEX ON 学号 TAG xsxh INDEX ON 入校总分 TAG rxzf USE USE 学生 ORDER TAG xsxh DESC LIST SET ORDER TO TAG rxzf 例11: USE 学生 INDEX ON 学号 TAG xsxh INDE
9、X ON 入校总分 TAG rxzf USE USE 学生 ORDER 1 DESC LIST SET ORDER TO 2第一个建立的索引项在索引文件中的编号为1第二个为2,依次类推注意:如果使用 set order to 0 或者 set order to 则表示取消主控索引,表按物理顺序输出3)索引文件的更新 REINDEXUSE 学生INDEX ON 入校总分 TAG rxzfUSEUSE 学生APPEND FROM 学生2SET ORDER TO rxzfLISTUSE 学生INDEX ON 入校总分 TO zfUSEUSE 学生APPEND FROM 学生2SET INDEX TO
10、 zfLISTREINDEX结构复合索引可自动更新,单索引和非结构复合索引必须用reindex更新4)4)、关闭索引文件、关闭索引文件关闭当前索引文件:关闭当前索引文件:set index toset index to 关闭所有索引文件:关闭所有索引文件:close indexes|closeclose indexes|close all all关闭表文件的同时,自动关闭索引文件:关闭表文件的同时,自动关闭索引文件:useuse索引索引类型类型文件文件名名文件特征文件特征建立建立打开打开更新更新删除删除单索单索引引(.idx)一个索引项为一个索引项为一个索引文件一个索引文件Index on t
11、oUseindexset index toreindexUseClose indexSet index to复复合合索索引引结结构构(.cdx)在一个在一个索引文索引文件中包件中包含有多含有多个索引个索引项,每项,每个索引个索引项由索项由索引标识引标识符或数符或数值来区值来区分分与表与表文件文件同名同名Index on tagUseorderset order to自动更自动更新新非非结结构构用户用户自定自定义义Index on tagofUse orderofset order toreindex总结:二、查询二、查询顺序查询 索引查询 SQL查询(一)顺序查询命令格式:LOCATE 范围
12、FOR WHILE CONTINUE例: USE 学生 LOCATE FOR 性别=“女” DISPLAY CONTINUE DISPLAY找到满足要求的第一条记录并定位记录指针显示满足要求的第一条记录继续查找下一条记录(二)索引查询命令格式:SEEK 注意注意:首先要打开需要查找的索引文件;只能找到第一首先要打开需要查找的索引文件;只能找到第一个符合条件的记录,找到后指针定位于该记录,否则个符合条件的记录,找到后指针定位于该记录,否则定位于文件尾。用定位于文件尾。用“skip +1”指向下一个记录。指向下一个记录。 说明:说明: 可以为可以为C、N、D、L型。型。 当为当为C型型常量常量时,
13、必须使用定界符。时,必须使用定界符。 使用内存变量使用内存变量时,直接用,不用时,直接用,不用&替换函数。对字符表达式,系统替换函数。对字符表达式,系统允许模糊查询。允许模糊查询。例: USE 学生 INDEX ON 性别 TAG xb SEEK “女” DISP SKIP+1 DISP 格式:FIND | 功能:在索引文件中查找与相匹配的第一个记录,找到后指针定位于该记录,否则定位于文件尾。 注意:1、使用此命令,必须先打开表文件及其相关的索引文件。 2、查找的只能是C型或N型,且与索引对应。 3、对于C型常量时,可用定界符,也可不用。 4、可查找常量,也可查找变量,当使用C型变量时,必须使
14、 用&函数;当使用N型变量时,应先将其转换为字符型,然 后使用&函数。 三、统计三、统计1 1、计数、计数命令格式:COUNT 范围 FOR |WHILE 条件 TO 内存变量例:COUNT FOR 性别=“女” TO AA2 2、求和、求和/ /平均值平均值 命令格式:SUM/AVERAGE 范围 FOR | WHILE 条件 N型字段 TO 内存变量表例:AVER YEAR(DATE()-YEAR(出生年月) TO X3 3、计算命令、计算命令命令格式: CALCULATE 范围 FOR |WHILE 条件 TO 内存变量例:CALC MAX(入校总分),MIN(入校总分),AVG(入校总
15、分)4 4、分类汇总(注:关键字段须先索引)、分类汇总(注:关键字段须先索引)命令格式:TOTAL ON TO 汇总文件名 范围 FOR|WHILE 条件 FIELDS N型字段名表 例:TOTAL ON 性别 TO XBTOL USE XBTOL四、多工作区的操作四、多工作区的操作(一)基本概念(一)基本概念 1、工作区工作区:数据库系统专门为每个打开的表文件开辟的一个:数据库系统专门为每个打开的表文件开辟的一个内存区,这个内存区就成为工作区。内存区,这个内存区就成为工作区。 2、主工作区主工作区:即当前工作区,只有该区的表文件可被操作。:即当前工作区,只有该区的表文件可被操作。(二)主工作
16、区的选择:(二)主工作区的选择:格式:格式:SELECT 工作区代号工作区代号|别名别名1、工作区代号:、工作区代号: 1 2 3 4 5 6 7 8 9 10 11 32767 0:当前没使用的编号最小的工作区为主工作区:当前没使用的编号最小的工作区为主工作区 例1:USE 学生 SELECT 2 USE 选课 SELECT 0 USE 课程系统每次启动默认1号工作区为当前工作区选择2号工作区为当前工作区并打开选课表选择3号工作区为当前工作区并打开课程表打开“窗口数据工作期”可查看在工作区打开的所有表函数 select() 可返回当前工作区的区号2、别名1)工作区的别名:12 3 4 5 6
17、 7 8 9 10 11 32767A B C D E F G H I J W11W32767作用:在当前工作区要使用别工作区的表文件时 格式:工作区别名-字段名 或 工作区别名.字段名例2: USE 选课 SELECT 2 USE 学生 DISP 学号, 姓名, A-课程2)表的别名:在打开表文件时,可以为表文件取另外一个名字,即别名。在打开表文件时,可以为表文件取另外一个名字,即别名。 格式格式: Use alias 如不使用如不使用alias指定别名,默认别名和表文件名相同。指定别名,默认别名和表文件名相同。作用作用:可直接使用别名来调用表文件成为当前表可直接使用别名来调用表文件成为当前
18、表 例3:USE 学生 ALIAS xs SELECT 2 USE 选课 LIST SELECT xs LIST FOR 性别=“女” (三)多表间的关联1、关联:是指在两个表文件的记录指针之间建立一种临时是指在两个表文件的记录指针之间建立一种临时关系,当一个表的记录指针移动时,与之关联的另一个表的关系,当一个表的记录指针移动时,与之关联的另一个表的记录指针也作相应的移动。建立关联的两个表,一个是建立记录指针也作相应的移动。建立关联的两个表,一个是建立关联的表,称为关联的表,称为父表父表;另一被关联的表,则称为;另一被关联的表,则称为子表子表学号课程号成绩S0201101C11090S0201
19、102C15078S0201103C17092学号姓名入校总分S0201101张三590S0201102李四568S0201103王五570父表子表2、表间的关系类型1)一对一关系:2)一对多关系或多对一关系2)多对多关系3、临时关联的建立、临时关联的建立(1)用命令建立)用命令建立格式:格式:SET RELATION TO INTO , INTO ADDITIVE 例1:USE 学生 SELECT 2 USE 选课 INDEX ON 学号 TAG xh SELECT 1 SET RELATION TO 学号 INTO 选课 LIST 学号,姓名,B- 成绩子表必须按关键字子表必须按关键字建立
20、索引建立索引 例2:USE 学生 SELECT 2 USE 学生工作情况 SELECT 1 SET RELATION TO RECNO() INTO 学生工作情况 LIST 学号,姓名,B- 工作单位Set rela to SELECT 1SELECT22)建立一对多关系)建立一对多关系SET SKIP TO | 例1:USE 学生 SELECT 2 USE 选课 INDEX ON 学号 TAG xh SELECT 1 SET RELATION TO 学号 INTO 选课 SET SKIP TO B LIST 学号,姓名,B- 成绩3) 删除关联:SET RELATION TO 4) 多表之间
21、的关联父表子表1子表2题目:在屏幕上显示学生王小平的学号,姓名,课程名和成绩 USE 学生 INDEX ON 学号 TAG xh SELECT 2 USE 课程 INDEX ON 课程号 TAG kch SELECT 3 USE 选课 SET RELA TO 学号 INTO A,课程号 INTO B ADDI LIST 学号,A.姓名,B.课程名,成绩 FOR 姓名=“王小平”4、表之间的连接将当前表文件与指定别名的表文件物理连接生成一个新表文件。将当前表文件与指定别名的表文件物理连接生成一个新表文件。JOIN WITH TO FOR FIELDS 说明:说明:1)FOR 为必选,是连接两表的依据,应使用两表中共有的同名、同类型、同宽度字段。2)选用FIELDS 时,新生成的数据表文件的字段即为中所指定的字段;不选用时,则新生成的数据表文件中包含两个数据表中所有的字段(主表中的字段在前,别名表中的字段在后),当字段重名时,保留主表中的字段及其数据。3)当表中含M型字段时,连接后M型字段内容丢失。4)如两表的记录数分别为M、N,则生成的新表中,记录数最多可为M*N条。 注意:执行JOIN命令时,主表文件从1号记录开始,在别名表中查找与主表关键字值相同的记录,找到后将该记录与主表1号记录连接,生成新表中的一条记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理伦理决策图示
- 学堂在线 雨课堂 中医与诊断-学做自己的医生 期末考试答案
- 护理沟通中的情绪管理
- 母婴护理工具与用品选择
- 眼科护理新进展与新技术应用
- 告别课件教学课件
- DSA护理与患者安全管理
- 如何正确处理鼻腔出血
- 听见声音课件
- 致命说服话术
- 医保政策学习课件
- 雨课堂学堂在线学堂云《科学研究方法与论文写作(复大)》单元测试考核答案
- 2025浙江省自由贸易发展中心招聘工作人员5人(第二批)参考笔试试题及答案解析
- 光学加工机械项目可行性分析报告范文
- 【2025年】天翼云解决方案架构师认证考试笔试卷库下(多选、判断题)含答案
- GCB发电机出口断路器教育课件
- 柑桔周年管理工作历第二版课件
- 半导体异质结课件
- Q∕SY 1356-2010 风险评估规范
- 高处作业吊篮安装验收表(范本模板)
- 美术第二课堂国画教案
评论
0/150
提交评论