




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 视图与查询 5.1 创建视图创建视图 5.2 查询的输出去向查询的输出去向 5.3 创建查询创建查询 5.4 利用视图更新数据利用视图更新数据 习题习题第五章 视图与查询 在设计数据库时,各个数据表的构造是根据整个数据库系统的需求,按照规范化实际来设计的。整个数据库由很多个表组成,里面的信息非常庞大,但在实践的运用过程中,不同的用户对数据库的认识是不同的,每个用户只关怀本人的运用,也就是说,用户在许多时候,只关怀整个数据库中的一部分信息。那么,如何快速简便的提取出用户需求的信息呢?视图和查询就是为了满足这个需求而设计的。5.1 创建视图 视图,是从一个或多个数据表中选择满足特定需求的数
2、据所生成的“表。它并不是一个真正的表,由于视图中的数据还是存储在原来的数据表中,因此,我们可以把它看做是一个虚拟表。介于这个特点,视图是不能单独存在的,它必需依赖于某一数据库并依赖其中的数据表而存在,只需在翻开与视图相关的数据库时才干创建和运用视图。 视图有4个明显的优点,使得视图成为数据库设计中不可或缺的工具: 1灵敏有效的选取数据 2不添加数据冗余 3运用方便 4更新数据 在VFP中,按照数据的来源,视图分为本地视图和远程视图两种。 5.1.1利用视图设计创建视图 假设要运用视图设计器来创建本地表的视图,首先应创建或者翻开一个数据库,然后在数据库中翻开视图设计器,创建好的视图也只能保管在该
3、数据库中。下面用两个例子阐明创建视图的详细步骤。 【例51】利用视图设计器,根据“学生库数据库,创建一个本地单表视图“班级专业视图,其中包含“学号、“姓名、“班级和“专业字段,要求按“学号字段升序陈列。 留意:由于视图必需依赖于数据库存在,所以在建立视图之前,一定要先翻开数据库设计器,否那么是无法建立视图的。 操作步骤如下: 1翻开数据库文件“学生库.dbc,进入“数据库设计器窗口,如图5-1所示。图5-1 “学生库数据库设计器 2 . 在系统菜单中选择“文件“新建,在“新建对话框中选 择“视图单项选择按钮,单击“新建文件按钮,如图5-2所示。图5-2 “新建对话框 图5-3 “添加表和视图对
4、话框3在“添加表和视图对话框中添加表“学生情况表,如图5-3所示。添加完成后,点击“封锁按钮,进入到“视图设计器,如图5-4所示。 图5-4 “视图设计器 4在“视图设计器的“字段选项卡中,从左边“可用字段栏选取所需求的字段“学生情况表.学号、“学生情况表.姓名、“学生情况表.班级、“学生情况表.专业,点击“添加按钮将其添加到右边的“选定字段中,如图5-5所示。 图5-5 “字段选项卡5在“排序根据选项卡中设置记录的排序根据。选择“学号字段,设置为“升序,如图5-6所示。 图5-6 “排序根据选项卡6按要求设计好后,点击“视图设计器右上角的封锁按钮,保管视图并命名为“班级专业视图,如图5-7和
5、 图5-8所示。 图5-7 “保管确认对话框 图5-8 “保管对话框 7命名完成后,回到“数据库设计器,选中刚刚建立的视图,如图5-9所示。在系统菜单中选择“数据库“阅读。或者双击视图的标题栏,可以查看视图内的记录,如图5-10所示。从图中我们可以看到,视图“班级学生视图中的数据是“学生情况表中的部分数据,并重新进展了排序. 图5-9 “学生库数据库设计器 图5-10 运转结果【例52】利用视图设计器,根据“学生库数据库,创建一个本地多表视图“专业成果视图,其中包含“学号、“姓名、“总分和“专业字段,要求只显示总分大于250的学生的记录,结果按总分从高到低陈列。 留意:由于“学号、“姓名和“专
6、业是在学生情况表中,而“总分是在学生成果表中,所以我们创建的这个视图需求同时用到两张数据表,并且将两张表的记录,按照学号相等的关系对应起来,而挑选总分大于250的记录,并按分数从高到低排序,那么需求用到视图设计器中专门的一些功能选项实现。 操作步骤如下:1翻开数据库文件“学生库.dbc,进入“数据库设计器窗口,选择系统菜单“数据库“新建本地视图选项,如图5-11所示。然后在弹出的“新建本地视图对话框中,选择“新建视图按钮,如图5-12所示 图5-11 “学生库数据库设计器 图5-12 “新建视图对话框 2单击“新建视图按钮后进入“视图设计器窗口,同时弹出“添加表或视图窗口,如图5-13所示。在
7、该窗口把视图所根据的“学生成果表和“学生情况表逐 一添加到视图设计器中。 图5-13“添加表和视图对话框 图5-14 “联接条件对话框3假设在数据库中,添加的多个表间并未设置好关联关系,那么会弹出“联接条件对话框,如图5-14所示。在“联接条件对话框中,有如下4种联接类型:1内部联接:查询结果包含左表与右表中与给出的联接条件相匹配的记录,这是系统默许的联接类型。2左联接:查询结果包含左表与右表中与给出的联接条件相匹配的记录,以及左表中其他的记录,右表中存在而左表中不存在的字段设置为.NULL.。3右联接:查询结果包含左表与右表中与给出的联接条件相匹配的记录,以及右表中其他的记录,左表中存在而右
8、表中不存在的字段设置为.NULL.。4完全联接:查询结果包含左、右两表的全部记录,右表中存在而左表中不存在的字段和左表中存在而右表中不字段的记录均设置为.NULL. 添加好所需求的表并建立好关联后,封锁“添加表或视图窗口,进入“视图设 计器,如图5-15所示。假设在设计过程中需求修正联接条件,可以在视图设计 器的“联接标签中设置,如图5-16所示。 图5-15 视图设计器 图5-16 “联接选项卡 4在“字段标签中选取左边“可用字段中所需求的字段“学生成果表.学号、“学生成果表.总分、“学生情况表.姓名和“学生情况表.专业添加到右边的“选定字段中,留意不同的字段存在于不同的表中。选取时要留意表
9、名,如图5-17所示。 图5-17 “字段选项卡5在“挑选标签中设置对记录过滤的条件。在这里我们设置为“学生成果表.总分=250来表示总分不低于250。假设多个挑选条件,那么依次设置即可,如图5-18和5-19所示 图5-18 “挑选选项卡 图5-19 “挑选选项卡6在“排序根据标签中,从左边的“选顶字段栏中选择“总分字段作为排序条件,并在“排序选项栏中选择“降序,如图5-20所示。 7按要求设计好后,点击“视图设计器右上角的封锁按钮,保管视图并命名为“专业成果视图,如图5-21所示 图5-20 “排序根据选项卡 图5-21 “保管对话框 8命名完成后,回到“数据库设计器,选中刚刚建立的“专业
10、成果视图,如图5-22所示。选择系统菜单“数据库“阅读。或者双击视图的标题栏,可以查看视图内的记录,如图5-23所示。从结果中我们可以看到,视图中的数据是按照学号关联起来的“学生情况表和“学生成果表中的部分数据,并重新进展了排序。 图5-22 “学生库数据库设计器 图5-23 运转结果 5.1.2 利用视图导游创建视图 用导游创建视图是另一种视图创建方法,并且设计出的视图也可以在视图设 计器中进展修正,操作方法将举例阐明。 【例53】利用视图导游,创建例5.2中的视图。 操作步骤如下: 1翻开“学生表数据库,选择系统菜单“数据库的“新建本地视图选项,然后 在弹出的“新建本地视图对话框中,选择“
11、视图导游按钮,如图5-24所示 图5-24“新建视图对话框2在出现的“本地视图导游第一步“步骤1 - 字段选取中设置需求用到的字段,首先,在最左边的“数据库和表选项中选取“学生情况表,将其中的“学号、“姓名、“专业字段添加到“选定字段中,如图5-25所示。然后选中“学生成果表,将其中的“总分字段添加到“选定字段中,如图5-26所示。逐一添加好各表中需求的字段后,点击“下一步按钮。 图5-25 “步骤1 - 字段选取 图5-26 “步骤1 - 字段选取3在出现的“本地视图导游第二步“步骤2 为表建立关系中设置表间的关联关系。由于两张表是用学号相等来联接的,所以在该窗口的两个下拉列表框中分别选取“
12、学生情况表.学号和“学生成果表.学号,而后点击“添加按钮将关系添加到下方,如图5-27和图5-28所示。假设视图运用的表超越两张,那么还要继续添加其他的关联关系。添加完成后点击“下一步按钮。 图5-27 “步骤2 为表建立关系 图5-28 “步骤2 为表建立关系4在出现的“步骤2a - 字段选取中设置多表关联时记录的选择规那么。在这里选择“仅包含匹配的行,表示只需当两张表中都有对应的学号信息时,才将记录显示出来。假设某学号的记录在其中一张数据表中存在而在另一张数据表中不存在,那么该学号的一切信息不在视图内显示。如图5-29所示。选择完成后点击“下一步按钮 图5-29 “步骤2a - 字段选取
13、图5-30 “步骤3 挑选记录 5在出现的“步骤3 挑选记录中设置记录的挑选规那么。在“字段栏中选择“学生成果表.总分、在“操作符栏中选择“大于或等于、在“值栏中输入“250,如图5-30所示。设置好后点击“下一步按钮。6在出现的“步骤4 排序记录中设置视图中记录的排序规那么。从“可用字段中选择“学生成果表.总分为排序字段,并设置为降序。,如图5-31所示。 图5-31 “步骤4 排序记录 图5-32 “步骤4a 限制记录 7在出现的“步骤4a 限制记录中设置视图中记录的显示个数,在这里选择“一切记录后点击“下一步按钮,如图5-32所示。8在出现的“步骤5 完成中设置视图的保管。在这里选择“保
14、管本地视图,然后点击“完成按钮,如图5-33所示。在弹出的“视图名对话框中输入“专业成果视图2后确认,如图5-34所示 图5-33 “步骤5 完成 图5-34 “保管对话框 9导游完成后,可以在“学生库中找到该视图并阅读,如图5-35和图5-36所示 图5-35 “学生库数据库设计器 图5-36 运转结果5.2 利用视图更新数据 视图有一个很重要的特点,就是对数据的更新功能。由于 视图是一张“虚表,视图中的数据都是储存在原始表中, 所以我们就可以经过对视图内数据的修正来完成对原始表的修正。而且,可以设置经过对视图的设置,让用户只对指定的字段有更新权限,从而维护原始数据的平安。在“视图设计器中,
15、可以利用“更新条件选项卡来设置视图中的更新规那么。 下面举例引见用本地视图更新数据表中的数据。 【例54】修正例5 .1中创建的“班级专业视图,使得该视图可以更新其中的“班级信息。 操作步骤如下: 1翻开数据库“学生库,选中例5 .1中创建的“班级专业视图,右键单击标题栏,选择“修正,如图5-37所示。 图5-37 “学生库数据库设计器 图5-38 “更新条件选项卡2翻开“视图设计器后选中“更新条件标签,如图5-38所示。 3在“更新条件标签中设置可更新字段。由于在视图中一切的数据都是来自于原始数据表,所以在设置更新字段之前,首先要设置关键字字段,关键自字段的作用是用来使视图中的修正与表中的原
16、始记录相匹配。只需设置了关键字字段,该字段所在的原始表内的字段才可以被设置为可更新字段。在本例中,从“字段名列表框中选择“学号,单击其左边“图标列显示一个“,这表示将该字段作为视图的关键字字段,如图5-39所示;然后选择“班级,单击其左边的“图标列显示一个“,这表示在视图中该字段是可更新字段,如图5-40所示。 图5-39 设置关键字字段 图5-40 设置可更新字段4假设想使视图中数据的修正可以前往到源表中,还要勾选“发送SQL更新项,如图5-41所示。 图5-41 “更新条件选项卡 图5-42 “保管对话框 5完成后封锁“视图设计器,确认保管修正,如图5-42所示。6保管后阅读视图,选中其中
17、学号为“20052202的记录,修正该记录的“班级字段为“06本1班,并修正“专业字段为“计算机运用技术,然后封锁,如图5-42所示。 图5-42 更新数据 图5-43 运转结果7翻开原始表“学生情况表,找到学号为“20052202的记录,可以看到上一步在视图中对“班级字段的更新曾经完成,而对“专业字段的更新无效,如图5-43所示。 5.3 创建查询 查询的功能和视图类似,也是经过设置一些查询条件,在一定的范围内查找符合条件的数据,以一定的顺序显示和保管查询结果。查询不需求依赖数据库存在,它是以单独的文件方式存在的.QPR,查询数据实践上就是运转查询文件的过程。查询得到的结果,不仅可以用来阅读
18、,还能以多种方式输出。 查询和视图的主要区别是: 1视图必需在数据库中建立,分开数据库就失去了数据来源,脱离数据库的视图是没有意义的;而查询可以脱离数据库以独立的文件方式存在。 2查询的结果可以以多种的方式输出,而视图只能以虚拟表的方式阅读和运用。 3查询只能从数据库中读取数据,不能修正原始数据;而视图可以修正更新数据库。5.3.1 利用查询设计器创建查询 查询设计器的运用方法和视图设计器根本类似,但不需求先翻开数据库,查询所要用到的数据表可以在阅读窗口中添加。下面用举例阐明创建查询的详细步骤。 【例55】利用查询设计器创建一个单表查询“教师职称表,使其能查询出“教师根本情况表里的“编号、“姓
19、名、“职称和“所属部门信息。 操作步骤如下:1在系统菜单下选择“文件“新建,在出现的“新建对话框中选择“查询,然后点击“新建文件按钮,如图5-44所示。 图5-44 “新建对话框 2在弹出的“翻开对话框中阅读到查询所要用到的数据表,如图5-45所示。然后添加到“查询设计器中。假设要添加多张数据表,那么可点击“其他按钮逐一添加,如图5-46所示。添加完成后点击“封锁按钮前往“查询设计器。 图5-45 “翻开对话框 图5-46 “添加表和视图对话框3在“查询设计器中添加好查询所需求的字段。从“可用字段列表中选择“教师编号、“姓名、“职称和“所属部门添加到“选定字段列表中,如图5-47所示。 图5-
20、47 查询设计器“字段选项卡 图5-48 “排序根据选项卡4设置排序规那么。在“排序根据标签中,选择“教师编号为排序条件,并按升序陈列,如图5-48所示。5保管查询。点击“封锁按钮,确认保管查询,如图5-49所示。在“另存为对话框中给查询取名“职称部门查询.qpr后保管,如图5-50所示。 图5-49 “保管确认对话框 图5-50 “另存为对话框6运转查询。在系统菜单项选择择“查询“运转查询,可以查看查询的结果,如图5-51所示。 图5-51 运转结果5.3.2 利用查询导游创建查询 利用查询导游创建查询的方法,和运用视图导游的方法根本一样,下 面简单举例阐明。【例56】用查询导游建立一个多表
21、查询“职工实发工资表,使其包含“教师编号、“姓名、“所属部门和“实发数信息。 操作步骤如下:1在系统菜单下选择“文件“新建,在出现的“新建对话框中选择“查询,然后点击“导游按钮,在弹出的“导游选取对话框中,选择“查询导游,如图5-52所示。图5-52 “查询导游选取对话框 图5-53 “步骤1 字段选取2选取查询所要运用的数据表。在初始形状下,右边的“数据库和表栏是空的。我们需求点击后面的按钮来阅读原始表。如图5-53所示。在出现的“翻开对话框中阅读到查询所要用到的“教师库后确认。3添加好数据库后,从右边的“数据库和表列表框中选择需求的表,然后选择字段组成查询。在这里选择“教师工资表中的“教师
22、编号和“实发数,选择“教师根本信息表中的“姓名和“所属部门,如图5-54 所示。 图5-54 “步骤1 字段选取 图5-55 “另存为对话框4在下一步“步骤2 - 为表建立关系里设置好表间关系为“教师工资表.教师编号=教师根本信息表.教师编号。5在“步骤2a - 字段选取中将记录匹配原那么设置为“紧包含匹配的行。6在“步骤3 - 挑选记录中直接按“下一步。7在“步骤4 排序记录中选择按“教师编号升序陈列。8在“步骤5 - 完成中选择“保管查询后,点击“完成按钮,然后在弹出的“另存为对话框中将查询保管为“职工实发工资表.qpr,如图5-55所示。5.4 查询的输出去向 查询的创建方法和视图根本一
23、样,但是在运用功能方面却有很大的区别。视图的特点在于它可以将修正更新到数据源,而查询的优势那么表达在查询的输出多样性上,下面将举例阐明查询去向的设置方法。【例57】修正例5.6中的查询去向,使其作为图形输出。 操作步骤如下:1翻开上例创建的“职称部门查询.qpr,进入“查询设计器后,选择系统菜单“查询“查询去向选项,如图5-56所示。 图5-56 “查询设计器2在“查询去向对话框中,给出了七种输出格式供用户选择,默以为“阅读,各种去向的含义为:阅读:在“阅读窗口中显示查询结果;暂时表:将查询结果存储在一个用户命名的暂时只读表中;表:把结果存为一个由用户命名的表,封锁查询后,结果依然保管在该表中
24、,如图5-57;图形:把查询的结果可利用Microsoft的图形功能输出;屏幕:在当前输出窗口显示查询结果,还可指定输出到打印机或者文本文件;报表:作为数据源向报表文件发送查询结果;标签:作为数据源向标签文件发送查询结果; 图5-57 “查询去向对话框 该例中我们要求用图形输出,在“查询去向对话框中选择“图形后确认,如图5-58所示。 图5-58 “查询去向对话框图5-59 “步骤2 定义规划3设置好查询去向后,翻开系统“查询菜单,选择“运转查询,进入到“图形导游窗口。在“步骤2定义规划中,需求定义图形的横、纵坐标的数据来源。在这里要留意操作的方法:将可用字段中的“实发数拖动到中间“数据系列列
25、表框中,再把“姓名列拖动到右边的“A坐标轴B中,如图5-59所示。4在下一步“步骤3 - 选择图形款式中,系统给出了许多的图形款式,根据需求选择一个,再按“下一步按钮,如图5-60所示。 图5-60 “步骤3 选择图款式图5-61 “步骤4 完成5在“步骤4 - 完成中输入图形的标题后,可点击“预览窗口查看下结果,确认后点击“完成按钮,如图5-61所示。在弹出的“另存为窗口中保管为“工资图表。6保管终了后进入表单设计界面,如图5-62所示。在这里我们可以看到图形是一个以姓名为横坐标,工资实发数为纵坐标的图表,执行后的效果如图5-63所示。图5-62 表单设计界面 图5-63 运转结果习题5一、
26、选择题1在Visual foxpro中,关于查询和视图的正确描画是 A查询是一个预先定义好的SQL SELECT 语句文件B视图是一个预先定义好的SQL SELECT 语句文件C查询和视图是同一种文件,只是称号不同D查询和视图都是一个存储数据的表2有关查询设计器,以下描画正确的选项是 A“联接选项卡与SQL语句的GROUP BY短语对应B“挑选选项卡与SQL语句的HAVING短语对应C“排序根据选项卡与SQL语句的ORDER BY短语对应D“分组根据选项卡与SQL语句的JOIN ON短语对应3以下关于“视图的描画正确的选项是 A视图保管在工程文件中 B视图保管在数据库文件中 C视图保管在表文件
27、中 D视图保管在查询文件中4视图设计器中含有的、但查询设计器却没有的选项卡是 A挑选 B排序根据 C分组根据 D更新条件5下面关于查询描画正确的选项是 A可以运用CREATE VIEW 翻开查询设计器B运用查询设计器可以生成一切的SQP查询语句C运用查询设计器生成的SQL语句存盘后将存放在扩展名为QPR的文件中D运用DO语句执行查询时,可以不带扩展名6在“添加表和视图窗口,“其他按钮的作用是让用户选择 A数据库表 B数据库 C查询 D不属于当前数据库的表7在Visual FoxPro中,关于视图的正确表达是 A视图与数据库表一样,用来存储数据B视图不能同数据库表进展衔接操作 C在视图上不能进展更新操作D视图是从一个或多个数据库表导出的虚拟表8在Visual foxpro中,以下关于视图的描画错误的选项是 A经过视图可以对表进展查询B经过视图可以对表进展更新C视图就是一个虚表D视图就是一种查询 9下面有关对视图的描画正确的选项是 A可以运用MODIFY STRUCTURE命令修正视图的构造B视图不能删除,否那么影响原来的数据文件C视图是对表的复制产生的D运用对视图进展查询时必需事先翻开该视图所在的数据库 10下面关于视图的表达正确的选项是 A视图是从数据库中派生出来的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025签订采购合同范本
- 银行抵押担保借款合同
- 夫妻财产独立协议书
- 溴氨蓝项目风险评估报告
- 广东省东莞市实验中学2024-2025学年高一下学期3月月考英语试卷(含答案)
- 华南理工大学《新时代中国特色社会主义理论与实践研究》2023-2024学年第二学期期末试卷
- 郑州亚欧交通职业学院《品牌策划与管理》2023-2024学年第二学期期末试卷
- 北京科技大学《艺术经济学(二)》2023-2024学年第二学期期末试卷
- 塑料挤吹中空成型机项目安全评估报告
- 广东省韶关市新丰一中2024-2025学年高三下学期第一次模拟-生物试题试卷含解析
- (课件)文题5【乡情】
- 如何培养严重精神障碍患者的社交技能和人际交往能力
- 护工病房护理培训:针对病房环境中的护理工作的专项培训课件
- 健康生活从个人卫生做起
- 市政工程(道路)课件
- 中小学科普讲座《水与人类生活》公开课教案教学设计课件案例测试练习卷题
- 消化内科病房的医院感染预防与控制
- 【提高酒店服务质量的思考:以S酒店为例4700字(论文)】
- 法院保安服务投标方案
- 变压器铁芯(夹件)接地电流试验
- 财务报表分析实训指导书
评论
0/150
提交评论