电子教案数据库原理与应用(第3版)a10_第1页
电子教案数据库原理与应用(第3版)a10_第2页
电子教案数据库原理与应用(第3版)a10_第3页
电子教案数据库原理与应用(第3版)a10_第4页
电子教案数据库原理与应用(第3版)a10_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10章 视图与查询 学习要点1、 视图设计器2、 远程视图3、 视图的更新4、 视图的定制和使用5、 查询的创建和运行第10章 视图与查询10.1 创建本地视图10.2 创建远程视图10.3 用视图更新数据10.4 定制和使用视图10.5 创建和运行查询习题及参考答案第10章 视图与查询 在数据库中,除了保存表之外,还可保存视图。视图是引用一个或多个表或其它视图的虚拟表定义。视图分为本地视图和远程视图。本地视图访问的是本地数据库中的表或视图,使用Visual FoxPro SQL语法从视图或表中选择信息;远程视图访问的是远程数据服务器中的表,远程视图使用远程服务器的SQL语法从远程数据源表中

2、选择信息。视图与数据库及表的区别如下: 视图和数据库:视图是数据库的一部分,访问视图前必须先打开所在的数据库。 视图和表:视图是基于一个或多个基表的虚拟表,本身不含数据,其数据是在打开视图时临时从基表中提取的。第10章 视图与查询 Visual FoxPro的查询功能可以检索存储在表和视图中的信息。查询中可以指定检索的字段和检索记录时的筛选条件,也可以根据需要对这些记录排序和分组,查询结果可以有多种输出形式。 查询只是从基表中提取数据,不能对基表中的数据更新;使用视图则既可以从基表中提取数据,又可更新基表中的数据。10.1 创建本地视图 创建本地视图前,须先打开基表所在的数据库。 创建本地视图

3、有以下方法: 使用本地视图向导。 使用视图设计器。 采用命令方式。10.1.1 视图设计器 打开视图设计器可以采用以下方法之一。 在项目管理器中选择一个数据库,选择“本地视图”,并单击“新建”按钮,然后单击“新建视图”按钮。 在数据库打开时,选择“文件”菜单中的“新建”选项,然后选择“视图”并且单击“新建文件”按钮。 在数据库打开时,使用命令Create SQL View或者Modify View。10.1.1 视图设计器图10-1 “添加表或视图”对话框10.1.1 视图设计器图10-2 “视图设计器”窗口10.1.1 视图设计器 单表视图 当在添加表或视图对话框中选择一个表或视图后,就可基

4、于此表创建一个单表视图。 选择字段。使用视图设计器窗口底部的“字段”选项卡,可以选取需要包含在视图中的字段。10.1.1 视图设计器10.1.1 视图设计器10.1.1 视图设计器 设置筛选条件。使用“筛选”选项卡。可以设定视图从基表中检索记录时的筛选条件,从而检索需要的记录集合,而不是全部记录。10.1.1 视图设计器 设置排序依据。经过以上两项设置,此视图能够从基表中检索出满足条件的记录集合。对此结果中的记录,还可进一步进行排序和分组。10.1.1 视图设计器 设置分组依据。 所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可完成基于一组记录的计算。10.1.1 视图设计器 图10-

5、8 “满足条件”对话框10.1.1 视图设计器设置其他项。10.1.1 视图设计器 保存视图。完成以上的设置之后(或设置过程中),要对视图进行保存。单击工具栏中的“保存”按钮或选择“文件”菜单中的“保存”菜单项实现视图保存,视图未命名时系统会提示用户给视图命名。 预览视图。在视图设置过程中,随时可以预览视图的运行结果。选择“查询”菜单中的“运行查询”或单击工具栏中的“运行”按钮,可以看到视图的记录集合,如图10-10所示。10.1.1 视图设计器查看SQL语句。视图是使用SQL语句从基表中提取数据的。 图10-10 视图预览窗口 图10-11 SQL语句显示窗口10.1.1 视图设计器 多表视

6、图 当一个视图需要从多个表或视图中获取数据时,就要创建多表视图。首先要将所用的表或视图添加到视图设计器中。 若“添加表或视图”对话框未打开,则单击“视图设计器”工具栏中的“添加表”按钮。 在“添加表或视图”对话框中,先选择“表”或“视图”选项,再选择需要添加的表或视图,单击“添加”按钮。 创建或修改表之间的联接条件。 单击“添加表或视图”对话框的“关闭”按钮。10.1.2 命令方式创建本地视图 在数据库打开的情况下,直接使用带AS子句的CREATE SQL VIEW命令就可定义本地视图,定义的视图自动加入到打开的数据库中。 例10-1 以命令方式建立单表视图 OPEN DATABASE tea

7、chersj CREATE SQL VIEW teacher1 AS ; SELECT 教师代码,姓名 FROM teacher10.1.2 命令方式创建本地视图 例10-2 以命令方式建立多表视图 OPEN DATABASE teachersj CREATE SQL VIEW tea_sk AS; SELECT teacher.姓名,sk.课程名称 FROM teacher,sk; WHERE teahcer.教师代码=sk.教师代码 例10-3 将一条SQL SELECT语句存入temp_sql变量,用它创建一个新视图。 temp_sql=SELECT * FROM sk WHERE 总学

8、时60 CREATE SQL VIEW temp_view AS & temp_sql 视图建立后,可用DBGETPROP()函数查看其属性,用DBSETPROP()函数设置其属性。10.2 创建远程视图 使用远程视图,无须将所有记录下载到本地计算机上即可提取远程ODBC(Open DataBase Connectivity)服务器上的数据子集,且可以在本地机上操作这些选定的记录,然后把更改或添加的值返回远程数据源中。 ODBC是Microsoft公司的数据库接口标准,应用程序可以通过该接口访问支持此接口标准的数据库。目前,大多数数据库系统都提供对ODBC的支持。10.2 创建远程视图 远程视

9、图有两种连接远程数据源的方法。 直接访问在机器上注册的ODBC数据源。ODBC数据源指采用ODBC标准访问的数据库和访问该数据库所须的信息。例如,一个SQL Server数据库由SQL Server数据库、数据库所在的服务器以及用以访问服务器的网络组成。在操作系统中,控制面板中的ODBC管理器可以用来创建ODBC数据源。 使用命名连接。命名连接指存储在数据库中的一个数据源的定义,可供创建远程视图时按其名称引用。当激活一个远程视图时,此视图的连接成为通向远程数据源的管道。 10.2.1 创建命名连接 如果想为服务器创建定制的连接即命名连接,可以使用连接设计器,创建的连接将作为数据库的一部分保存起

10、来。 打开连接设计器 在“项目管理器”中,从“数据库”列表中选择“连接”,然后单击“新建”按钮,如图10-14所示。10.2.1 创建命名连接图10-14 连接设计器10.2.1 创建命名连接 打开数据库,然后在“命令”窗口中输入CREATE CONNECTION连接名命令。 设置连接选项 指定数据源。 指定显示ODBC登录提示的时刻。 设置数据处理方式。 设置超时间隔。 单击“验证连接”按钮,可对刚输入了内容的连接进行检查。 用“文件”菜单的“保存“选项,对此连接命名保存。10.2.2 创建远程视图 在建立有效的数据源或命名连接后,就可使用项目管理器或以编程方式来创建远程视图。远程视图与本地

11、视图类似,只是在定义它时需要加入连接名称或数据源名称。远程视图的SQL语句使用相应服务器上的语法,而非Visual FoxPro SQL语法。 远程视图设计器 使用远程视图设计器创建远程视图的步骤有以下3步。 在“项目管理器”中选择一个数据库,选择“远程视图”命令,然后单击“新建”按钮;或者在“命令”窗口中键入CREATE SQL VIEW REMOTE命令,则打开“选择连接或数据源”对话框,如图10-15所示。10.2.2 创建远程视图图10-15 “选择连接或数据源”对话框 在“选择连接或数据源”对话框中,选择可用的数据源或命名连接并且单击“确定”按钮。 如果需要的话,提示输入用户标识和口

12、令。 一旦连接成功,将弹出选择远程数据库中表的对话框。选择表后,将显示视图设计器。使用视图设计器创建远程视图与创建本地视图的其他步骤相同。10.2.2 创建远程视图 编程方式创建视图 创建远程视图的命令格式如下: CREATE SQL VIEW REMOTE CONNECTION SHARE CONNECTION AS 10.3 用视图更新数据 本地或远程视图都可用于更新数据。在“视图设计器”中,选择“更新条件”选项卡,如图10-16所示,设置可更新的表和字段,也可控制数据的修改(更新、删除、插入)方式。10.3 用视图更新数据图10-16 “更新条件”选项卡10.3.1 指定更新字段指定可更

13、新表指定关键字段指定可更新字段。设置“发送SQL 更新”选项10.3.2 控制更新冲突 若在一个多用户环境中工作,服务器上的数据可被多个用户同时访问。为使Visual FoxPro能够检查视图操作的数据在更新之前是否被别的用户修改过,必须设置合理的冲突控制方式。 “关键字段”选项:当表中的关键字段被改变时,使更新失败。 “关键字和可更新字段”选项:当源表中任何标记为可更新的字段被改变时,使更新失败。 “关键字和已修改字段”选项:当在本地改变的任一字段在源表中已被改变时,使更新失改。 “关键字和时间戳”选项:当远程表上记录的时间戳在首次检索之后被改变时,使更新失败。10.3.3 控制更新方法 当

14、记录中的关键字更新时,利用“使用更新”区中的选项决定发送到服务器或源表中的更新语句使用什么SQL语句。 “SQL DELETE 然后 INSERT”选项:指定先删除记录,然后使用在视图中输入的新值取代原值(先发送SQL DELETE语句然后发INSERT语句)。 “SQL UPDTAE”选项:指定使用服务器支持的SQL UPDATE语句改变服务器上的记录。10.4 定制和使用视图 10.4.1 控制字段显示和数据输入 因为视图是数据库的一部分,所以可像数据库表中设置字段属性一样,设置视图中字段的属性,例如可以分配标题、输入注释、设置控制数据输入的有效性规则等。 在“视图设计器”的“字段”选项卡

15、中,从“选定字段”列表中选择一个字段,并单击“属性”按钮,则打开“视图字段属性”对话框,如图10-17所示。10.4.1 控制字段显示和数据输入图10-17 “视图字段属性”对话框10.4.1 控制字段显示和数据输入 在“字段有效性”框、“显示”框和“匹配字段到类”框中,所设置的内容与方法同数据库表中字段的定义相同,在此不再重复。 在“数据匹配”框中,设置远程视图中字段的数据类型与源表中数据类型的对应关系。数据类型指定此字段可以包含的数据类型;宽度指定此字段可包含的字符个数;小数位数(对于数值型数据类型)指定此字段可以包括的小数点右侧的小数位数。 在“注释”框中,设置远程视图中字段注释。10.

16、4.2 在视图中添加表达式 在视图中除可以用函数和表达式作为选定字段外,也可以在筛选条件中使用表达式。若要在视图的筛选条件中添加表达式,先在“筛选”选项卡的“字段名”框中选择“表达式”,如图10- 18 所示,再在弹出的“表达式生成器”对话框中创建表达式,然后输入筛选条件中的其他项。 当视图基于远程数据源时,在“表达式生成器”中选用的函数必须是远程服务器所支持的函数。Visual FoxPro不对构造的表达式做语法分析,而是将它们直接发送到远程服务器上。10.4.2 在视图中添加表达式图10-18 筛选条件中的表达式10.4.3 创建参数化视图 参数化视图就是在视图的SQL SELECT语句的

17、筛选条件中加入参数,参数值可在运行时传递,也可通过编程方式传递。使用参数化视图可以避免为每取一部分记录都单独创建一个视图的情况,也可用来限定视图的作用范围。参数化视图仅下载那些符合WHERE子句中筛选条件的记录,其中的筛选条件是根据所提供的参数值建立的。 若要创建参数化视图,首先打开“视图设计器”,然后在“筛选”选项卡中添加新的筛选条件或选择已有的筛选条件,在“实例”框中输入一个以“?”开头的变量名作为参数。图10-19所示创建了一个参数化视图,这个视图将对教师记录进行筛选,只有教师代码与参数值(teaID)相匹配的记录才能在视图中出现。10.4.3 创建参数化视图图10- 19 参数化视图1

18、0.4.4 使用视图 视图建立后,就可用它显示和更新数据。视图的使用类似于数据库表,可以使用USE视图名命令打开一个视图,使用USE命令关闭视图。在Browse窗口中,可以显示视图记录和修改记录。 下面的代码在浏览窗口中显示tea_view视图。 OPEN DATABASE teachersj USE tea_view & 打开视图 BROWSE10.4.4 使用视图 一个视图在使用时,将作为临时表在自己的工作区中打开。如果此视图基于本地表,则在Visual FoxPro的另一个工作区中同时打开基表。视图的基表是指由SELECT-SQL语句访问的表。在前面的示例中,打开视图的同时,teache

19、r表也自动打开。 视图中的数据是在打开时从基表中提取的。打开后,基表中数据的变化不能立即反映到视图中,但可使用REQUERY(nWorkArea | cTableAlias)函数重新提取数据,该函数的参数为视图名或所在的工作区号。 10.4.5 视图的优点 1. 视图提高了数据库应用的灵活性 2. 视图减少了用户对数据库物理结构的依赖 3. 视图可支持网络应用10.5 创建和运行查询 除了直接使用SELECT语句检索数据外,还可创建查询实现数据检索。一个查询就是一个包含SELECT语句的文件。10.5.1 创建查询 创建一个新的查询时,先要打开相应的数据库,然后使用“查询向导”或“查询设计器”

20、创建查询。“查询向导”的使用比较简单,在此不做介绍。下面介绍“查询设计器”的使用方法。 “查询设计器”建立查询的步骤如下: 启动“查询设计器”,添加查询所需要的表或视图。 选择想要出现在查询结果中的字段。 设置筛选条件,筛选所需要的记录。 设置排序或分组选项,组织查询结果。 选择查询结果的输出类型:表、报表、浏览等。 保存查询,从而生成一个查询文件(扩展名为.qpr)。10.5.1 创建查询 启动“查询设计器”有以下三种方法。 在“项目管理器”的“数据”选项卡中选择“查询”菜单命令,并且单击“新建”按钮,然后单击“新建查询”按钮。 从“文件”菜单中选择“新建”菜单命令,在“新建”对话框中选“查

21、询”单选按钮,然后单击“新建文件”按钮。 在“命令”窗口中输入CREATE QUERY 查询名命令。10.5.1 创建查询图10- 22 “查询设计器”窗口10.5.2 运行查询 在完成了查询设计后,可以指定查询结果输出目的地,并可以用“运行”按钮启动该查询的执行,Visual FoxPro执行“查询设计器”产生的SQL SELECT语句,并把输出结果送到指定的目的地。若尚未选定输出目的地,结果将显示在“浏览”窗口中。 运行查询的方法 在“项目管理器”窗口中选定查询的名称,然后单击“运行”按钮。 在“命令”窗口中输入命令:DO 查询名。 在“查询设计器”打开时,单击工具栏中的“运行”按钮。10.5.2 运行查询指定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论