1、项目1系统展示项目2项目数据的输入项目3项目数据的查询项目4项目数据的输出项目5系统界面设计项目6应用程序的创建、发布项目3项目数据的查询v任务1一般查询 v任务2使用查询文件 v任务3使用视图 需要查找“学生档案表.dbf”表中所有男生的记录,只要显示学籍号、班级、姓名、性别、政治面貌这几个字段,并按班级升序排列。任务描述项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 图3-1-1 浏览“学生档案表”部分数据窗口 浏览“学生档案表”部分数据窗口与“学生档案表”中的原始数据相比,字段的个数减少了,记录的条数也减少了,且记录的排列次序也发生了改变,相同点是均在浏览窗口中显示。
2、项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 任务分析具体操作步骤:1在浏览窗口浏览“学生档案表.dbf”表中全部数据2打开“工作区属性”对话框3在“数据过滤器”中设置条件4在“索引顺序”下指定记录的排列顺序5在“允许访问”中选定要浏览的字段6再次“浏览”学生档案表.dbf表即可项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 任务实施一、查看表中全部数据方法一:在浏览窗口显示菜单方式 打开表/显示/浏览|编辑 (注:浏览方式一行显示一条记录 编辑方式一行显示一个字段)项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持方法二:在
3、屏幕上显示命令方式在命令窗口输入命令:disp|list 范围 字段列表 for 条件 范围:用以指定记录显示的范围。在Visual FoxPro6.0中共有以下四种范围:ALL表示所有记录 NEXT n表示从当前记录开始往下共n 条记录。RECORD n表示选择记录号为n的记录 REST表示从当前记录开始直到最的一条记录项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持在Visual FoxPro6.0中,一个表最多可存放10亿条记录。为了便于管理,专门提供了一个记录指针。当前记录记录指针指向的记录。打开表时,系统默认:第一条记录即当前记录。当前记录的标记记录左侧有
4、一个黑色三角形。字段列表:指出将要显示的表中的字段,多个字段之间用逗号分隔(注:标点符号只能是英文状态)。for 条件:用于限定将要显示的记录的条数。练习:1查看“专业设置表”中的全部记录(要求分别在浏览窗口和屏幕上查看)。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持二、查看表中部分数据浏览窗口的定制方法一:在浏览窗口显示菜单方式具体操作步骤:(1)打开表,并浏览或编辑,则会出现“表”菜单;(2)在“表”菜单下选择“属性”命令,打开“工作区属性”窗口;(3)在“数据过滤器”中限定记录的条数;(4)在“允许访问”中选择“字段筛选指定的字段”单选按钮,并单击“字段筛
5、选”按钮,在“字段选择器”中选定将要显示的字段。(5)单击“确定”,返回“工作区属性”窗口,再单击“确定”(6)再次浏览学生信息表.dbf,即可在浏览窗口中只显示表中部分数据。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持方法二:在屏幕上显示命令方式 在记录显示命令中,选择范围 和for 条件可选项,则可在记录条数上进行限制;在记录显示命令中,选择字段列表,则可在字段个数上进行限制。若想查看从某条记录开始往下的一部分记录数据,则要先进行表记录的定位。练习:1分别在浏览窗口和屏幕上查看“学生成绩表”中“成绩”在80分以上的数据。2分别在浏览窗口和屏幕上查看“学生档案
6、表”中所有“女”“团员”的学籍号、班级、姓名、政治面貌、性别数据。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持三、表记录的定位 方法1:在浏览窗口单击某记录,注意观察当前记录的标记。方法2:浏览表表/转到记录(第一个、最后一个、下一个、上一个、记录号、定位)表/转到记录定位,可将记录定位到指定范围内满足条件的第一条记录上,也可用如命令来实现:Loca 范围 for 指向满足条件的第一条记录 Locate命令是指针定位命令,不能显示记录,因此用display命令(不带参数)显示找到的当前记录的内容。若想继续查看下一条满足条件的记录,则可用continue 命令,不
7、能再使用locate命令,continue 命令必须与locate命令一起使用才有意义,单独使用continue 命令无意义。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持方法3:命令法 go top指向第一条记录 go bott指向最后一条记录 go 指向指定记录号的记录 skip 记录数 以当前记录为基准,相对移动记录指针。若“记录数”为正,则向文件尾移动 若“记录数”为负,则向文件头移动 recno()测试当前记录号 bof()测试当前表中记录指针是否位于文件头 eof()测试当前表中记录指针是否位于文件尾项目项目3项目数据的查询项目数据的查询任务任务1 一
8、般查询一般查询 技术支持小结:表/转到记录第一个,相当于执行了命令:go top表/转到记录最后一个,相当于执行了命令:go bott表/转到记录上一个,相当于执行了命令:skip-1表/转到记录下一个,相当于执行了命令:skip 1或skip(注:当值为1时,可省略不写)表/转到记录记录号,相当于执行了命令:go 记录号表/转到记录定位,则出现如下图所示“定位记录”窗口。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持其中:“作用范围”共有四种ALL、NEXT、RECORD、REST“Fo
9、r”或“While”是用来指定筛选条件。使用For:表示对指定范围内的所有记录进行筛选;使用While:表示对指定范围内的所有记录进行筛选,一旦遇到第一个不满足条件的记录即停止。“定位记录”窗口 四、表记录的排序一般有两种方法:物理排序和逻辑排序。方法1:物理排序物理排序(排序):对记录按指定字段排序,并重新编号生成一个新的扩展名为.dbf的表文件。注:只能在命令窗口中实现。命令格式:sort to 新表名 on 字段名1/A|/D,字段名2/A|/D 范围 FOR 条件 FIELDS 字段名列表注:由于每一次排序后,都会产生一个与原表文件大小相同,名字不同的表文件,经常这样,会造成数据冗余,
10、占用了系统内存,所以一般用索引来实现。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持方法2:逻辑排序逻辑排序:表打开后,被使用时记录的处理顺序。索引:指按表中某个关键字或关键字段表达式建立记录的逻辑顺序。它是由关键字或表达式的值与对应的记录号组成的一个列表,类似于书本的目录,提供对数据的快速访问。(1)索引的基本概念 1)索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。注意:用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;不同类型字段构成一个表达式时,必须转换成同一种数据类型。2)索引标识(索引名):即索引关键字的名称,必须以下划线、字
11、母或汉字开头,且不超过10个字符。由于索引的排序方式是逻辑排序,因此它的检索速度快,文件占用空间小,所以,一般都使用索引方法进行排序。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持 3)索引关键字的类型:索引关键字是用作排序的字段或表达式,索引表达式的类型决定了不同的索引方式。Visual FoxPro6.0提供了4种不同类型的索引,分别是主索引、候选索引、普通索引、唯一索引。主索引:只有数据库表才能建立主索引,且一个数据库表只能建立一个主索引,其关键字值不允许出现重复值。候选索引:数据库表和自由表都可建立候选索引,且一个表可以建立多个候选索引,其关键字值也不允许
12、出现重复值。普通索引:数据库表和自由表都可建立候选索引,且一个表可以建立多个普通索引,其关键字值允许出现重复值。唯一索引:同普通索引,只是相同关键字值的记录只出现一次。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持(2)索引的作用:项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持用途用途采用索引的类型采用索引的类型排序记录,以便显示、查询、打印普通索引、候选索引、主索引在字段中控制重复值的输入并对记录排序数据库表:使用主索引、候选索引自由表:使用候选引设置关系依据表在关系中所起的作用,使用普通索引、主索引、候选索引(3)索引文件的类型
13、Visual FoxPro6.0中有两类索引文件:单索引文件和复合索引文件。单一索引:扩展名是.idx,一个索引文件只包含一个索引,且只能用命令实现,只允许按升序排列。复合索引:扩展名是.cdx,一个索引文件可包含多个索引标记(tag),每个索引标记对应一种逻辑排序关系。复合索引分为结构化复合索引和非结构化复合索引。结构化复合索引在创建和修改表结构时建立的索引文件 其主名与表文件名同名,并随着表文件打开、修改、关闭。非结构化复合索引用命令单独创建的,它独立于表文件 需要单独打开、修改、关闭,且一般很少使用。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持(4)索引文
14、件的创建 索引只是改变记录的排列顺序,不对记录重新编号,可生成一个单一索引文件.idx或复合索引文件.cdx,复合索引文件中可保存多个索引标识,复合索引文件又分为结构复合索引文件和非结构复合索引文件两种。常用的是在表设计器中创建的结构复合索引文件。1)结构复合索引文件的创建打开表文件打开表设计器单击“索引”选项卡,并输入索引名、索引类型、索引顺序(升序或降序)、在“表达式”框中输入作为排序依据的索引关键字、在“筛选”框中输入筛选表达式单击“确定”项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持注意:备注型字段和通用型字段不能作为索引关键字段;不要建立无用的索引,以免
15、降低系统性能;并及时清理已无用的索引标识,以提高系统效率;在复合索引的多个索引中,某一时刻只有一个索引对表起作用,该索引称为当前索引。2)单一索引文件的创建 可用如下命令来实现:命令格式:index to 单一索引文件名 on 关键字表达式 范围 FOR 条件 命令说明:一般仅能建立升序单一索引文件。(5)索引的修改、删除 1)修改:打开表设计器,选中“索引”选项卡,并在其对话框中进行修改;2)删除:打开表设计器,选中“索引”选项卡,并在其对话框中,选中所要删除的索引,单击“删除”按钮即可。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持(6)索引文件的使用 一个表
16、可以建立多个不同的索引文件,每个索引文件都能确定一种逻辑顺序。索引创建完成后,必须设置为当前索引才能实现对记录的排序,从而实现对记录的有序查看。不同的索引文件,使用起来也有所不同。1)单一索引文件的使用 单一索引文件不会随着表文件的打开而打开,需要通过命令来实现。方法一:在打开表的同时打开索引文件 命令格式:use index 方法二:在打开表之后,再打开索引文件 命令格式:set index to 注:在索引文件名列表中,排在第一个的索引文件自动作为当前索引生效。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持 2)复合索引文件的使用 对于结构复合索引文件而言,打
17、开表的同时就打开了复合结构索引文件,因此不必用命令去打开它,但由于结构复合索引包含多个索引标识,哪个索引起作用必须加以点明,即要将其指定为当前索引,可使用菜单来直观地设置。具体步骤为:打开表,并浏览表;选择“表”菜单下的“属性”命令,打开如下图所示的“工作区属性”窗口;项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 技术支持在“索引顺序”下的列表框中选择所要使用的索引标识或单一索引文件名;单击“确定”。3)索引文件的关闭 单一索引文件的关闭:set index to 复合索引文件的关闭:在“工作区属性”窗口的“索引顺序”下的列表框中选择“无顺序”。项目项目3项目数据的查询项
18、目数据的查询任务任务1 一般查询一般查询 技术支持v分别在浏览窗口和屏幕上查看“学生档案表”第3到第6条(包括第3条和第6条)记录中“女”“团员”的学籍号、班级、姓名、政治面貌、性别数据。v在浏览窗口中查看“学生档案表”中所有“08202”班的学生的学籍号、班级、姓名、政治面貌、出生年月,并按姓名降序排列。v在屏幕上查看“专业设置表”中前三条记录的全部数据。v对“学生成绩表”中成绩在8090之间的记录按“班级”字段建立索引,索引文件名为 bj1,并查看表中全部数据,要求分别用菜单方式和命令方式实现。项目项目3项目数据的查询项目数据的查询任务任务1 一般查询一般查询 拓展实践 需要查找“学生档案
19、表.dbf”表中所有男生的记录,只要显示学籍号、班级、姓名、性别、政治面貌这几个字段,并按班级升序排列,并将查询的结果存放到文件na.qpr中。任务描述项目项目3项目数据的查询项目数据的查询任务任务2 使用查询文件使用查询文件 图3-2-1 查询“学生档案表”部分数据窗口以上窗口中的内容与浏览“学生档案表”部分数据窗口相比,主要是显示的方式不同,一般查询通过浏览操作要浏览满足指定条件的记录或按某种顺序显示记录并不方便,且查询到的结果不能保存;而使用查询文件不仅能解决上述问题,而且还能检索多个关联数据源,进行计算及分组计算,并能以不同的形式输出。项目项目3项目数据的查询项目数据的查询任务分析任务
20、任务2 使用查询文件使用查询文件 具体操作步骤:1利用“查询设计器”新建查询数据源:“学生档案表”2查询设计器窗口中的设置 1)在“字段”选项卡中:选取“学籍号、班级、姓名、性别、政治面貌”这几个字段;2)在“筛选”选项卡中:在“字段名”中选择“学生档案表.性别”,在“实例”中输入“男”;3)在“排序依据”选项卡中:在“选定字段”下找到“学生档案表.班级”,单击“添加”按钮,默认为“升序”;3单击“运行”按钮,显示查询结果,单击“保存”按钮,输入查询文件名:na,再单击“保存”按钮。项目项目3项目数据的查询项目数据的查询任务实施任务任务2 使用查询文件使用查询文件 一、认识查询查询是数据库中最
21、常用的操作,使用非常频繁,它在很大程度上影响着工作效率。Visual FoxPro提供的查询功能,不仅能根据用户给定的筛选条件,从指定的一个或多个表或视图中获取满足条件的记录,还能按特定的方式显示和输出数据记录。项目项目3项目数据的查询项目数据的查询任务任务2 使用查询文件使用查询文件 技术支持二、创建查询 通常有两种方法:利用查询向导创建使用查询设计器创建上述两种方法的基本步骤大致相同:(1)打开所要操作的数据源(表或视图),否则,会自动弹出一个“打开”对话框,要求用户选择要操作的数据库、表或视图(2)进入向导或设计器:1)若选择“查询向导”,则会弹出“向导选取”对话框,如下图所示:项目项目
22、3项目数据的查询项目数据的查询技术支持图左 “向导选取”对话框任务任务2 使用查询文件使用查询文件“查询向导”表示创建一个标准的查询;“交叉表向导”表示用电子数据表的格式显示数据;“图形向导”表示在Microsoft Graph中创建显示Visual FoxPro表数据的图形。选择上述三种之一,单击“确定”按钮,进入查询向导,并按向导提示一步步操作,完成查询文件的创建。2)若使用“新建查询”,则会打开“查询设计器”窗口,同时要求添加查询的数据源。(3)进行查询设置查询设计器分为上下两部分,上部窗格用于显示查询所需的数据源表或视图,下部窗格包括6个选项卡:选取字段、设置联接条件、设置筛选条件、设
23、置查询结果的显示次序、设置分组、杂项设置,用于对查询进行设置。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件(4)运行查询方法一:单击工具栏上的“运行”按钮;方法二:在“项目管理器”中选定具体的查询文件,然后单击“运行”按钮;方法三:在“查询”菜单中选择“运行查询”;方法四:在命令窗口中键入 do(5)保存查询方法一:选择“文件”菜单中的“保存”命令(扩展名.qpr,备份文件.qpx);方法二:单击工具栏上的“保存”按钮。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 三、查询设计器的使用(1)上部窗格添加数据源 方法一:
24、选择“查询”菜单中的“添加表”命令,或在上部窗格空白处右击,从快捷菜单中选择“添加表”命令;出现如下图所示的“添加表或视图”窗口。项目项目3项目数据的查询项目数据的查询技术支持图左 “添加表或视图”窗口 任务任务2 使用查询文件使用查询文件 方法二:选择“查询设计器工具栏”中的“添加表”按钮 在“添加表或视图”窗口中:“数据库”列表:用于选择要使用的数据库;“数据库中的表”:用于从中选择要查询的视图或表;“选定”框:用于从中选择数据源的类型(表或视图,默认为“表”);若要使用不属于数据库中的表,则单击“其他”按钮。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文
25、件(2)下部窗格设置查询 1)字段选取需要包含在查询结果中的字段或表达式。方法一:在“可用字段”中选定字段名,然后单击“添加”按钮;或双击“字段名”。方法二:直接从上部窗格中将字段名拖到“选定字段”框中。“全部添加”用于输出全部字段,或拖动上窗格中的“*”号到“选定字段”框中。注:若想要用某些字段给查询结果进行排序和分组,则一定要确保选取这些字段。“函数和表达式”可以定义计算字段用来统计数据,详细内容参见“分组依据”选项卡。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 2)联接指定多个数据源之间的联接条件,具体见“查询多个表”。3)筛选设置查询条件项目项目
26、3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 图 “筛选”选项卡窗口 字段名:用于从中选择筛选字段;条件:用于选择比较的类型,其比较符共有以下十种:“=”:指定字段值与实例文本值相等;“Like”:主要针对字符类型,表示字段值与实例文本之间不完全匹配;“=”:指定字段值与实例文本的值必须逐字匹配;“”、“=”、“”、“=”:指定字段值与实例文本之间分别是大于、大于等于、小于、小于等于折关系;“Is NULL”:指定字段值值包含MULL值;“Between”:指定字段值介于实例文本中的两个值之间(包括低值和高值),两值之间用逗号分隔;“In”:指定字段值必须是所给多
27、个实例文本中的一个,多个文本间用逗号分隔;项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 否:指定对逻辑值取反;实例:指定比较的示例值;大小写:指定在条件中是否区分实例的大小写;逻辑:用于在进行多个筛选条件比较时,设置各条件之间的逻辑关系(无、.AND.、.OR.),“AND”(与)表示只有所有条件都满足的记录才会被检索到;“OR”(或)表示只要满足其中任一条件的记录都会被检索到;系统默认选项是AND;也可将AND与OR组合起来使用,以满足特定的检索需求。“筛选”中的一行就是一个关系表达式,所有的行构成一个逻辑表达式。“插入”和“移去”按钮:分别用于增加或移
28、去查询条件。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 设置筛选条件时,还应注意以下几点:v备注字段和通用字段不能用于设置查询条件;v若实例是一个逻辑常量,则要用标准写法.t.或.f.v若实例比较值是一个字符串,可不必加定界符,但当字符串与查询的表中的字段名同名时,则要用字界符将字符串卑括起来;v若实例是一个日期型常量,则必须用ctod()函数,如ctod(12/31/1983)项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 4)排序依据指定查询结果中记录的排列顺序 排序方式共有两种:升序和降序,系统默认为升序;在设置
29、排序依据时,可指定多个排序字段,Visual FoxPro会根据“排序条件”中的上下次序来决定查询结果中记录的排列次序,排在最上面的字段为第一排序字段,拖动“排序条件”框中字段左侧的按钮可调整排序的主要次序。5)分组依据指定分组的字段,以便将一组具有相同字段值的记录压缩成一个结果记录,完成基于一组的计算 选定字段时,应注意:一是将作为分组依据的“字段”放入选定字段框;二是“函数和表达式”文本框的使用 项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 图 “表达式生成器”对话框
30、“表达式生成器”对话框:最上面的“表达式”框,用于直接输入或编辑表达式;“函数”:共列出了四种函数,如上图所示,可按照不同的数据类型选择合适的函数;“字段”列表框:列出了当前表或视图中的字段;“变量”列表框:列出了可用的内存变量和系统变量;“来源于表”列出了当前打开的数据源;“检验”按钮:用于验证表达式的合法性;“选项”按钮:弹出“表达式生成器选项”对话框,用于对表达式生成器中的一些函数数量、字段名称等属性进行设置。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 查询中常用到的几个函数:MAX()|MIN():得到表达式中的最大值/最小值。SUM()|AVG
31、():得到给定数值型字段的总和/平均值。COUNT():得到给定的字段值的数量。YEAR():得到日期型表达式中的年份数值,位数为4位。“满足条件”按钮用于对已进行分组汇总的记录(而不是表中的单个记录)设置筛选条件。“满足条件”对话框,设置方法与“筛选”选项卡的设置相同。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 图 “满足条件”对话 6)杂项设置设置一些特殊的查询条件无重复记录:选中,则查询结果中将排除所有相同的记录;否则,将允许重复记录的存在。交叉数据表:将把查询结果以交叉表格式传送给Microsoft Graph、报表或表,只有当“选定字段”刚好为
32、3项时,才可以选择“交叉数据表”复选框,选定的3项代表X轴、Y轴和图形的单元值。全部:则满足查询条件的所有记录都包括在查询结果中,系统默认设置;只有在取消对“全部”复选框的选择的情况下,才可以设置“记录个数”和“百分比”。记录个数:用于指定查询结果中包含多少条记录,当没有选定“百分比”复选框时,“记录个数”微调框中的整数表示只将满足条件的前多少条记录包括到查询结果中。百分比:“记录个数”微调框中的整数表示只将最先满足条件的百分之多少个记录包括到查询结果中。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 四、查询去向的设置 查询结果可输出到不同的目的地,以作不
33、同的用途;系统默认把查询结果显示在浏览器窗口中。方法一:单击“查询设计器工具”中的“查询去向”按钮;或选择“查询”菜单中的“查询去向”命令;方法二:在查询设计器窗口的空白处右击,选择“输出设置”命令,得到如下图所示“查询去向”对话框。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 图 “查询去向”对话框输出去向说明:浏览:将查询结果显示在“浏览”窗口中临时表:将查询结果存储在一张命名的临时表中,但该表关闭后不会保存表:将查询结果保存在一张表中图形:将查询结果用于Microso
34、ft Graph应用程序中制作图表屏幕:将查询结果显示在VFP主窗口或当前活动窗口中报表:将查询结果输出到一个报表文件标签:将查询结果输出到一个标签文件项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 五、查询多个表 多表查询的创建方法同单表查询类似,只是要确定关联数据之间的联接类型。当我们添加第二个数据源时,会得到如下图所示的“联接条件”对话框。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 1)联接类型(共有四种)内部联接:指定两个表中仅满足条件的记录包含在查询结果中,是最常用的类型。系统默认。右联接:指定右侧表中的所有
35、记录,以及左侧表中的且满足联接条件的记录包含有查询结果中。左联接:指定左侧表中的所有记录,以及右侧表中的且满足联接条件的记录包含有查询结果中。完全联接:指定两个表中所有满足和不满足联接条件的记录都包含在结果中。2)设置联接关系:如果数据源之间本来已建立了某种联接,则在添加相关数据时,会自动显示联接;否则,须用户设置联接关系。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 方法一:在“查询设计器”上部窗格中,拖动表中的字段与另一表中的字段来建立联接;方法二:“查询设计器”工具栏中选择“添加联接”按钮,即可打开“联接条件”对话框;方法三:在“查询设计器”的“联接
36、”选项卡中设置联接的类型或条件。联接条件可以是=、Like、=等十种,注意:仅当字段的大小相等、数据类型相同时才能联接。3)删除联接关系:方法一:在“查询设计器”上部窗格中,选中联接线,按“Delete”键;方法二:选中联接线,选择“查询”菜单中的“移去联接条件”;方法三:在“联接”选项卡中,选择联接条件,单击“移去”按钮。项目项目3项目数据的查询项目数据的查询技术支持任务任务2 使用查询文件使用查询文件 v查询“学生成绩表”中前四个成绩较高的记录,查询文件名为cj.qpr。v对“学生成绩表”创建查询,要求按班级分组统计“成绩”的总和及“成绩”的平均分。v以“学生档案表”和“学生成绩表”为数据
37、源,查询所有学生的学籍号、班级、姓名、性别、成绩,并将查询结果保存到表dacj.dbf中。v对上题中的查询,如只想查询所有男生的成绩平均分,该如何操作?项目项目3项目数据的查询项目数据的查询拓展实践任务任务2 使用查询文件使用查询文件 查看“学生档案表.dbf”中相关数据内容,按班级排序,以便按班级对其中男生的姓名、出生年月、政治面貌、家庭住址、联系电话等作适当的修改,并能将修改的结果立即送回源表(学生档案表.dbf)而使源表中的数据也随之更新。任务描述项目项目3项目数据的查询项目数据的查询任务任务3 使用视图使用视图 在“学生档案视图_1”中,列出了“学生档案表”中所有男生的部分数据,并按班
38、级排列,其显示形式与查询浏览窗口相同,只是数据存放的形式不同,执行结果不同。项目项目3项目数据的查询项目数据的查询任务分析任务任务3 使用视图使用视图 具体操作步骤:1利用“视图设计器”新建本地视图 2“视图设计器”中选项卡的设置 1)在“字段”选项卡中,选取相应的字段;2)在“筛选”选项卡中,输入条件;3)在“排序依据”选项卡中,确定排序依据;4)在“更新条件”选项卡中,设置关键字段、可更新字段等。3单击“运行”按钮,显示查询结果,单击“保存”按钮,输入视图名称:学生档案表视图_1,单击“确定”按钮。项目项目3项目数据的查询项目数据的查询任务实施任务任务3 使用视图使用视图 一、认识视图视图
39、是从一个表或多个表或其他视图上导出的表,视图中只存放相应的数据逻辑关系,并不保存表的记录内容。使用视图,不仅可以从数据表中提取一组记录,而且在需要时可以改变记录值,并将更新的结果发送回源表;有的视图,可根据用户输入的检索条件来提取记录;有的视图可用作表单、报表等对象的数据源。视图不能单独存在,只能从属某个数据库,只有在包含视图的数据库打开时,才能使用视图。根据数据的来源不同,视图可以分为本地视图和远程视图。注:如未特别说明,以下所指视图均为本地视图。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 二、创建视图 创建方法同创建查询类似,通常有两种方法:利用查询向导创建
40、 使用查询设计器创建。注:在创建视图之前,必须打开所需要依附的数据库文件。如采用创建一般文件的方法创建:单击“文件新建视图”(而没有事先打开数据库文件),则其中“视图”选项是灰色的,当前无法使用,原因在于创建视图之前没有打开相应的数据库文件。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 三、视图设计器的使用 使用方法同查询设计器,与查询的最大区别是,视图设计器中多了一个“更新条件”选项卡。该选项卡具有设置更新表字段的条件,并将修改结果返回给源表的功能。四、利用视图来更新数据 更新的具体步骤如下:1)选择表 在“表”下拉列表框中选择要修改数据的数据源表,该表的字段会
41、在右边的“字段名”列表框中显示。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 2)确定关键字段 关键字段的作用是保证使视图中的修改与原始记录相匹配。如果没有设置一个字段为关键字,则无法对源表进行更新。具体方法:在选定关键字前单击“钥匙图标”列,出现一个“”即可。也可单击“重置关键字”按钮,可从每个表中选择主关键字字段作为视图的关键字。注意:关键字的设置必须唯一,若有重复值,则必须选取组合关键字来避免重复。3)设置可更新字段 要使修改的值能回到源表中,就要将对应的字段设置为可更新字段。具体方法:在选定的可更新字段前单击“铅笔图标”列,出现一个即可,再次单击,即可取消
42、。单击“全部更新”按钮,可设置除关键字以外的所有字段均为可更新。如果没有一个字段设置为可修改字段,即使在“浏览”窗口中修改了字段的值,也不可能更改源表的数据。注意:由于关键字段是用于表示记录的,所以不要将关键字作为可更新字段。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 4)回存结果 选择“发送SQL更新”复选框,即可将视图中的修改结果回存到源表中。(注:必须先设置一个关键字,否则为灰色,不能用。)5)远程视图中的更新设置 选项卡右边的选项主要用于远程视图的更新设置。设置更新方法:SQL DELETE 然后 INSERT在修改源表时,先删除源表记录,再创建一个新的
43、在视图被修改的记录;SQL UPDATE用视图字段的变化来修改源表中的字段;项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 控制更新冲突的检测:SQL WHERE子句包括栏目,用于多用户访问同一数据时记录的更新方式,一般用于远程视图。“关键字段”按钮:当源表中的关键字段被改变时,则更新操作失败。“关键字段和可更新字段”按钮:当源表中的关键字段或任何被标记为可修改的字段被修改时,则更新操作失败。“关键字段和已修改字段”按钮:当源表中的关键字段或任何被标记为可修改的字段被改变时,则更新操作失败。“关键字段和时间戳”按钮:如果从视图抽取此记录后,远程数据表中此记录的时标被
44、改变时,则更新操作失败。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 6)执行修改操作运行视图:方法一:在项目管理器中运行先在“数据”选项卡中选择需要运行的视图,然后选择“浏览”按钮。方法二:在视图设计器中运行 选择常用工具栏的“运行”按钮或“查询”菜单的“运行查询”命令。因视图不能单独存在,这也是视图与查询的根本区别之因视图不能单独存在,这也是视图与查询的根本区别之一。一。在“浏览”窗口中修改可更新字段的内容即可。打开源表,“浏览”以查看更新的结果。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 五、视图与查询的区别 1)功能不同:视
45、图具有查询的一切功能并且还具有更新数据的功能,同时可回存到数据表中;而查询得到一组只读类型的动态数据,仅供查看,不能回存。这是本质区别。2)归属不同:视图是一个定制的虚拟逻辑表,其中只存放相应的数据逻辑关系,并不保存表的记录内容,所以它不是一个独立文件,它保存在数据库中,不能独立存在;查询文件是一个独立文件,扩展名为QPR,不属于数据库。3)输出去向不同:视图的结果只能在浏览窗口显示,而查询可以选择多种去向,如临时表、报表、图表等。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 五、视图与查询的区别 4)使用方法不同:视图可以作为数据源被引用,而查询不能。5)使用方
46、式不同:视图只有所属的数据库被打开时,才能使用,而查询可以独立打开。6)访问限制不同:视图数据源可以是本地数据源,也可以是远程数据源,而查询不能访问远程数据源。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 六、使用视图有以下几方面的优点:(1)视点集中:视图能使用户把注意力集中在所关心的数据上,使用户看到的数据结构简单而直截了当。(2)简化操作:视图可以把若干张表或视图连接在一起,为用户隐蔽了表与表、表与视图、视图与视图之间的连接操作。(3)多角度:视图可使不同用户从多角度处理同一数据,当许多不同种类用户使用同一个集成数据库时,这种灵活性显然是很重要的。(4)安全
47、性:可针对不同的用户形成不同的视图窗口,使不同的用户了解不同的数据,对数据的安全保密性起到了很大作用。项目项目3项目数据的查询项目数据的查询技术支持任务任务3 使用视图使用视图 v用创建一般文件的方法,即用“文件”菜单下的“新建”命令来创建名为“学生档案视图”的视图,以提取“学生档案表”中“非团员”的部分字段,并按“班级”降序排列。v在项目管理器中创建视图,名为“档案成绩”,要求能查询各班男生的政治面貌和成绩,以便快速更新原表中的数据。v修改上题中的“档案成绩”视图,要求按“班级”排序,且同班学生按女在前男在后的顺序排列。项目项目3项目数据的查询项目数据的查询拓展实践任务任务3 使用视图使用视图