第五章 数据库综合操作第 7 章视图与查询
Visual FoxPro提供了视图和查询的功能 。 视图可以从指定的本地表,其他视图,放在服务器上的表以及其他关系数据库管理系统中筛选出满足给定条件的记录,并对记录进行排序和分类汇总 。 查询可以从指定的表或视图中筛选出给定条件的记录,并可以对记录进行排序和分类汇总 。
第五章 数据库综合操作
7.1 创建视图
7.1.1 什么是视图
7.1.2 使用向导创建本地视图
7.1.3 使用视图设计器创建本地视图
7.1.4 创建远程视图
7.1.5 使用 CREATE SQL VIEW命令创建视图
7.2 利用视图访问和更新数据
7.2.1 数据库视图的操作
7.2.2 利用视图更新数据教学内容第五章 数据库综合操作
7.3 创建与使用查询
7.3.1创建查询的过程
7.3.2查询举例
7.3.3运行查询教学内容第五章 数据库综合操作
1,视图视图不是,图,,视图是根据表定义的,是一个定制的虚拟表定义,是观察表中信息的一个窗口 。
2,视图的应用
3,视图分类视图可以分为本地视图和远程视图 。
7.1 创建视图
7.1.1 什么是视图第五章 数据库综合操作
7.1.2 使用向导创建本地视图
7.1.3 使用视图设计器创建本地视图第五章 数据库综合操作
7.1.4 创建远程视图
1,远程视图和远程数据连接所谓远程视图,是通过 ODBC从远程数据源建立的视图。通过使用远程视图,可以直接在远程 ODBC服务器上提取数据,
而不必将所有的记录都下载到自己的本地计算机,然后可以对提取的记录在本地进行加工,并能将对记录的更改返回到远程数据源。
第五章 数据库综合操作
7.1.5 使用 CREATE SQL VIEW命令创建视图
命令格式:
CREATE SQL VIEW [<视图名 > ] [REMOTE]
[CONNECTION <连接名 > [SHARE]
| CONNECTION <数据源名 >]
[AS SQLSELECT 语句 ]
命令功能:创建一个本地或远程视图。
命令说明:
( 1)视图名:指定要创建的视图的名称。若未指定视图名称,
系统将提示用户输入一个名称。
第五章 数据库综合操作
( 2) REMOTE:表示创建的是一个远程视图。
( 3) CONNECTION <连接名 >:指定连接名称,创建视图时建立并使用该连接。 SHARE表示其他视图可以共享使用这个连接。没有此项,Visaul FoxPro将使用一个唯一的连接,该连接不能被共享。
( 4) CONNECTION <数据源名 >:指定连接的数据源的名称。
( 5) AS SQLSELECT 语句:为视图指定条件。
例 7.1 在当前学籍管理系统数据库中用命令创建一个本地视图,
视图名为 STUVIEW,包含 2000年入校的学生的学号、姓名。
CREATE SQL VIEW STUVIEW;
AS SELECT 学号,姓名 ;
FROM 学籍管理系统 !学生表 WHERE val(left(学号,4))=2000
第五章 数据库综合操作
7.2 利用视图访问和更新数据
1.使用视图建立视图后,可以像对表一样操作视图。如使用 USE命令打开和关闭一个视图,在,浏览,窗口中显示视图,将视图作为数据源供表单或表格控件使用等。
2.显示视图结构有时可能不关心视图内容,只想查看视图的结构,可以使用带
NODATE子句的 USE命令来快速显示视图的结构。例如:
OPEN DATABASE 学籍管理系统
USE 学习情况表 NODATE IN 0
BROW
7.2.1 数据库视图的操作第五章 数据库综合操作
3,重新命名视图对视图重新命名可以用 RENAME VIEW命令 。
命令格式,RENAME VIEW <视图 1> TO <视图 2 >
命令功能:重新命名视图 1的名字为视图 2。
命令说明:在重新命名视图之前,必须打开包含此视图的数据库 。
4,删除视图删除视图可以用 DELETE VIEW命令 。
命令格式,DELETE VIEW <视图 >
命令功能:删除所指定的视图 。
第五章 数据库综合操作
5,创建视图索引同表一样,也可以为视图建立索引 。 但与表不同的是,在视图上建立的索引不能永久保存,它们随着视图的关闭而关闭 。
第五章 数据库综合操作
7.2.2 利用视图更新数据
1,视图和表一样,可以直接用 UPPATE,DELETE,INSERT语句进行数据更新,甚至在视图中更新数据比在表中更新数据更方便命令功能 。
2,利用视图对表进行更新,必须遵守以下约束:
( 1) 视图的定义只来自一个表,不能是多个表使用联接操作导出的 。 如果视图是从单表使用选择,投影操作导出的,并且包含了表的主键或某个候选键,这样的视图称为,行列子集视图,,可以执行更新操作 。
( 2) 定义视图的 SELECT语句中不含有 GROUP BY子句,DISTINCT子句 。
( 3) 视图的字段不能来自统计函数,也不能有虚拟字段;
( 4) 一个不允许更新的视图上定义的视图也不允许更新 。
第五章 数据库综合操作
7.3 创建与使用查询
7.3.1创建查询的过程创建查询的过程与创建视图的过程类似,与视图不同的是查询只能显示检索到的记录而不允许修改 。
例 7.2 查询每个学生学习课程的情况,要求输出学生学号,姓名,课程名和成绩 。
第五章 数据库综合操作
7.3.2查询举例
命令格式,DO <查询名,QPR >
命令功能:运行指定的查询 。
或从,查询,菜单中选择,运行查询,项直接运行,查询设计器,中的查询 。
7.3.3运行查询
Visual FoxPro提供了视图和查询的功能 。 视图可以从指定的本地表,其他视图,放在服务器上的表以及其他关系数据库管理系统中筛选出满足给定条件的记录,并对记录进行排序和分类汇总 。 查询可以从指定的表或视图中筛选出给定条件的记录,并可以对记录进行排序和分类汇总 。
第五章 数据库综合操作
7.1 创建视图
7.1.1 什么是视图
7.1.2 使用向导创建本地视图
7.1.3 使用视图设计器创建本地视图
7.1.4 创建远程视图
7.1.5 使用 CREATE SQL VIEW命令创建视图
7.2 利用视图访问和更新数据
7.2.1 数据库视图的操作
7.2.2 利用视图更新数据教学内容第五章 数据库综合操作
7.3 创建与使用查询
7.3.1创建查询的过程
7.3.2查询举例
7.3.3运行查询教学内容第五章 数据库综合操作
1,视图视图不是,图,,视图是根据表定义的,是一个定制的虚拟表定义,是观察表中信息的一个窗口 。
2,视图的应用
3,视图分类视图可以分为本地视图和远程视图 。
7.1 创建视图
7.1.1 什么是视图第五章 数据库综合操作
7.1.2 使用向导创建本地视图
7.1.3 使用视图设计器创建本地视图第五章 数据库综合操作
7.1.4 创建远程视图
1,远程视图和远程数据连接所谓远程视图,是通过 ODBC从远程数据源建立的视图。通过使用远程视图,可以直接在远程 ODBC服务器上提取数据,
而不必将所有的记录都下载到自己的本地计算机,然后可以对提取的记录在本地进行加工,并能将对记录的更改返回到远程数据源。
第五章 数据库综合操作
7.1.5 使用 CREATE SQL VIEW命令创建视图
命令格式:
CREATE SQL VIEW [<视图名 > ] [REMOTE]
[CONNECTION <连接名 > [SHARE]
| CONNECTION <数据源名 >]
[AS SQLSELECT 语句 ]
命令功能:创建一个本地或远程视图。
命令说明:
( 1)视图名:指定要创建的视图的名称。若未指定视图名称,
系统将提示用户输入一个名称。
第五章 数据库综合操作
( 2) REMOTE:表示创建的是一个远程视图。
( 3) CONNECTION <连接名 >:指定连接名称,创建视图时建立并使用该连接。 SHARE表示其他视图可以共享使用这个连接。没有此项,Visaul FoxPro将使用一个唯一的连接,该连接不能被共享。
( 4) CONNECTION <数据源名 >:指定连接的数据源的名称。
( 5) AS SQLSELECT 语句:为视图指定条件。
例 7.1 在当前学籍管理系统数据库中用命令创建一个本地视图,
视图名为 STUVIEW,包含 2000年入校的学生的学号、姓名。
CREATE SQL VIEW STUVIEW;
AS SELECT 学号,姓名 ;
FROM 学籍管理系统 !学生表 WHERE val(left(学号,4))=2000
第五章 数据库综合操作
7.2 利用视图访问和更新数据
1.使用视图建立视图后,可以像对表一样操作视图。如使用 USE命令打开和关闭一个视图,在,浏览,窗口中显示视图,将视图作为数据源供表单或表格控件使用等。
2.显示视图结构有时可能不关心视图内容,只想查看视图的结构,可以使用带
NODATE子句的 USE命令来快速显示视图的结构。例如:
OPEN DATABASE 学籍管理系统
USE 学习情况表 NODATE IN 0
BROW
7.2.1 数据库视图的操作第五章 数据库综合操作
3,重新命名视图对视图重新命名可以用 RENAME VIEW命令 。
命令格式,RENAME VIEW <视图 1> TO <视图 2 >
命令功能:重新命名视图 1的名字为视图 2。
命令说明:在重新命名视图之前,必须打开包含此视图的数据库 。
4,删除视图删除视图可以用 DELETE VIEW命令 。
命令格式,DELETE VIEW <视图 >
命令功能:删除所指定的视图 。
第五章 数据库综合操作
5,创建视图索引同表一样,也可以为视图建立索引 。 但与表不同的是,在视图上建立的索引不能永久保存,它们随着视图的关闭而关闭 。
第五章 数据库综合操作
7.2.2 利用视图更新数据
1,视图和表一样,可以直接用 UPPATE,DELETE,INSERT语句进行数据更新,甚至在视图中更新数据比在表中更新数据更方便命令功能 。
2,利用视图对表进行更新,必须遵守以下约束:
( 1) 视图的定义只来自一个表,不能是多个表使用联接操作导出的 。 如果视图是从单表使用选择,投影操作导出的,并且包含了表的主键或某个候选键,这样的视图称为,行列子集视图,,可以执行更新操作 。
( 2) 定义视图的 SELECT语句中不含有 GROUP BY子句,DISTINCT子句 。
( 3) 视图的字段不能来自统计函数,也不能有虚拟字段;
( 4) 一个不允许更新的视图上定义的视图也不允许更新 。
第五章 数据库综合操作
7.3 创建与使用查询
7.3.1创建查询的过程创建查询的过程与创建视图的过程类似,与视图不同的是查询只能显示检索到的记录而不允许修改 。
例 7.2 查询每个学生学习课程的情况,要求输出学生学号,姓名,课程名和成绩 。
第五章 数据库综合操作
7.3.2查询举例
命令格式,DO <查询名,QPR >
命令功能:运行指定的查询 。
或从,查询,菜单中选择,运行查询,项直接运行,查询设计器,中的查询 。
7.3.3运行查询