VF数据库第9章-视图与查询操作

上传人:嘀嘀 文档编号:263222456 上传时间:2022-03-09 格式:PPT 页数:48 大小:170.50KB
返回 下载 相关 举报
VF数据库第9章-视图与查询操作_第1页
第1页 / 共48页
VF数据库第9章-视图与查询操作_第2页
第2页 / 共48页
VF数据库第9章-视图与查询操作_第3页
第3页 / 共48页
VF数据库第9章-视图与查询操作_第4页
第4页 / 共48页
VF数据库第9章-视图与查询操作_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《VF数据库第9章-视图与查询操作》由会员分享,可在线阅读,更多相关《VF数据库第9章-视图与查询操作(48页珍藏版)》请在金锄头文库上搜索。

1、第9章 视图与查询操作 视图与查询是提取数据库记录、更新数据库数据的一种操作方式,视图与查询兼有表的特点,但它们的功能远远大于表,尤其是给多表数据信息的显示、更新和编辑提供了非常简便的方法。9.1 创建视图 视图是从一个或多个表中导出的“表”,它与表不同的是,视图中的数据还是存储在原来的表中,因此可以把它看作是一个“虚表”。 视图是不能单独存在的,它依赖于某一数据库且依赖于某一个或某些表而存在,只有打开与视图相关的数据库才能创建和使用视图,由于数据库中数据的来源不同,视图可以分为本地视图和远程视图。9.1.1 利用视图设计器创建视图 方法:先打开“数据库设计器”,在打开“视图设计器”窗口,最后

2、创建视图。 例1:利用视图设计器,在“人才管理”数据库中,创建一个单表本地视图,命名为“人才档案视图”,视图中包含“编号”、“姓名”、“性别”、“工资现状”4个字段的内容。 例2:利用视图设计器,在“人才管理”数据库中,创建一个多表本地视图,命名为“求职信息”,视图中包含“编号”、“姓名”、“学历”、“岗位类别”、“工作地区”、“工作类型”6个字段的内容。 9.1.2 使用视图向导创建视图 可以使用“本地视图向导”创建本地视图。使用“远程视图向导”可以在 ODBC(Open DataBase Connection ) 数据源的表上建立可更新的视图。 例如,在“人才管理”数据库中,创建一个多表本

3、地视图,命名为“招聘信息”,视图中包含“岗位编号”、“需求单位”、“联系人”、“电话”、“岗位类别”5个字段的内容。 将“人才需求”表的“岗位编号”与“岗位类别”表的“岗位编号”建立关联9.2 利用视图更新数据 在“更新数据”选项卡中的操作 例如:利用本地视图“人才档案更新视图”,更新“人才档案”表中,“姓名”字段名下的数据。(3)命令说明: 是指重新排列后的新数据表文件名. 排序规则: 排序关键字,仅能使用当前数据表的字段名,不允许使 用任何类型表达式。字段类型可以是C型、N型、D型、L 型。 如果选择多个字段作为关键字段来进行多重排序,之间 要用英文状态下的逗号“,”分隔。排在最前面的为第

4、一 关键字段,最先排序,第一关键字段值相同,则按第二关 键字段值排序,依此类推。 缺省、For等子句表示对所有的记录排 序,否则对指定、的记录排序。 Fields子句的指定排序的新文件应包含的字 段名。 选项/A和/D分别表示升序或降序,不选择则默认为按升 序排列。选项/C表示不区分字母的大小写。(4)例题: 1对学生档案表数据表中79年以后出生的学生按年龄(降序)排序,当年龄相等时按班级(升序)排序,并要求排序新文件(yub1.DBF)只包含学号、姓名、性别、年龄字段。 USE 学生档案表 SORT TO yub1 ON 年龄/D,班级 FOR YEAR(出生日 期)1979 Fields

5、学号,姓名,性别,年龄 2在学生档案表数据表文件中,产生一个98级学生按班级升序及出生日期降序排序的新数据表文件BJCS.DBF。 USE 学生档案表 sort to bjcs on 班级,出生日期/d for subs(学号,1,2)=98排序文件特点: 排序后的文件是一个新的数据表文件(*.DBF),新的数据表文件是原数据表文件的子表或全表。 排序文件与原数据表文件没有任何直接的联系,可以单独独立使用。也不会影响或改变原数据表的任何内容。6.2 索引1.索引的概念 所谓索引就是按照索引表达式(数据表的某个字段或字段的组合)的值使表中的记录有序排列的一种技术。 索引与排序不同,它不能单独使用

6、,必须同源数据表文件一起使用。 索引文件中只包含两项信息:一是每条记录索引关键字表达式的值,另一项是与其对应的记录号。既在索引文件中只保留索引关键字和记录号信息,并不存在记录的字段数据,因此它不能单独使用,必须同时打开原数据文件,才能使索引文件有效。 在显示记录时,系统是依次按索引文件中的索引关键字查到对应的记录号,根据记录号取出源数据表文件中的记录,达到按关键字值顺序列出表文件记录的效果。2、索引文件类型及索引的种类 索引文件类型 索引文件依其所含有的索引标识(每个索引表达式对应一个索引标识)分为两类:单索引文件和复合索引文件。(1) 单索引文件(*.IDX) 单索引文件仅含一个索引标识,其

7、扩展名为“IDX”,一个数据表文件可以建立多个单索引文件。 单索引文件可以定义为两种类型:压缩的(COMPACT)或非压缩的。压缩的单索引文件是非压缩的单索引文件的六分之一,所以,如果没有兼容问题,一般采用压缩的单索引文件。 (2)复合索引文件(*.CDX) 复合索引文件可以含多个索引标识,其扩展名为“CDX”,每个索引都有一个索引标识。 复合索引文件为减少占用存储空间,其总是以压缩方式存储。 复合索引文件可分为结构的和非结构的两种。 结构化复合索引文件与原数据表文件名相同(后缀为.CDX),一个表只能建立一个结构化复合索引文件,随原数据表文件打开而自动打开; 非结构化复合索引文件应定义复合索

8、引文件名,打开非结构复合索引文件需使用单独命令来打开。索引的种类 根据关键字段值是否重复可将索引分为四种类型:主索引、候选索引、惟一索引、普通索引。主索引:索引表达式的值唯一能够标识每个记录的索引,即索引表达式的值不允许重复。主索引只能在数据库表中建立,一个表只能创建一个主索引。候选索引:索引表达式的值不允许重复、有资格被选做主索引的索引。数据库表和自由表都可以建立侯选索引,一个表可以有多个候选索引。普通索引:是除了上面几种索引之外的一种索引,它允许索引关键字有重复的值,对有相同索引表达式值的记录按原有的先后顺序集中排列在一起。惟一索引:允许索引关键字有重复的值的索引,当有重复值出现时,索引文

9、件只保存重复的第一次值。3.建立索引文件的命令 建立单索引文件: 格式: INDEX ON To FOR Unique ASCENDING Additive Compact说明:ON可用字段名或字段名、函数、常量等组成 的表达式来表示。但整个表达式的各部分的数据类型必须 一致,可以使用转换函数来转换。常用的转换函数有 STR():把一个数值表达式转换为字符表达式;VAL(): 把一个字符表达式转换为数值表达;DTOC():把一个日 期型表达式转换为字符表达式; CTOD():把一个字符表达 式转换为日期型表达式;YEAR(日期表达式):返回日期表 达式中的年份(数值型)。 整个表达式各部分数据

10、的类型必须一致。而且,索引是 按整个表达式的数据值的大小来排序的。TO :定义单索引文件名。记录的顺序默认为升序,也可用“Ascending”表示注意:单索引不能是降序的。 Unique:建立唯一索引。 Additive表示建立该索引文件时并不关闭先前打开的索引文件,不选用该项时则在建立新索引时关闭所有已打开的索引文件。Compact选项用来指定该单索引文件采用压缩方式。例题:例1:将学生档案表.DBF数据表信工系(学号第3位为2) 的学生按学号升序建立压缩的单索引文件xh.idx。 USE 学生档案表 INDEX ON 学号 TO xh FOR SUBS(学号,3,1)=”2” compac

11、t 当索引建立后,新建立的索引文件将自动打开且处于 主索引的位置,记录随即按该索引顺序来排列。例2:将gkcj.DBF按语文和数学成绩建立单索引文件ws.idx及 排序文件ws.dbf. AUSE gkcj INDEX ON 语文+数学 TO ws BUSE gkcj SORT ON 语文,数学 TO ws 例3:对学生档案表.dbf以班级和年龄为索引表达式建立单个索引文件bjnl。 use 学生档案表 index on 班级+str(年龄,2) to bjnl例4:对学生档案表.dbf按班级建立唯一单索引文件。 use 学生档案表 index on 班级 to bj unique 建立结构化

12、复合索引文件格式: INDEX ON TAG FOR Unique ASCENDING|DESCENDING说明:TAG:复合索引文件每个索引都必须有一 个索引标识。记录的顺序默认为升序,也可用“Ascending”表示, 降序用“Descending”。当一个复合索引文件中存在多个索引标识的时候,分别 建立,最新建立的索引标识将自动打开并处于主控索引的位置。建立结构化复合索引文件,必须以独占方式打开数据表.因为,结构化复合索引的标识符要保存到表的结构中去。例题:例: 将学生档案表.dbf按籍贯和高考成绩降序索引,索引标识为jgcj,按学号升序索引,索引标识为xh,建立结构化复合索引文件。 U

13、SE 学生档案表 index on 籍贯+str(高考成绩,5) desc tag jgcj index on 学号 tag xh“表设计器”方式 在“表设计器”中建立的索引是结构化复合索引,其索引的种类可以按关键字的情况和需要选择主索引、候选索引、普通索引、惟一索引的某种,默认的是普通索引。 建立非结构复合索引文件格式:INDEX ON TAG OF FOR Unique ASCENDING|DESCENDING说明:OF:非结构复合索引文件名例题:将学生档案表数据表文件按班级和出生日期(索引标识为BJCSRQ )升序,按性别升序索引(索引标识为XB),建立非结构化复合索引文件xbbj。Us

14、e 学生档案表INDEX ON 班级+dtoc(出生日期) TAG BJRQ OF XBBJINDEX ON 性别 tag xb of xbbj6.3 索引文件的使用一、主控索引文件和主控索引标识的概念 一个表可以建立多个索引文件或多个索引标识。当打开一个数据表时,哪个索引文件或哪个索引标识起作用,必须由用户设置。 由用户设置的那个对当前表起作用的索引文件或索引标识就是主控索引文件或主控索引标识。二、索引文件的打开:命令方式: (1) 打开单索引文件 打开数据表文件的同时打开单索引文件: USE INDEX Additive 打开表文件之后打开单索引文件 Use Set Index To Ad

15、ditive参数说明: Additive表示在打开指定的索引文件时,不关闭原先已经打开的索引文件。 例:在学生档案表.Dbf表中,已经建立了Xh.Idx、Bj.Idx两个索引文件,先后使Xh.Idx、Bj.Idx激活为主控索引文件。 Use 学生档案表 Index Xh Browse Set Index To Bj &激活Bj.Idx为主控索引 Browse Use(2)确定结构化复合索引文件的主控索引 结构化复合索引文件是随着表文件的打开而自动打开。但是,由于一个结构化复合索引文件存在多个索引标识。因此,结构化复合索引文件需要确定哪个索引标识是当前起作用的主控索引。 1)打开表文件的同时确定

16、主控索引标识 Use Order Asce/Desc Additive 2)打开表文件后确定主控索引标识 Use Set Order To Asce/Desc Additive参数说明: Asce/Desc:不管索引文件原来是按升序还是按降序排列,选择了Asce就强制性地将记录按升序排列显示,选择了Desc就强制性地将记录按降序排列显示。但不影响索引文件的原排序方式。缺省时,按建立索引时的排序方式排列。 Additive表示在打开指定的索引文件时,不关闭原先已经打开的索引文件。例:结构化复合索引文件学生档案表.Cdx已建立了Jg(以籍贯为索引关键字)、Jgnl(以籍贯+str(年龄)为索引关键字)、Xh(以学号为索引关键字)三个索引标识。首先,要求将Xh索引标识激活为主控索引标识,并显示其结果。然后,要求将Bjnl索引标识激活为主控索引标识,并显示其结果。 Use 学生档案表 Order Xh Desc Browse &记录按学号降序排列显示 Set Order To jgnl &激活jgnl标识为主控索引 Browse &记录按原排列方式显示,不能修改数据(3)打开非结构化复合索引文

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号