版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.1 记录按录入先后次序存储,数据维护比较方 便,但检索速度较慢。因此,数据库系统经 常需要按照用户的要求对数据表文件中的记 录进行重新组织排列。VFP提供了两种重新 组织数据的方法,即排序与索引。 对表文件进行物理位置的整理对表文件进行物理位置的整理 命令格式:命令格式:Sort To On /A /D /C ,/A /D /C Ascending | Descending For Fields 说明:说明: :指定主排序字段。如果有多个排序字段,先 按排序,对于字段值相同的记录,再按排序。 :新建的数据表文件名,默认扩展名 .dbf。 /A/D/C:指明按字段的升序、降序排序和排序时不区
2、 分字母大小写。 Ascending | Descending:对没有用/A或/D指明排序顺序 的字段按升序或降序排序。 For :对满足条件的记录进行排序。 Fields :指定新文件中所含字段及其顺序。 注意:该命令最终的结注意:该命令最终的结 果是生成一个新表!且果是生成一个新表!且 使用该命令不需要建索引!使用该命令不需要建索引! 例1: use course browse sort to 学时 on 学时 /D fields 课程号,课程名,学时 use 学时 browse 一本书的目录可看作是一个索引文件,该文件中只有“章 节标题”及其所在的“页码”两项,根据此文件可很快找 到所需
3、的内容,而不必一页一页地顺序翻阅。对表文件也 可建立类似的索引文件。 与排序相比,索引是一种逻辑排序方法,它不改变记录在 物理上的排列顺序,而是建立一个与原文件相对应的索引 文件,索引文件中存储了一组记录指针,它指向原文件的 记录。 4.2.1 索引的概念索引的概念 VFP索引是指由指针构成的文件,这些指针逻辑上按照索 引关键字值进行排序。即索引是一个二维表,其中仅含有 两列:关键字的值和记录在数据表中的物理位置。创建索 引就是建立一个由指向.dbf文件记录的指针构成的文件。 索引和表分别存储在两个文件中。使用索引可以加速对表 的查询操作。 4.2.1 索引的概念索引的概念 1.索引的作用索引
4、的作用 可使表文件按索引表达式的值进行逻辑排序 可以快速查询表中数据 要建立两数据库表间的永久性关系,必须建立索引文件 4.2.1 索引的概念索引的概念 2.索引文件的构成索引文件的构成 索引关键字 记录号 3.索引文件的特点索引文件的特点 索引文件不能显示 物理顺序物理顺序 逻辑顺序逻辑顺序 使用顺序使用顺序 记录存储在表文记录存储在表文 件中的实际排列件中的实际排列 顺序顺序 按照某个关键字按照某个关键字 或关键字表达式或关键字表达式 在关键字与记录在关键字与记录 号之间建立的一号之间建立的一 种逻辑上的顺序种逻辑上的顺序 实际操作的记实际操作的记 录顺序录顺序 VFP6.0索引文件索引文
5、件 单项索引文件单项索引文件(IDX ) 复合索引文件复合索引文件(CDX ) 包含一个索引入口的索包含一个索引入口的索 引文件,不会随着表的引文件,不会随着表的 打开而自动打开打开而自动打开 包含多个索引入口的索包含多个索引入口的索 引文件,在使用时需明引文件,在使用时需明 确指定打开确指定打开 压缩型压缩型 非压缩型非压缩型 结构复合索引文件结构复合索引文件 非结构复合索引文件非结构复合索引文件 每次表打开时自动打每次表打开时自动打 开,并且在表修改时开,并且在表修改时 自动更新的索引文件,自动更新的索引文件, 通常与表同名,但扩通常与表同名,但扩 展名是展名是.CDX 三种索引文件的比较
6、三种索引文件的比较 索引类型索引类型描述描述 索引索引 数目数目 限制限制 独立独立 .idx 非结非结 构构 .cdx 结构结构 .cdx 必须明确的打开必须明确的打开, .idx的基本的基本 名由用户定义名由用户定义 必须明确的打开必须明确的打开,使用和表名使用和表名 不同的基本名不同的基本名 使用和表文件名相同的文件名使用和表文件名相同的文件名, 和表一起自动打开和表一起自动打开 单索引单索引 多索引多索引, 称为称为” 标志标志” 多索引多索引, 称为称为” 标志标志” 有效表达式有效表达式 限制在限制在100 个字符之内个字符之内 有效表达式有效表达式 限制在限制在240 个字符之内
7、个字符之内 有效表达式有效表达式 限制在限制在240 个字符之内个字符之内 要求索引表达式的值是唯一能够标识每个记录处理顺 序的值。自由表不能建立主索引,自由表不能建立主索引,一个数据库表只能建立一个 主索引。 候选索引:候选索引:像主索引一样,要求索引表达式的值是唯一能够标 识每个记录处理顺序的值。一个表可以建立多个候选索引。 惟一索引:惟一索引:当字段或表达式的值出现重复时,在索引中只保留 一个记录。即索引中表达式的值是唯一的,而数据表中的字段值 是可以重复的。唯一性是指索引项索引项的惟一,而不是字段值的惟 一。一个数据表中可建立多个惟一索引。 普通索引:普通索引:允许字段或表达式的值重复
8、,一个数据表中可建立 多个普通索引。 注意事项:注意事项: 表中所建不同类型表中所建不同类型 索引文件个数?索引文件个数? 什么时候使用什什么时候使用什 么类型的索引?么类型的索引? 说明说明: 表的主索引和候选索引存储在结构复合索引文件中,同时 以Primary属性或Candidate属性存储在数据库中。这两种 索引不能保存在非结构.cdx文件中,也不能保存在.idx 文件 中。这是因为:这两种索引必须和表同时打开。其他两种 索引文件可以存储惟一索引和普通索引。 一个数据表文件可以建立多个索引文件,也可以同时打开 多个索引文件,但在同一时间内只有一个索引起作用,这 个索引被称为主控索引(当前
9、索引)主控索引(当前索引)。 为了管理和使用索引,VFP给索引编了序号,序号从1开始。 当打开多个索引文件时,VFP首先按打开.idx文件的顺序, 给idx文件中的索引编号;然后再对结构复合索引文件中的 标识,按创建标识的先后顺序编号;最后,对一般的复合索引 文件中的标识,按创建的顺序编号。 建立在一个表之上的各种索引文件建立在一个表之上的各种索引文件 基本表基本表 独立索独立索 引文件引文件1 独立索引文独立索引文 件件m 结构复合索结构复合索 引文件引文件 复合索复合索 引文件引文件1 复合索引复合索引 文件文件n 每个文件中只有每个文件中只有 一个索引一个索引 文件中可以有多个索引文件中
10、可以有多个索引,称为索引称为索引”标标 识识”或或”标签标签” “字段”选项卡 :建立单字段的普通索引 。 “索引”选项卡 :指定索引名、类型、索引顺序(升序 或降序),建立索引表达式、筛选条件。 4.2.3 索引的建立索引的建立 设置过程中可借助设置过程中可借助 于表达式生成器来于表达式生成器来 进行进行 此方式生成的索此方式生成的索 引文件类型是引文件类型是? 索引选项卡索引选项卡 移动按钮移动按钮排序按钮排序按钮 在此框中输在此框中输 入索引标记入索引标记 在此列表框中在此列表框中 选择索引类型选择索引类型 在此文本框中输在此文本框中输 入索引表达式入索引表达式 在此输入条在此输入条 件
11、表达式件表达式 表达式生成按钮表达式生成按钮 结构化复合索引结构化复合索引 文件文件 4.2.3 索引的建立索引的建立 格式一:格式一:INDEX ON TO FOR COMPACT UNIQUE ADDITIVE 格式二:格式二:INDEX ON TAG OF FOR ASCENDING DESCENDING UNIQUE|CANDIDATE ADDITIVE 4.2.3 索引的建立索引的建立 格式:格式:Index On To Additive 说明:说明: : 小于等于100个字符。 文件扩展名为 .idx。该索引文件要用Set Index To命令打开。 Additive:建立索引文件
12、的同时保持先前打开的索引文件不被 关闭。 单索引文件建立后,自动处于打开状态并作为当前索引生效。 例2: use student index on 出生日期 to csrq list index on 性别 to sex unique list 4.2.3 索引的建立索引的建立 格式:格式:Index On Tag Of For Ascending | Descending Unique | Candidate Additive 说明:说明: : 小于等于240个字符。 :用以区分不同索引的索引标识。 Of :省略该可选项,建立结构复合索引文件,否则 建立非结构复合索引文件。复合索引文件的扩展
13、名为 .cdx。 For :对满足条件的记录进行索引。 Additive:省略该可选项,指关闭以前的索引。 索引命令不能建立主索引。默认建立的是普通索引。 ASCENDING | DESCENDING:ASCENDING 指定复合索引文件为升序,这是默认值。指定复合索引文件为升序,这是默认值。 DESCENDING 指定复合索引文件为降序。指定复合索引文件为降序。 结构复合索引文件的特点:结构复合索引文件的特点: 在打开表时自动打开在打开表时自动打开 同一索引文件中能包含多个索引方案同一索引文件中能包含多个索引方案 在增、删、修改时系统自动维护索引在增、删、修改时系统自动维护索引 注意:注意:
14、 绝大多数情况下都是绝大多数情况下都是 用结构化复合索引,用结构化复合索引, 某些场合可能建立某些场合可能建立 临时性的单一索引临时性的单一索引 UNIQUE:对于一个索引关键值,只有第一个满足:对于一个索引关键值,只有第一个满足 该值的记录包含在该值的记录包含在.IDX文件或文件或.CDX标识中。标识中。 利用利用UNIQUE子句可以避免显示或访问记录的重复值。子句可以避免显示或访问记录的重复值。 例3: use student index on 姓名 tag xm descending list index on 性别+dtoc(出生日期) tag xbcsrq list 例4: use
15、student index on 姓名 tag xingming of xm list index on 性别 tag xingbie of xm unique list 结构化索引文件是随表的打开而自动打开。而其它索引文件 可用命令打开。 use indexorder tagofascendingdescending (1) 功能:功能:打开指定的表文件及相关的索引文件打开指定的表文件及相关的索引文件 说明:说明: Index?:?:表示打开的索引文件。若选择表示打开的索引文件。若选择“?”,系,系 统将出现统将出现“打开打开”对话框,供用户选择索引文件名。若对话框,供用户选择索引文件名。若
16、中的第一个索引文件是单索引文件,则它是主索引文件,若第一中的第一个索引文件是单索引文件,则它是主索引文件,若第一 个索引文件是复合索引文件,则表文件的记录将以物理顺序被访问。个索引文件是复合索引文件,则表文件的记录将以物理顺序被访问。 指定要打开的索引文件,索引文件中的文件扩展名指定要打开的索引文件,索引文件中的文件扩展名 可以省略,但若存在同名的单索引文件和复合索引文件,必须带扩可以省略,但若存在同名的单索引文件和复合索引文件,必须带扩 展名。展名。 说明:说明: order子句用来指定主索引,选择此选项时,主索引文件将不是子句用来指定主索引,选择此选项时,主索引文件将不是中的第一个单索引文
17、件,而是此选项指定的单索引中的第一个单索引文件,而是此选项指定的单索引 文件或标识。文件或标识。将指定主索引的编号,若为将指定主索引的编号,若为0,则表示,则表示 不设主索引。不设主索引。将指定的单索引文件设置为主索引。将指定的单索引文件设置为主索引。 tagof :表示将复合索引文件中的:表示将复合索引文件中的 指定标识作为主索引。不设定指定标识作为主索引。不设定of 时表示为结构时表示为结构 复合索引文件。复合索引文件。 (1)ascendingdescending:表示主索引被强制以升序或降序索引;:表示主索引被强制以升序或降序索引; 不包括此项时,主索引按原有顺序打开。不包括此项时,主
18、索引按原有顺序打开。 格式:格式:SET INDEX TO 说明:说明: :指定同时打开的单索引文件或非结构复合索引文件。:指定同时打开的单索引文件或非结构复合索引文件。 省略可选项,省略可选项,Set Index To用于关闭除结构复合索引文件以外的索引用于关闭除结构复合索引文件以外的索引 文件。文件。 索引文件列表中的第一个索引文件将作为当前索引文件。对于单索引索引文件列表中的第一个索引文件将作为当前索引文件。对于单索引 文件,索引顺序将立即生效。非结构复合索引文件,则其第一个索引文件,索引顺序将立即生效。非结构复合索引文件,则其第一个索引 生效。生效。 例5: use student s
19、et index to csrq list 在同时打开多个索引时,要设置主控索引。 (1) 命令方式命令方式 格式:格式: SET ORDER TO | | TAG 说明:说明: :按索引文件总的序号指定当前索引。先按Set Index To 命令中的文件列表顺序为单索引文件编号,再按创建时的先后顺序为结 构复合索引文件中的索引编号。 :将指定的单索引文件作为当前索引。 Tag :将指定的复合索引名作为当前索引。 例6: use student set order to tag xm list (2) 菜单方式菜单方式 打开“浏览”窗口,选择“表”-“属性”菜单命令,在“工作区属 性”对话 框
20、的“索引顺序”框中选择一个索引项,浏览窗口中的记录就会 按照 该索引顺序排列。 3.关闭索引关闭索引 Set index to:关闭当前索引文件 Close index:关闭当前工作区中打开的所有单索引文件和 独立复合索引文件,而表文件和结构复合索引文件保持打 开状态。 Use:关闭表的同时关闭索引文件 4.删除索引删除索引 命令格式:命令格式:delete tag all | ,of 说明:说明: 若要从结构复合.cdx文件中删除索引,可使用命令delete tag ,,若要删除全部索引,使用命令: delete tag all 若要删除非结构.cdx文件中的索引,可使用delete tag
21、 命令的of子 句; eg:delete tag xingming of xm 若要删除独立.idx文件,可使用delete file命令。 eg:delete file csrq.idx 1. find命令命令 格式:格式:find/ 功能:功能:在打开的索引文件中快速查找与命令中指定的字符串或常数相匹 配的第1条记录 说明:说明: 用find命令查找常数时,命令中给出的常数值必须完整,小数点后面 的零可以省略。 用find命令查找字符串常量,书写命令时,字符串常量可以不使用定 界符,但如果是以空格开头的字符串就必须使用定界符。 在find命令中使用字符型内存变量时变量名前要使用宏替换函数。
22、 例7:在course表中,查找学时为280的课程的记录。 use course index on 学时 tag xs find 280 ?found( ) display 例8:在student表中,查姓名为周利的学生的记录 use student Set order to tag xm find 周利 ?found( ) display nn=周利 Find nn ?found( ) 为子表按要关联的字段建立索引为子表按要关联的字段建立索引; 在新工作区打开父表;在新工作区打开父表; 在父表所在工作区执行命令:在父表所在工作区执行命令: Set relation to into | (关联
23、表达式:一般是父表的主索引,子表的(关联表达式:一般是父表的主索引,子表的 普通索引)普通索引) 4.4.3 建立表间的临时性关联建立表间的临时性关联 例例20:利用表文件student,course,grade,显示学生选课的课程名和相应的成绩 clear all select 1 use student index on 学号 tag xh select 2 use course index on 课程号 tag kch select 3 use grade set relation to 学号 into a set relation to 课程号 into b additive list
24、 all fields a-姓名,b-课程名,成绩 off 4.4.3 建立表间的临时性关联建立表间的临时性关联 取消取消临时性关联临时性关联: Set relation to :取消当前表到所有表的临时联系。 Set relation off into | :只取消某个具体 的临时联系。 4.5 自由表自由表 4.5.1 数据库表与自由表数据库表与自由表 在Visual FoxPro 6.0中,根据一个表文件是否属于数据库来区分 数据库表和自由表。自由表是独立于数据库之外的表,当它被加 到数据库中时,就成为数据库表;而一个数据库表是包含在某个 数据库中的,当它从数据库中移出时,就成为自由表。
25、 4.5 自由表自由表 4.5.1 数据库表与自由表数据库表与自由表 1.自由表的建立自由表的建立 当没有数据库打开时,建立的表就是自由表。 建立自由表的方法: 在项目管理器中在项目管理器中 “数据”“自由表”“新建”,打开“表设计器”建立自由表 菜单方式菜单方式 在确认当前没有打开的数据库时,“ 文件” “新建” “表” “新建 文件”,打开“表设计器”建立自由表 4.5 自由表自由表 4.5.1 数据库表与自由表数据库表与自由表 1.自由表的建立自由表的建立 命令方式命令方式 在确认当前没有打开的数据库时,使用CREATE命令: 格式格式1:Create | ?(打开表设计器)(打开表设计器) 格式格式2:Create table (字段名字段名1 (),字字 段名段名2 () 4.5 自由表自由表 4.5.1 数据库表与自由表数据库表与自由表 2.数据库表与自由表的区别 数据库表与自由表相比有以下特性: 数据库表可以使用长表名,字段定义可以使用长字段名(最长 达128个字符);而自由表不能使用长表名,字段
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年信用借款协议格式
- 2024年度电力系统设计合作框架协议
- 2024年专业咖啡师工作协议范本
- 2024年度医疗行业聘用协议样本
- 2024年专业通信工程服务协议样本
- 2024年化妆品采购协议范本详析
- 2024年新盘商品房预订协议典范格式
- 2024年商业合作保密协议模板
- 2024年规范化采购物品协议样本
- 爸爸计划课件教学课件
- 2024年中央企业全面质量管理知识竞赛考试真题库(含答案)
- 2022版义务教育(道德与法治)课程标准(附课标解读)
- 思想道德与法治第二章
- 信号集中监测系统(完整版)
- 复古风同学聚会邀请函.doc
- 支气管镜图谱(精选PPT干货)
- CFX地流场精确数值模拟教程
- 人体生物标本及人类遗传资源管理办法和涉及人的生物医学研究伦理
- 新核心大学英语B版听说教程2Unit1
- 职务晋升申请书范文
- (完整版)花岗岩地面施工方案
评论
0/150
提交评论