1 / 29

第 6 章 查询与视图

第 6 章 查询与视图. 本章要点. 查询的概念、利用查询设计器建立查询 、 利用查询向导建立查询、查询设计器的局限性、运行查询 视图的定义、视图的分类 、使用本地视图向导创建本地视图、使用视图设计器创建本地视图、创建远程视图、建立远程视图与建立连接、视图与数据更新、如何使用视图. 6.1 查询. 6.1.1 查询设计器. 1 .查询的概念 定义: 查询是指向一个数据库发出的检索信息的请求,它使用一些条件提取特定的记录。实质上就是一个预先定义好的 SOL SELECT 语句,以扩展名为 qpr 的文本文件保存在磁盘上的。

irish
Télécharger la présentation

第 6 章 查询与视图

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 查询与视图

  2. 本章要点 • 查询的概念、利用查询设计器建立查询、利用查询向导建立查询、查询设计器的局限性、运行查询 • 视图的定义、视图的分类 、使用本地视图向导创建本地视图、使用视图设计器创建本地视图、创建远程视图、建立远程视图与建立连接、视图与数据更新、如何使用视图

  3. 6.1 查询

  4. 6.1.1查询设计器 • 1.查询的概念 • 定义: • 查询是指向一个数据库发出的检索信息的请求,它使用一些条件提取特定的记录。实质上就是一个预先定义好的SOL SELECT语句,以扩展名为qpr的文本文件保存在磁盘上的。 • 查询的运行结果是一个基于表和视图的动态的数据集合。

  5. 6.1.2 建立查询 • 1.打开查询设计器建立查询 • 方法: • 打开查询设计器 • 选择字段 • 设置联接 • 设置筛选条件 • 设置排序依据 • 设置分组依据 • 设置输出范围 • 运行查询

  6. 2.利用查询向导建立查询 • 方法: • 打开查询向导 • 字段选取 • 为表建立关系 • 设置筛选条件 • 设置排序记录 • 设置记录的输出范围 • 设置查询的保存方式 • 例如:建立一个含有职工号、供应商号、订购单号和地址信息的查询。

  7. 6.1.3 查询设计器的局限性 • 当建立查询并存盘后将产生一个扩展名为qpr的文本文件。 • 如果熟悉SOL SELECT,则可以直接用各种文本编辑器,通过自己写的SOL SELECT语句建立查询,最后把它保存查询设计器的局限性为扩展名为qpr的文件。 • 查询设计器只能建立一些比较规则的查询,而复杂的查询(嵌套查询)就不行了。

  8. 例如:第五章例26列出每个职工办理的具有最高总金额的订购单信息,SQL SELECT语句如下: • SELECT out.职工号,out.供应商号,out.订购单号,out.订购日期,out.总金额;FROM dgd out WHERE 总金额=; (SELECT MAX(总金额)FROM dgd inner1;WHERE out.职工号= inner1. 职工号) • 上述的查询用查询设计器是设计不出来的,像这种复杂的内外层相相关的嵌套查询不能用查询设计进行修改。

  9. 6.1.4 运行查询 • 1.查询的运行 • 方法: • 打开查询设计器后运行查询 • 打开项目管理器后运行查询 • 通过命令运行查询 • 命令格式: • DO QueryFile • 命令说明: • QueryFile是查询文件名,必须给出查询文件的扩展名.qpr,因为系统默认的是以.prg为扩展名的程序文件。

  10. 2.查询的修改 • 方法: • 打开“文件”菜单,选择“打开”命令,或者在工具栏上单击“打开”按钮,在“打开”对话框中选择要修改的查询文件,单击“确定”按钮,进入查询设计器中修改。 • 在项目管理器中,选择要修改的查询文件,单击右边的“修改”按钮,进行查询设计器中修改。 • 在命令窗口中,输入MODIFY QUERY<查询文件名>

  11. 3.设计查询的输出形式 • 方法: • 选择“查询”菜单下的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮,将打开一个“查询去向”对话框,在其中可以选择一种去向。 • 几种输出去向 • 浏览 • 在浏览窗口中显示查询结果(默认的查询去向)。 • 临时表 • 将查询结果存储在张临时命名的只读表中,临时表被关闭时,表将从内存中删除,因为临时表存放在内存中。

  12. • 将查询结果保存为一个表文件,表文件将永久地保存在磁盘上。 • 图形 • 使查询结果可用于Microsoft Graph应用程序。 • 屏幕 • 在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。 • 报表 • 将查询结果输出到一个报表文件(扩展名为.frx)。 • 标签 • 将查询结果输出到一个标签文件(扩展名为.lbx)。

  13. 6.2 视图

  14. 6.2.1视图的定义 • 1.视图 • 定义: • 视图是一种基于表或其他视图而定制的虚拟表,因此,视图兼有“查询”和“表”的特点。 • 命令建立视图 • 格式: • CREATE VIEW <视图名>[(<列名>[,<列名>]...)] AS <子查询> [WITH CHECK OPTION] • WITH CHECK OPTION表示对视图进行UPDATE、INSERT和DELETE操作时保证更新、插入或删除的行满足视图定义中的条件。

  15. 2.视图中的虚字段 • 定义: • 用一个查询来建立一个视图的SELECT子句可以包含算术表达式或函数,这些表达式或函数与视图的其他字段一样,它们是通过计算得来的,并不存储在表内,所以称为虚字段。 • 3.视图的说明 • 在Visual FoxPro中视图是可以更新的,但是这种更新是否反映在基本表中取决于视图更新属性的设置。

  16. 6.2.2视图的分类 • 1.分类 • 本地视图 • 使用当前数据库中Visual FoxPro表建立的视图是本地视图。 • 远程视图 • 使用当前数据库之外的数据源(如SOL SELECT)中的表建立的视图是远程视图。

  17. 6.2.3 建立视图 • 1.使用本地视图向导创建本地视图 • 方法: • 打开本地视图向导 • 字段选取 • 为表建立关系 • 设置筛选条件 • 设置排序记录 • 设置记录的输出范围 • 设置视图的保存方式

  18. 2.使用视图设计器创建本地视图 • 方法: • 打开视图设计器 • 字段选取 • 设置数据表之间的联接 • 设置筛选条件 • 设置排序依据 • 设置分组依据 • 设置记录的输出范围 • 设置视图的保存方式

  19. 3.创建远程视图 • 远程包括两个方面: • 一是数据源不在本地,需要进行远程连接才能获得需要的数据源表中的信息。 • 二是数据源表不是VFP表或视图,而是其他数据库系统的数据。 • 如何创建 • 只要满足其中一种情况就需要创建远程视图。 • VFP允许将一个或多个远程视图添加到本地视图中,这样在同一视图中就可以同时访问VFP数据和远程ODBC数据源中的数据。

  20. 例如:定义视图xs_xm,生成含有字段学生号和姓名的视图。例如:定义视图xs_xm,生成含有字段学生号和姓名的视图。 • CREATE VIEW xs_xm AS; SELECT 学生号,姓名 FROM XS • 例如:定义视图xs_xh,查询学生号是001号的学生。 • CREATE VIEW xs_xh AS;SELECT 学生号,姓名 FROM XS;WHERE 学生号=001

  21. 4.视图设计器 • 视图设计器和查询设计器相比不同之处 • 查询设计器的结果是以扩展名qpr的文件保存在磁盘中;而视图设计完后,在磁盘中找不到相似的文件,视图的结果保存在数据库中。 • 由于视图是可以用于更新的,所以在视图设计器中多了一个“更新条件”选项卡。 • 与查询设计器相比,视图设计器中没有“查询去向”选项卡。

  22. 6.2.4 远程视图与连接 • 1.定义数据源和连接 • 可以在VFP内部定义数据源和连接。 • 2.建立连接 • 方法: • 使用项目管理器建立连接 • 使用菜单方式建立连接 • 使用命令方式 • CRETE CONNECTION 命令

  23. 3.建立远程视图 • 连接建立好之后就可以建立远程视图了。 • 建立远程视图和建立本地视图的方法基本上是一样的,只是在打开视图设计器时有所不同。 • 建立远程视图时,一般要根据网络上其它计算机或其它数据库中的表建立视图,所以需要首先选择“连接”或“数据源”,然后再进入界面建立远程视图。

  24. 6.2.5 视图与数据更新 • 1.指定可更新的表 • 如果视图不是基于一个表而是基于多个表的,默认可以更新“全部表”的相关字段。 • 如果指定只能更新某个表的数据,则可以通过“表”下拉列表框选择所需的表。 • 2.指定可更新的字段 • 在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”图标和“铅笔”图标,其中“钥匙”图标表示关键字,“铅笔”图标表示更新,通过单击相应列可以改变相关的状态。

  25. 3.检查更新合法性 • “SQL WHERE子句包括”框各选择项的含义 • 关键字段 • 当基本表中的关键字字段被修改时,更新失败。 • 关键字和可更新字段 • 基本表中任何标记为可更新的字段被修改时,更新失败。 • 关键字和已修改字段 • 当在视图中改变的任一字段的值在基本表中已被修改时,更新失败。 • 关键字和时间戳 • 当远程表上记录的时间戳在首次检索之后被修改时,更新失败。

  26. 6.2.6 使用视图 • 1.视图操作 • 使用USE命令在数据库中打开视图或关闭视图。 • 在“浏览器”窗口显示或修改视图中的记录。 • 使用SQL语句对视图进行操作。 • 使用视图在文本框、表格控件、表单或报表中作为数据源等。

  27. 2.使用视图 • 在项目管理器中使用视图 • 通过命令使用视图 • 例如:OPEN DATABASE 订单管理 && 打开订单管理数据库 • USE dgd_gys && 根据dgd表和gys表建立视图 • BROWSE && 浏览视图MODIFY VIEW && 修改当前视图

  28. 3.视图的删除 • 视图由于是从表中派生出来的,所以不需要修改结构,但视图可以删除。 • 删除视图的命令格式为:DROP VIEW view_name

  29. 再见!

More Related