- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八讲 索引关联及完整性一.索引P97-103 1、索引的含义 索引的作用就是将表中的记录按照一定的顺序进行查看,即为表创建一个排序方案,这样就可以对数据进行快速访问。 一个排序方案,就是一个索引。按不同的顺序排列,就会有不同的索引产生,在VFP中,一个表的所有索引都被存在一个索引文件CDX中。 记录号 姓名 成绩 1 张 74 2 王 68 3 李 92 4 赵 85 表基本文件 A.DBF 记录号 姓名 成绩 3 李 92 4 赵 85 1 张 74 2 王 68 表的索引文件 A.CDX 按成绩关键字降序索引 按姓名关键字降序索引 记录号 姓名 成绩 4 赵 85 1 张 74 2 王 68 3 李 92 一.索引 索引顺序是一个关键字表达式,关键字表达式是表中的一个字段或几个字段的组合,索引可以认为是该关键字的值与记录号之间的对照表,所以索引是根据关键字的值进行逻辑排序的一组指针。 一.索引 注意: ◎索引只是个逻辑顺序,不改变表中记录的物理顺序; ◎VFP中一个表可以建立多个索引,这些索引都保存在一个文件中,叫索引文件,其文件名与表同名,后缀名为.cdx; ◎索引文件不能单独使用,须与相关的表文件同时被打开和关闭; ◎此处均指结构化复合索引文件; ◎一个表虽然可有多个索引,但同一个时间内只能有一个索引起作用,称为主控索引; ◎索引提高了查询速度,但降低了数据的更新速度。 一.索引 2.索引的类型 VFP中索引分为四类: 主索引:即主关键字,用于关联时的主表 候选索引:即候选关键字,主索引的候选 普通索引:即外部关键字,用于关联时的子表。 惟一索引: 一.索引 3.索引的建立 表的索引可以在表设计器中建立,也可以用命令建立。关键是要正确编写索引表达式。 如果索引顺序是依据几个字段的,则 “表达式” 是由这几个字段联结起来的,注意必须将字段的数据类型转换为一致的。 注意:主索引必须由表设计器建立!! 一.索引 用命令建立索引的格式: (建的是普通索引)Index on 索引表达式 tag 索引名 如:Index on ssex tag ex 一.索引 例: 对于st表,按sno建立主索引,表达式sno 对于st表,按ssex索引,性别相同时按sage建立普通索引,表达式ssex+str(sage,2) 对于st表,按sdept索引,所在系相同时按sdate建立普通索引,表达式sdept+dtoc(sdate) 一.索引 4.索引的删除 在表设计器中:进入“索引”选项卡,选定要删除的索引行,单击右侧的删除按钮。 用命令:dele tag 索引名 | all 如: dele tag ex 一.索引 5.索引的使用 索引主要有两个作用,一是按其逻辑排序进行快速查找,二是建立表间关联。 使用索引时索引文件应该处于打开状态,只要打开表即可。 一.索引 1)设置当前索引 要使用某个索引进行排序,必须将其指定为当前索引,两种方法: 用菜单:在表处于浏览状态下,打开【表】/【属性】对话框,选择“索引顺序”下拉列表中已有的索引名即可。 用命令:set order to [tag]索引名 [asc|desc] 例:将st表按学号升序索引,观察表中记录顺序的变化。 set order to tag sno asc 一.索引 2)利用当前索引快速查找记录: 命令格式:seek 表达式 功能:利用索引有哪些信誉好的足球投注网站与该表达式的值相匹配的第一个记录 注意: 使用此命令时,要先指定一个当前索引,则表达式类型要与该索引表达式的类型一致,换成具体的值即可。 要继续有哪些信誉好的足球投注网站符合条件的记录,用skip即可,因为此时符合该表达式的记录已排列在一起。 一.索引 例:查找性别为男的记录 use st index on ssex tag ssex Set order to ssex Seek “男” skip 例:查找性别为男年龄22的记录 use st Insex on ssex+str(sage,2) tag xa Set order to tag xa Seek “男”+str(22,2) skip 二.数据库表间的关联 P105-107 关联是在不同的工作表的记录指针间建立一种联动,使得当一个表的记录指针移动时,另一个表的记录指针也随着移动到满足关联条件的记录上。表间关联要依据两表间具有相同属性值的索引,就是依据两个表间的同字段的值相等建立联系。建立表间关联是防止数据冗余最有效的方法。 表间可以建立临时关联,也可建立永久关联,只有数据库表才能建立永久关联。 二.数据库表间的关联 表间关系 父表 子表 一对一 主关键字(主索引) 关键字 (主、候选索引) 一对多 主关键字(主索引) 外部关键字(普通索引) 多对多 化为几个一对多关系处理
文档评论(0)