第六章 查询与视图
第六章视图分析
第六章视图1.概述✓视图(View)是从一个或多个表(其他视图)中导出的表,其结构和数据是建立在对表的查询基础之上的。
所以视图不是真实存在的基础表,而是一张虚表。
视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
✓视图一经定义便存储在数据库中,与其相对应的数据并没有像表一样在数据库中另外存储一份,通过视图看到的数据只是存放在基表中的数据。
对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)和删除。
✓当对视图中的数据进行修改时,相应的基表的数据也要发生变化,同时,如果基表的数据发生变化,则这种变化也可以自动地反映到视图中2.视图的特点1.视点集中,减少对象大小视图让用户能够着重于他们所需要的特定数据或所负责的特定要求,如用户可以选择特定行或特定列。
2.从异构源组织数据可以在连接两个或多个表的复杂查询的基础上创建视图,这样可以将单个表显示给用户。
3.隐藏数据的复杂性,简化操作视图向用户隐藏了数据库设计的复杂性,这样如果开发者改变数据库设计,不会影响到用户与数据库交互。
另外,用户可将经常使用的连接查询、嵌套查询或联合查询定义为视图。
4.简化用户权限的管理可以将视图的权限授予用户,而不必将基表中某些列的权限授予用户,这样就简化了用户权限的定义。
3.视图的四种类型✓关系视图:关系视图(relational view)基本上就是经过存储的查询,可以将它的输出看作是一个表。
它就是基于关系数据的存储对象。
✓内嵌视图:又称为嵌套查询,是嵌入到父查询中的查询,能够在任何可以使用表名称的地方使用。
✓对象视图:为了迎合数据库中对象类型而将关系表投射到特定数据类型的虚拟对象表中,视图的每行都是带有属性、方法和唯一标识(OID)的对象实例。
✓物化视图:就是在数据库中查询结果存储在视图中,并支持查询重写、刷新、提交等特性的视图4.视图的创建及管理a)关系视图语法:用户赋予create view的权限查看视图可以通过User_views,All_views,Dba_views来查询视图信息例如:1.创建普通关系视图【可对视图执行DML操作】2.创建只读视图3.创建检查视图4.创建连接视图5.创建复杂视图特点:复杂视图是指包含函数、表达式或分组数据的视图,主要目的是为了简化查询create or replace view view_emp as select count(*) 人数,avg(sal+nvl(comm,0)) 平均工资,deptno 部门编号 from emp groupby deptno;6.创建强制视图特点:正常情况下,如果基表不存在,创建视图就会失败。
第6章 查询与视图
查询与视图
第6章 查询与视图
• 6-1 创建和设计查询 • 6-2 创建本地视图 • 6-3 创建远程视图
• 6-4 小结
6-1 创建和设计查询
6-1-1 利用查询向导设计查询
利用查询向导创建查询操作方法是: (1)打开“文件”菜单,选择“新建” (2)在“新建”窗口,选择“查询”,再按“向 导”, 进入“向导选取”窗口。 (3)在“向导选取”窗口,选择“查询向导”, 再按“确定”按钮,进入“查询向导”步骤窗 口。 (4)逐个选择出现在查询中的字段。 (5)添加数据表间的关联关系。 (6)保存查询。此时,利用查询向导创建查询操 作结束
1.启动查询设计器
(1) 由系统菜单创建查询
文件/新建/查询/新建查询,启动查询设计器。
(2) 由“项目管理器”创建查询
在“项目管理器”中,选择“数据”选项中的 查询,单击“新建”按钮,则出现新建查询的 方式选择对话框。单击“新建查询”按钮,则 打开“查询设计器”对话框。
2. 选择输出字段
3.关联表
6-2 创建本地视图
1. 视图与表很相似,可以在浏览窗口中显示,而且浏览的内容和浏 览表的内容相似——由很多记录组成,
2. 但是,视图与表还有一些不同:
视图中并不保存数据,称它是虚拟表。 当引用中的数据发生改变时,视图中的数据内容也跟着发生相应的变化。 视图并不一定从引用表中取出所有记录,而是可以取其中满足一定筛选
在“查询设计器”中完成的操作如下:
(1)启动查询设计器。添加要从中查询数据的表或视图。 (2)选择输出字段。选择出现在查询结果中的字段,或定义 表达式的别名。 (3)关联表。对于多表查询,需建立表与表之间的关联。 (4)筛选。设置选择记录的筛选条件。 (5)排序查询。设置查询结果中记录的显示顺序。 (6)分组查询。将数据表中某关键字段相同的记录分组生成 一条记录。 (7)查询去向。指定将查询结果输出到什么地方。 (8)运行查询。
Visual FoxPro6.0程序设计教程第六章 查询与视图
1、启动查询设计器 若要使用数据库表,应在启动查询设计器之前先打开数据库
(1)在“项目管理器”中
(2)在“文件”菜单中选择“新建” (3) create query <文件名>
6.1 查询
6.1.2 用查询设计器建立查询
2、查询设计器的组成
字段:SELECT语句要输出的字段; 联接:若要查多个表,则在该项中生成联接表达式,对应与JOIN ON 短语,用于编辑连接条件; 筛选:生成WHERE子句; 排序依据:生成ORDER BY子句;
6.1 查询
6.1.4 查询设计器的局限性
• 注意:查询设计器只能建立一些比较规则的查 询,而复杂的查询它就无能为力了。
6.1 查询
6.1.5 运行查询
查询文件是一个扩展名为 .qpr的独立的文本文件,它不依 赖于数据库而存在。查询文件建立后,就可以运行查询, 以获得查询结果。
6.1 查询
第六章 查询与视图
6.1 查询 6.2 视图
查询和视图是检索和操作数据库的两个基本手段,两者都 是为快速、方便地使用数据库中的数据提供的一种方法 查询和视图都可以从一个或多个相关联的数据库中提取有 用的信息。 查询是根据用户给定的条件,输出符合查询条件的数据的 操作过程。查询可以根据表或视图的定义完成,它可以不 依赖于数据库而独立存在,可以显示但不能更新由查询检 索到的数据。 视图兼有表和查询的特点,也是通过一定的数据源提取符 合条件的数据。与查询不同的是,视图中的数据可以修改 并且可以反映到数据源上。 同时视图不能独立存在,必 须依赖于某一个数据库。
例6.2:在例6.1的基础上为查询增加查询计算表达式:工资*12 作为年工资。
数据库管理系统数据查询与视图
4.1.1 创建查询
1.使用查询向导 使用查询向导可以快速、简捷地建立一个扩展 名为.qpr的查询文件。步骤:
⑴ 单击主菜单“文件”/→“新建”命令或工具栏上的 “新建”按钮→在“新建”对话框中选择“查询”, 单击“向导”→在“向导选取”对话框中选择“查询 向导”,单击“确定”按钮。 ⑵ “步骤1-字段选取”对话框:选取表中字段到选 定字段列表框中,单击“Next”。 ⑶ 如果选定字段只来自一个表或视图,直接进入“步 骤3-筛选记录”;如果选定的字段来自不同的表或 视图 ,则进入“步骤2-为表建立关系” 。
⑷ 在“查询设计器”中设置各选项卡:
“Fields”(字段)选项卡:指定查询所包含的字段或 表达式。 “Join”(联接)选项卡:建立、编辑或修改两个表 之间的连接关系 。 “Filter”(筛选)选项卡:设置记录的筛选条件。 “Order By”(排序依据)选项卡:设置排序字段和 排序方法。 “Group By”(分组依据)选项卡:设置分组字段。 “Miscellaneous”(杂项)选项卡:设置是否有重复 记录等。
4.2.4 参数化视图
参数化视图是一种通用视图,系统提供在运行 视图时传递参数值的功能,从而避免每查询一部分 记录就要单独创建一个视图 。
⑴ 在“视图设计器”的“Filter”(筛选依据)选项卡的 “Example”(实例)文本框中输入“?<参数>”。 ⑵ 对视图参数进一步定义:单击主菜单“视图参数”命 令,在“视图参数”对话框中定义参数名和类型。
2.使用“视图设计器” 打开数据库,用下面方法之一打开“视图设计 器”: 单击主菜单“文件”/“新建”命令,在“新建” 对话框中选择“视图”,单击“新建”按钮。 在“数据库设计器”窗口中,单击鼠标右键,快 捷菜单中选择“新建本地视图”命令,或单击主菜 单“数据库”下拉菜单中 “新建本地视图”命令, 打开“新建本地视图”对话框,单击“新建视图” 按钮。
查询与视图设计知识点
查询与视图设计知识点在数据库管理系统中,查询和视图是两个重要的概念。
查询用于检索数据库中的数据,而视图则是一个虚拟表,基于一个或多个表的查询结果。
本文将介绍查询和视图设计的相关知识点。
一、查询查询是在数据库中检索数据的方式之一,它可以帮助我们从数据库中获取所需的数据。
下面是一些常用的查询语句:1. SELECT语句SELECT语句用于从数据库表中选择数据。
可以使用某些条件过滤结果,也可以选择指定的列进行检索。
例如:```SELECT 列名1, 列名2 FROM 表名 WHERE 条件;```2. WHERE子句WHERE子句用于在查询中添加条件。
可以使用比较运算符(如等于、大于、小于等)和逻辑运算符(如AND、OR)来定义条件。
例如:```SELECT * FROM 表名 WHERE 列名 = 值;```3. ORDER BY子句ORDER BY子句用于对结果进行排序。
可以按照一个或多个列进行升序或降序排序。
例如:```SELECT * FROM 表名 ORDER BY 列名 ASC/DESC;```4. GROUP BY子句GROUP BY子句用于根据指定列对结果进行分组。
通常与聚合函数(如SUM、COUNT等)一起使用。
例如:```SELECT 列名, 聚合函数 FROM 表名 GROUP BY 列名;```二、视图视图是一个虚拟表,它是基于一个或多个表的查询结果。
与表不同,视图并不存储实际的数据,它只是根据查询的结果动态生成。
下面是一些视图设计的知识点:1. 创建视图可以使用CREATE VIEW语句来创建一个视图。
语法如下:```CREATE VIEW 视图名 AS 查询语句;```2. 更新视图视图是基于一个或多个表的查询结果,所以不能直接通过视图来更新数据。
但是可以通过更新基本表中的数据来间接地更新视图中的数据。
3. 可更新视图可以创建可更新的视图,这样就可以直接通过视图来更新数据。
chapt6 查询与视图
② 利用查询设计器建立查询
③ 查询去向的设置
浏览 临时表 表
在“浏览”窗口中显示查询结果,系统默 认 将查询结果保存在临时表中 将查询结果作为表文件保存起来
图形
屏幕 报表
使查询结果可用于Microsoft
Graph
在活动输出窗口中显示查询结果 向报表文件发送查询结果
标签
向标签文件发送查询结果
④ 运行查询
6.1.2 向应用程序中添加查询
• 添加到应用程序中的查询,可以对数据源 进行各种组合,并有效地筛选记录、管理 数据并对结果排序。所有这些工作都可以 通过SELECT查询语句完成。 • 注意:如果没有指定其他输出目标,则结 果以“浏览窗口”显示。
6.2 视图
利用视图也可以实现查询,是一个逻辑查询。前提是 要建立视图,建立好的视图,它像一张表,但是是一张虚 拟的表,表中的数据来自于一个或多个表或视图。视图具 有普通数据表的一般性质,但不能以自由表的形式单独存 在,只能依附于某个数据库中而存在,所以称它为虚表 (或逻辑表)。使用视图既可以直接查询需要的数据,也 可以更新数据。 视图可由本地视图、其他视图、服务器或远程数据源 等来创建。根据视图所处理的数据源所处的位置不同,可 分为本地视图与远程视图。本地视图(只介绍)只处理本 地表或其他本地视图,而远程视图则可处理本地表、本地 视图、服务器或其他远程数据及其他远程视图等。
2.视图与表的比较 ⑴相同点 ①可以作为查询与其他视图的数据源; ②逻辑结构相似,即内容由记录组成,记录由字段组成。 ⑵不同点 ①视图中不保存数据,是虚拟表。它只是取数据源中的某些 字段,按照表之间的一定关系重新加以组合。在浏览视图 时,视图从引用表中取数据,并将它们按照表的格式显示 出来,使其看起来像一张表; ②即使不对视图做任何修改,其内容也可能发生变化。如当 源表中的数据发生变化时,视图显示内容也会发生相应的 变化。而表的内容相对稳定,除非用户对它修改; ③视图中显示的数据可能来自一个表、多个表或其他视图; ④视图可带有参数,而表不能。浏览视图,给定不同参数, 将得到不同的内容; ⑤视图是数据库的一部分,不能单独存在。而表可以不属于 任何一个数据库,即自由表。
数据库应用 VFP 6.0第6章 查询与视图
6.2.2 视图建立、修改、运行
1、视图设计器建立视图 2、向导建立视图 3、命令建立视图 CREAT VIEW <视图名> 4、修改视图 MODIFY VIEW <视图名> 5、运行视图 6、删除视图 DROP | DELETE VIEW <视图名>
小结
查询在数据处理中的应用是普遍的,VFP运用SELECT 语句、查询、视图来完成查询,SELECT语句对于简单到复 杂要求的查询都可以实现,查询与视图实质上也是基于 SELECT语句的查询。查询与视图简单方便,它们很相似, 但也有一定的区别,查询是以文件形式存放于磁盘中,而 视图是存放在数据库中的一个虚表,视图与查询的主要区 别在于视图中数据的修改可以使源表数据改变。
2、用向导建立查询 (1)进入查询向导的方法(3种方法) (2)查询向导的一般步骤
3、用查询设计器建立查询(4种方法)
例 建立查询筛选出读者表中入学成绩超过 500分,并且是女生的记录 (向导和查询设计器两种方式)
6.1.3 查询Байду номын сангаас计器
各个选项卡功能说明 (1)字段:指定查询所需字段,同select (2)联接:设置联接条件,同join...on (3)筛选:设置查询条件,同where (4)排序依据:指定排序方式和依据,同order by (5)分组选项:设置分组,同group by (6)杂项:指定是否要去掉重复记录,同distinct 或指定列在前面的记录,同top n 、top n percent
3、查询去向的设置
6.2 视图查询
6.2.1视图的概念 视图与查询均是从表中获取数据。视图与查
询的区别:视图是一张虚表,数据库中只存放视 图的定义,数据库不存放视图的对应数据,这些 数据仍然存放在表中。而查询是以qpr文件形式存 放在磁盘中。更新视图的数据同时更新表的数据, 这一点与查询是不同的。
《查询和视图》课件
详细解释基本查询语句的 语法和用法,包括 SELECT、FROM和 WHERE子句。
2 条件查询语句
教授如何使用条件查询语 句过滤数据,包括使用比 较运算符和逻辑运算符。
3 多表查询语句
介绍如何在查询中使用多 个表,包括使用JOIN语句 和子查询。
视图的创建和使用
创建视图的语法
提供创建视图的语法和步骤, 讲解如何定义视图的字段和筛 选条件。
使用视图的语法
讲解如何查询和操作已创建的 视图,包括与基本表的关联操 作。
更新视图的语法
介绍如何更新和删除视图中的 数据,包括讲解视图的更新限 制。
ห้องสมุดไป่ตู้
视图的限制
1 视图的只读限制
解释为什么视图通常是只读的,以及如何处 理只读视图中的数据。
2 视图的可更新限制
介绍视图的可更新限制,包括对基本表的影 响和更新操作的限制。
查询优化示例
通过一些具体的查询优化示例, 展示如何提高查询性能和效率。
总结
查询和视图的应用场景
总结查询和视图在实际场景中 的应用,包括数据分析、报表 生成和决策支持。
查询优化的重要性
强调查询优化对于提高系统性 能和用户体验的重要性。
学习更多的查询语句和语 法
鼓励学习更多的查询语句和语 法,以扩展自己的数据库知识 和技能。
查询优化
1
索引的优化
讲解如何使用索引来提高查询性能,包括索引的创建和使用。
2
表的优化
介绍如何优化表结构和数据存储方式,以提高查询效率。
3
查询语句的优化
提供一些常见的查询优化技巧,如避免使用子查询和多重连接。
实例
查询示例
视图示例
展示一些常见的查询示例,说明 如何使用查询语句解决实际问题。
VF06查询和视图
2、用“查询向导”创建查询
(1)打开“查询向导”。 (2)在“向导选取”对话框中选择要使用的向导类型。 (3)单击“确定”按钮,弹出“查询向导”窗口,选 择查询时所用的字段,单击“下一步”按钮。 (4)在“查询向导步骤3-筛选记录”中设置记录筛选 条件,单击“下一步”按钮。 (5)在“查询向导步骤4-排序记录”中设置排序的字 段和排序方式,单击“下一步”按钮。 (6)在“查询向导步骤5-完成”中选择“保存查询”, 单击“完成”按钮,在“另存为”对话框中输入查询 名称,保存查询。
6.2 查询
“查询” 是VFP支持的一种数据库对象,或者说
是VFP为方便检索数据提供的一种工具或方法。
6.2.1 建立查询 在VFP中利用“查询设计器”和“查询向导”可以 方便地设计查询,但它们的基础是SQL SELECT语 句。
1、利用“查询设计器”创建查询
2、用“查询向导”创建查询
1、利用“查询设计器”创建查询
“SQL WHERE 子句包括”框中的各选项的含义如下: (1)关键字段:当基本表中的关键字字段被改变时, 则更新失败。 (2)关键字和可更新字段:当基本表中任何被标记 为可更新的字段被改变时,则更新失败。 (3)关键字和已修改字段:当在视图中改变的任一 字段的值在基本表中已被改变时,则更新失败。 (4)关键字和时间戳:当远程表上记录的时间戳在 首次检索之后被改变时,则更新失败。此项选择 仅当远程表有时间戳列时才有效。
6.3 视图
根据视图中数据来源的不同,视图可以分 为本地视图和远程视图。 创建视图和创建查询的过程相类似,主要 的差别在于视图是可以更新的,而查询是 不可以更新的。如果想从本地或远程表中 提取一组数据,并且想更新这组数据,就 需要使用视图。
第六章 查询与视图
第一章 数据库基础
6.1 查询
分组查询 例:查询每个部门销售的商品的种数。 例:查询每种商品的销售总数。 例:查询每个学生的选课门数。 例:查询每门课程的选课人数。 分组筛选查询 查询销售总量大于40的商品的代码和销售总量。 查询选课门数在两门及以上的学生的学号及其选 课门数。
第一章 数据库基础
第一章 数据库基础
第六章 视图与查询
Contents
1 2
查询 视图
第一章 数据库基础
6.1 查询
6.1.1 查询的概念 查询文件是SQL查询功能的可视化操作结果, 其本质是包含一条SELECT查询语句的文本文件, 因此执行查询文件与在SELE查询语句上敲击回车 是一样的。
查询文件本身不包含数据,因此查询文件必须和相应表 一起使用。
第一章 数据库基础
6.1 查询
投影 例:查询所有部门的信息。 例:查询所有商品的名称和单价。 例:查询有过销售记录的部门的代码 例:查询所有商品的名称、单价及九折价 选择 例:查询价格在3000圆以上的商品的名称和单价
第一章 数据库基础
6.1 查询
例:查询单价大于5000或小于100的商品的信息 例:查询单价在100到500的商品的信息 例:查询单价小于100或大于500的商品的信息 例:查询商品代码为”s1”、”s3”和”s5”的商品的 信息 例:查询不是06年4月15日和8月20日生产的商品 的信息
第一章 数据库础
6.1 查询
多表连接查询 例:查询各部门销售进口商品的名称和数量。 例:查询各部门的销售情况,要求结果包括部门 名称,所售商品名称及相应商品销售总额(单价* 数量)。 例:查询每个部门的销售总额合计
第一章 数据库基础
6.2 视图
查询与视图VFP课件
查询与视图
一 创建查询(打开查询设计器): 创建查询(打开查询设计器) 1.鼠标操作:“文件” →“新建” →“查询” →“新 1.鼠标操作:“文件” 建文件夹” 2. 命令操作: CREATE QUERY 查询文件名
二
介绍“查询设计器”
查询设计器下部分的窗口中有几个选项卡,其含义简介如 下: “字段”:对应于SELECT短语,用来选定包含在查询结果 中的字段 图之间的联接关系; “筛选”:对应于WHERE短语,用于指定查询条件; “排序依据”:对应于ORDER BY短语,用来指定排序的 字段和排序方式;
BY和HAVING短语,用于分组; “杂项”:可以指定是否要重复记录(DISTINCT)以及列在 前面的记录(TOP短语)
“分组依据”:对应于GROUP
三 查询的输出
鼠标操作:“查询” →“查询去向”
四 运行查询(先保存再运行)
鼠标操作: 单击“查询”/“运行查询”,或 “!”按钮 。 单击“查询”/“运行查询”,或 命令操作:Do 命令操作:Do 查询文件名 :查询文件名中一定要给出查询文件的扩展名.qpr :查询文件名中一定要给出查询文件的扩展名.qpr :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 中显示
一
创建视图(打开视图设计器)
鼠标操作:打开 “数据库设计器” “文件”/“新建” “文件”/“新建” “视图” 命令操作:CREATE 命令操作:CREATE VIEW 视图文件名
数据库表,创建视图。
数据库系统及应用第6章 查询与视图
的数据表或视图。
6.2 用向导设计查询案例
案例说明
本案例要求以 stsc.dbc 数据库为数据源,使用查询向导建立一个查询,检索数据库中
入学成绩高于520分的学生的学号、姓名、性别、入学成绩和学院编号,并按入学成绩降序
排列。
6.2 用向导设计查询案例
6.2.1 操作步骤
(1)打开“查询向导” 对话框:执行菜单中【文件】|【新建】命令,或者单击工具 栏上的【新建】按钮,打开“新建”对话框,选择“查询”,然后单击【向导】按钮。接 下来在打开的“向导选取”对话框中选择“查询向导”,再单击【确定】按钮,系统自动 打开“查询向导”对话框。 (2)选择数据库和表:单击“数据库和表”组合框右边的【…】按钮,在“打开”对 话框中选取数据库 stsc.dbc,再单击【确定】按钮,则查询向导将 stsc.dbc 纳入“数据库 和表”组合框,并将该数据库中的表(包括视图)显示在组合框下面的列表框内。 单击选取列表框中的表 student,则在“可用字段”列表框内显示该表的所有字段。 如图6-5所示。
用户还可以打开查询设计器工具栏,使用工具栏上的按钮可以很方便地操作查询设计器许
多常用的功能。表6-2列出了工具栏上按钮的名称及其说明。
选项卡 字段 联结 说明 指定出现在查询结果中的字段或表达式 在对多个表进行查询时,指定表之间的联接条件
筛选
排序依据 分组依据 杂项
指定选择记录的条件
指定排序关键字或表达式 在需要分组统计时,指定分组的关键字段 指定查询结果的记录的其他选择条件
6.1 查询与视图概述
6.1.1 查询
按钮
名称 添加表
说明 显示“添加表或视图”对话框
移去表
从设计器窗口的上窗格中移去选定的表
第六章 查询与视图
EXAM3-23
1. 上部窗格:显示已打开的表。 2. 下部窗格 (1)字段选项卡 (2)联接选项卡
①类型列②字段名列③条件列④否列 ⑤值列 ⑥逻辑列
⑦“插入”按钮 ⑧“移去”按钮
(3)筛选选项卡 (4)排序依据选项卡 (5)分组依据选项卡 (6)杂项选项卡
EXAM3-24
3. 查询菜单的几个命令 (1)运行查询 (2)查看SQL:显示查询操作产生的SELECT-SQL命令(只读) (3)查询去向
输出字段支持: AVG(Select_Item),计算列中数值的平均值。 COUNT(Select_Item),计算列中选定项的数目。计算查询输出的行数。 MIN(Select_Item),确定列中 Select_Item 的最小值。 MAX(Select_Item),确定列中 Select_Item 的最大值。 SUM(Select_Item),计算列中数值的和
C)图形
D)报表
5.在使用命令方式创建联接条件时,“Inner Join”表示( )。
A)内部联接 B)左联接 C)右联接 D)完全联接
6.如果只要显示查询结果中列在前面的5个记录,则在SELECT-
SQL命令中应添加( )参数。
A)NEXT 5 B)RECORD 5
C)SKIP 5 D)TOP 5
添加表或视图:FROM [DatabaseName!]Table [Local_Alias] [, [DatabaseName!]Table [Local_Alias] ...]
如:SELECT * FROM RSGZ
设置输出字段: [Alias.] Select_Item [AS Column_Name] [, [Alias.] Select_Item [AS Column_Name] ...]
第六章 查询与视图
VFP数据库程序设计
6.1
查询
查询的设计过程:
在创建查询时,通常可以遵循以下六个步骤来创建查询。 (1)用“查询向导”或“查询设计器”创建查询。 (2)选择在查询结果中需要的字段。 (3)设置查询记录的条件。 (4)设置排序及分组条件来组织查询结果。 (5)选择查询输出类别,可以是浏览窗口、永久表、临时表、 图表、屏幕及文本文件等。 (6)运行此查询。
VFP数据库程序设计
2.查询设计器工具栏各按钮功能如下:
按钮:添加数据库表。 按钮:移去数据库表。 按钮:添加数据库表间的联接。 按钮:显示SQL窗口。
按钮:最大化上部分窗口。
按钮:确定查询去向。
VFP数据库程序设计
6.1.2
建立查询
不管使用哪种方法打开查询设计器建立查询,都首先进入“添 加表或视图”对话框,从中选择用于建立查询的表或视图,这 时单击要选择的表或视图,然后单击“添加”按钮。如果单击 “其他”按钮还可以选择自由表。当选择完表或视图后,单击
VFP数据库程序设计
选取字段
VFP数据库程序设计
设置联接条件
VFP数据库程序设计
设置排序依据
VFP数据库程序设计
设置 分组 依据
VFP数据库程序设计
6.1.3
运行查询
1. 利用菜单选项运行
在设计查询过程中或保存查询文件后,单击常用工具栏上 的运行按钮或单击“程序”菜单中的“运行”选项,打开 “运行”对话框。选择要运行的查询文件,再单击“运行” 按钮,即可运行文件。 2. 命令方式 在命令窗口中执行运行查询文件的命令,也可运行查询 文件。 命令格式: DO \[路径\] <查询文件名.QPR> 注意:命令中查询文件的扩展名不能省略。
第六章 基本体的三视图
z
o
YW
YH
2.三视图之间的度量对应关系
主视左视高相等且平齐
主视俯视长相等且对正
左
俯视左视宽相等且对应
长对正
高平齐 宽相等
左
三等关系
上 右
下 长对正
后
右
前
3.三视图之间的方位对应关系
• 主视图反映:上、下 、左、右 • 俯视图反映:前、后 、左、右 • 左视图反映:上、下 、前、后
高平齐
上
后
前
下
6.2基本体的形成及其三视图
1 k n
1 k (n)
其俯同底视样面 图采A上用B反平C映面是实上水形取平。点面侧法,棱。在 面SAC为侧垂面,另两个
a b a 1 sn k 来自c a(c) cb
侧棱面为一般位置平面。
b
二、回转体
1.圆柱体
⑴ 圆柱体的组成 由圆柱面和两底面组成。
圆柱面是由直线AA1绕与
它平行的轴线OO1旋转而成。
a
k
⑶个 圆和,面轮三圆它可廓个球 们见线视的 分性的图直 别的投分径是判影别相圆为等球断与三的三曲
⑷个方圆向球轮面廓上线取的投点影。
a
辅助圆法
k
a k
圆的半径?
4.圆环
⑴ 圆环的形成
与轴线在同一 平面内的母线 圆绕轴线(轴线 不通过圆心)旋 转一周所形成 的回转面称为 圆环面,简称 环面 。
⑵ 圆环的三视图 ⑶ 轮廓线的投影与曲面可见性的判断
其可余点见四与个,在侧点平棱面的面上投是取影铅点也垂的面可方,见法它相;们若 的平水同面平。投的影投都影积积聚聚成成直线直,线与,六点 边的形投的边影重也合可。见。
a (b)
vfp的查询和视图
二、视图的创建和使用
视图的概念:把分散在相关表中的数据通过联 接条件把他们收集到一起,构成一张“虚表”。 这张“虚表”就是视图,视图是数据库的一个组 成部分,是基于表的并且可更新的数据集合
视图与查询的区别:视图除了可以用来查询数 据之外,还可以当作表来使用,可以作为数据源, 也可对查询出来的数据进行修改并送回源表中
❖多表查询的创建:步骤 例题 ▪ 若有2张以上的表,在添加时一定要注意先后次 序,“纽带表”要放在两张“父表”之间 ▪ 若已进行了永久性关系的设置,则无须进行联接 ▪ 修改联接条件可在“查询设计器”—“联接”卡 片中进行 ▪ 联接条件和筛选条件类似,都是选出符合条件的 记录;不同的是筛选是将字段值和筛选值进行比 较,而联接条件是将一张表中的字段值与另外一 张表中的字段值进行比较
❖查询时会考到的最难的程度如下例:
查询信息管理系中所有成绩在480分以上,并且各门课程的成
绩不低于70分的学生。要求在查询的结果中包含学号,姓名, 总分,均分,最低分,并按照总分从高到底排列
❖ 一部分查询的练习 1. 查询学生的学号,姓名,系名,总分和平均分, 按照系名升序排序,同一个系的学生按照总分 降序排序。 2. 查询每个系每门课程的总分和平均分,要求输 出课程名,课程代号,系名,每个系的平均成 绩和总成绩,按课程代号升序排序 3. 查询各个系每位教师的课时数,要求输出系名, 工号,姓名,课时数,并按系名升序排序,同 一个系的教师按照工号升序排序 4. 查询计算机科学系各位教师的课时数,要求输 出工号,姓名,系名,课时数,并按工号降序 排序,并且将查询信息保存为表,表名为:
第六章查询与视图
1.视图是操作表的一种手段,通过视图可以查询表,也可以更新表,所以利用视图可以修改数据;而查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,所以查询不能修改数据,而查询可以定义输出去向;很明显,查询和视图具有不同的作用。
2.查询是预先定义好的一个SQL SELECT语句,在不同的场合可以直接或反复使用,从而提高效率。
查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。
从普通检索数据的角度来讲,查询和视图基本具有相同的作用。
但是查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据,而利用视图可以修改数据。
3.在磁盘上,查询是一个以扩展名为.qpr独立保存的文本文件,4. 在visual foxpro中可以通过SQL的CREATE命令新建文件,CREATE FORM命令用于新建一个表单,CREA TE QUERY命令可新建一个查询,CREATE VIEW命令用于新建一个视图,视图不是一个独立的文件5.视图是一个虚拟表。
所谓虚拟,是因为视图的数据是从已有的数据库表或其他视图中抽象得来的,这些数据在数据库中并不实际存储,仅在其数据字典中存储视图的定义。
但视图一经定义,就成为数据库的组成部分,可以像数据库表一样接受用户的查询。
6.视图是操作表的一种手段,通过视图可以查询表,也可以更新表。
视图是根据表定义的,因此视图基于表。
视图是数据库的一个特有功能,只有在包含视图的数据库打开时,才能使用视图。
在自由表中可以建立视图。
7.在Visual FoxPro中,视图是一个定制的虚拟表,它始终不曾真正地含有数据,它总是原来表的一个窗口;视图的结果保存在数据库中,在磁盘上找不到类似的文件。
8.视图文件的扩展名是.VUX9.DO用于运行命令程序。
可用USE命令打开视图和关闭视图。
BROWSE可以显示视图数据。
第6章 视图与查询
(3)可支持网络应用。
创建远程视图后,用户可直接访问网络上远程数据库 中的数据。
返回
6.2 查询
• 查询就是根据用户给定的条件,从指定的一个表或 多个相关联的表中获取数据的一个操作过程。 • 查询是一种相对独立且功能强大、结果多样的数据 库资源; • 利用查询可以实现对数据库中数据的浏览、筛选、 排序、检索、统计及加工等操作; • 利用查询可以为其他数据库提供新的数据表,可以 从单个表中提取有用的数据,也可以从多个表中提 取综合信息。
Visual FoxPro数据库技术及应用
第6章
视图与查询
第6章 视图与查询
6.1 视图的建立、查看与修改
6.2 查询的建立、执行与修改 6.3 查询与视图的异同
返回
6.1 视图的建立、查看与修改
6.1.1 视图的概念:
– 视图犹如一个数据观察窗口,是从一个或多个数 据表中导出的“表”。(包括数据库表和自由表, 也可以取自其它视图)。 – 视图与数据表不同的是,视图中的数据还是存储 在原来的数据表中,因此可以把视图看作是一个 “虚表”。 – 视图是不能单独存在的,它依赖于某一数据库数 据表而存在,只有打开与视图相关的数据库才能 创建和使用视图。
• 1) 用USE命令打开或关闭视图; • 2)用BROW命令浏览视图。 例如: open data stu1 use WW brow 返回
6.1 视图的建立、查看与修改
2)视图的改名
格式: RENAME VIEW <原视图名> TO <新视图名>
3)视图的删除
格式:
DELETE VIEW <视图名> (只有在当前数据库中)
返回
多表视图:课程平均成绩2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单查询
2.CONTINUE
说明:CONTINUE命令按LOCATE命令给定的 范围和条件继续查找,若查找到返回记录号并 将指针定位在该记录,此时EOF( )为.F., FOUND( )为.T.。CONTINUE命令可以连续 使用多次。
3.FIND〈常量〉
功能:将记录指针定位于索引关键字表达式
值与给定常量匹配的第一个记录上。
DESTINATION可以是下列子句之一: (1)独立的表:INTO TABLE 表名 (2)临时表:INTO CURSOR 临时表名
(3)数组:INTO ARRAY 数组名 (4)活动窗口:TO SCREEN (5)浏览窗口:如没有指定其他目标,则它是 默认值。
(4)WHERE <条件表达式>
“分类汇总”单选框中提供四种汇总选项:
数据求和:对表中每行数据求和。
包含数据的单元格数目:统计每行有多少单元
格中有数据。
占整个表总计的百分比:计算每行数据的总和,
占整个表数据总和的百分比。
无:不进行统计,不出现统计列。
§6.1.3利用SQL语句建立查询文件 SQL ( Structured Query Language ) 是结 构化查询语言,它可以嵌入到其它高级语 言的程序中。
创建表之间联接
两个表所建的联接有四种联接类型可供选 择:
内部联接:查询结果中只有两个表中都满足联
接条件的记录,为默认联接类型。
左联接:联接条件左边表(父表)的所有记
录和联接条件右边表(子表)满足联接条件的 记录。
创建表之间联接
右联接:联接条件右边表(子表)的所有记录
和联接条件左边表(父表)满足联接条件的记 录。
利用查询设计器建立查询文件
4)图形:将查询结果输出为图形文件显示。 5)屏幕:将查询结果输出在屏幕,并可输 出到文本文件及打印机。 6)报表:将查询结果输出到报表文件中。 7)标签:将查询结果输出到标签文件中。 (9)运行查询 (10)保存查询文件
查询文件的扩展名为.QPR。
运行查询
二、执行查询
SQL的主要功能就是对数据表和视图的查 询,特别是对于多个数据表或视图之间的 数据查询。这是通过一条SELECT查询语 句来完成。
一个查询文件中就是包含一条 SELECT语句,它也可以放到程序中。
1.LOCATE查询 格式:LOCATE[范围]FOR|WHILE〈条件 表达式〉 功能:在当前表中查找给定范围内满足条件的 第一条记录上。
(3)[INTO DESTINATION/TO FILE FILENAME[ADDITIVE]/TO PRINTER/TO SCREEN]指定在何处保 存查询结果。如在同一查询中同时包括 了INTO和TO 子句,则TO 子句不起作用。 如没有该项,则系统默认的将结果显示 在浏览窗口中。 ADDITIVE使查询结果追加到指定文件 的内容后面。
利用查询设计器建立查询文件
2 在启动[查询设计器]后,按如下步骤建立 查询文件: (1)选择查询数据源。 数据源可以是数据表或视图。 (2)选择字段。 用来选定在查询文件中输出显示的字 段。
利用查询设计器建立查询文件
(3)询涉及到多个表或视图数据的联接关系,
可以在[联接]选项页中设置。
完全联接:两个表的所有记录、不论是否满足
联接条件。
创建多数据表查询
多数据表查询举例 对数据表 STUDENT.DBF(学生档案)有学号、 姓名、性别等字段;GKCJ.DBF(各科成绩): 学号、英语、计算机;XXCJ.DBF(选修成绩): 学号、课程、成绩。 查询每个学生的各科成绩及选修课成绩。 输出字段选择:XSDA.学号;XSDA.姓名; XSDA.性别;GKCJ.英语;GKCJ.计算机; XXCJ.课程;XXCJ.成绩。
Visual FoxPro
第六章 数据查询与视图
§6.1.1 利用查询设计器建立查询文件 一、建立查询文件 1 启动查询设计器
§6.1 数据查询
启动查询设计器可以采用下面几种方式:
(1)在系统[文件]菜单中选择[新建]命令。 (2)在[项目管理器]中建立。 (3)用命令 CREATE QUERY <查询文件名>
(6)对查询结果进行分组
对于查询结果可以按指定字段依次对它们进行 分组操作。分组操作就是将同类的记录合并、汇 集到一个记录中(同类最后一条记录),进行如 SUM(求和)、COUNT(统计记录数)、AVG (求平均值)等操作。
例:对RSDA.DBF人事档案数据表,分别
查询男、女及结婚、未婚的基本工资合计。
例:SELECT Rsda.编号,Rsda.性别, Rsda.婚否,Rsda.基本工资,SUM(Rsda.基 本工资) AS “工资合计” FROM 人事管 理!rsda GROUP BY Rsda.性别,Rsda. 婚否 HAVING Rsda.基本工资>=500
确定交叉表查询中所需的字段。
(2)设置交叉表布局
将“可用字段”中的字段分别拖至交叉 表的[行]、[列]、[数据]框中。
(3)为交叉表添加分类汇总列 确定是否需要为交叉表添加分类汇总列, 选择每行所需的总计类型。汇总结果在交 叉表查询输出的最后一列显示。
建立交叉表格查询文件
其中“总结”单选框中为统计类型,有求 和、计数、平均值、最大值和最小值五种。
3)利用[文件]菜单中新建命令启动查询向 导
2.利用查询向导设计查询文件
利用查询向导建立查询文件
3.交叉表格向导
设计交叉表的数据源一般应具有两个字
符字段,作为交叉表的行、列标题;
另有一个数值字段。作为交叉表的数
据或进行某种运算的数据源(也允许
为其它类型的字段)。
建立交叉表格查询文件
(1)选择字段
(4)确定查询条件
查询的记录往往是满足一定条件的记录,这是通
过设定查询的筛选条件来实现。
例:Rsda.基本工资
>=
=
800
AND
Rsda.性别
“男”
利用查询设计器建立查询文件
(5)确定排序方式
对于查询结果可以将记录按一定顺序排列。 如果不设置筛选条件,在此可完成对数据表所有 记录的排序,并可将结果输出到另一表中。
(1)在[查询设计器]中,选择系统[查询]菜单的
[运行查询]命令,或右键快捷菜单的[运行查询]命
令。
(2)打开某项目在[项目管理器]中,选择某数
据库并将其展开,选择该数据库的某查询,再选 择[运行]按钮。
(3)命令方式或程序方式
DO 查询文件名.QPR
三、修改查询文件
在[项目管理器]中选择查询文件,再单
在“部分类型”中可选择,是按“所占记录百
分比”选择“数量”,还是按“记录号”选择
“数量”。
在“数量”单选框中,有“所有记录”和“部
分值”的选择,在选择“部分值”后可以给出
数量。
利用查询设计器建立查询文件
(8)设置查询结果的输出方式
查询结果可以输出到报表、标签、图形、
表及临时表等文件。 1)浏览:结果显示在浏览窗口。默认的输 出格式。 2)临时表:查询结果存储在暂时的只读表 文件中。 3) 表 :查询结果存储在一个表文件中,还 可以将表添加到数据库中成为数据表。
[INTO DESTINATION/TO FILE FILENAME[ADDITIVE]/TO PRINTER/TO SCREEN] [WHERE <条件表达式>[AND/OR <条 件表达式>]]; [GROUP BY <字段1> [,<字2>,…] [HAVING <条件表达式>] [ORDER BY <字段1> [ASCE|DESC] [,<字段2> [ASC|DESC]…]
子数据表格式显示。
(3)图形向导:在Microsoft Graph中
创建VFP表中数据的图形。
利用查询向导建立查询文件
2)利用系统[工具]菜单启动查询向导
这里除了前面的三种向导外又增加了两种向 导:
(1)本地视图向导:用本地数据创建视图。 (2)远程视图向导:用远程数据创建视图。
这实际是两个视图向导。
短语定义筛选条件。
例: SELECT * FROM 人事管理!rsda
WHERE Rsda.基本工资>=800 AND
Rsda.性别=”男”
(5)用GROUP BY子句定义查询分组。
按指定字段进行分组、汇总。HAVING子句在 BROUP BY 后使用。指定包含在查询结果中 的组必须满足的条件。
4.SEEK〈表达式〉 功能:在索引文件的关键字表达式值中查找 与给定的〈表达式〉值相匹配的第一条记 录。
利用SQL查询语句建立查询文件
1.SELECT语句的基本格式 SELECT [ALL/DISTINCT][TOP N[PERCENT]][表名.] 字段名1 [AS 标 题] ; [表名.字段名2 AS 标题……] ; FROM [数据库名!] 表名 [,[数据库名!] 表名…]
说明: (1) SELECT [表名.] 字段名1 [AS 标题] [表名.字段名2 AS 标题……] 表示查询输出的字段名。当有同名字段时, 加上表名来区分。如果输出某表的所有字段 可用 * 表示这些字段。 “标题”是代替字段名作为显示的列名输出。 例:SELECT Rsda.编号,Rsda.姓名, Rsda.性别 ,Rsda.职务工资+Rsda.奖励 工资 AS 应发合计 FROM 人事管理!rsda
[,[数据库名!] 表名…]
FROM:表示数据源,如果不是当前打开的 数据库中的表,则在表名前以 <数据库名>! 的格式表示。