零售商店数据库应用系统GrocerMIS实例分析 .pptx
《零售商店数据库应用系统GrocerMIS实例分析 .pptx》由会员分享,可在线阅读,更多相关《零售商店数据库应用系统GrocerMIS实例分析 .pptx(136页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、查询是关系数据库中的一个重要概念,查询对象不是数据的集合,而是操作的集合。查询的运行结果是一个动态数据集合,尽管从查询的运行视图上看到的数据集合形式与从数据表视图上看到的数据集合形式完全一样,尽管在数据表视图中所能进行的各种操作也几乎都能在查询的运行视图中完成,但无论它们在形式上是多么的相似,其实质是完全不同的。可以这样来理解,数据表是数据源之所在,而查询是针对数据源的操作命令,相当于程序。第1页/共136页在数据库应用系统中,这样一些需求总是存在的:某个任务要求筛选出一个数据表对象中那些满足某种特定条件的数据,这需要为之建立一个选择查询对象;查阅一批数据时,要求看到相关的计算值,这需要为选择
2、查询对象设置计算字段;要求奖若干个数据表中的数据按照设定的关联合并成为一个查询数据集合,这需要建立源于多个数据表对象的查询对象;要求获得数据表中某些数据的分类汇总计算结果,这需要建立具有汇总字段的查询对象;要求获得数据表转置后的分类统计结果,这需要建立一个交叉表查询对象;等等。第2页/共136页满足这样一些需求,正是Access 2003查询对象的功能所在。利用查询对象可以通过不同的方法来查看、更改以及分析数据。也可以将查询对象作为窗体和报表的记录源。因此可以说,Access 2003的查询对象是Access 2003数据库应用系统一个不可或缺的组成部分。在Access 2003中,查询的实现
3、可以通过两种方式进行,一种是在数据库中建立查询对象,另一种是在VBA程序代码或模块中使用结构化查询语言(SQLStructured Query Language)。本章介绍Access 2003查询对象的基本概念、操作方法和应用方式,讲解SQL的基本知识,并分析Access 2003查询对象与SQL的关系。第3页/共136页4.1 查询对象设计基础应用Access 2003的查询对象是实现关系数据库查询操作的主要方法,借助于Access 2003为查询对象提供的可视化工具,不仅可以很方便地进行Access 2003查询对象的创建、修改和运行,而且可以使用这个工具生成合适的SQL语句,直接将其粘
4、贴到需要该语句的程序代码或模块中。这将非常有效地减轻编程工作量,也可以完全避免在程序中编写SQL语句时很容易产生的各种错误。一个Access查询对象实质上是一条SQL语句,而Access提供的查询设计视图实质上是为我们提供了一个编写相应SQL语句的可视化工具。在Access提供的查询设计视图上,通过直观的操作,可以迅速地建立所需要的Access查询对象,也就是编写一条SQL语句,从而增加了设计的便利性、减少了编写SQL语句过程中可能出现的错误。第4页/共136页由查询生成的动态数据集合可以用于六种不同的目的,根据其应用目标的不同,可以将Access 2003的查询对象分为六种不同的基本类型。1
5、选择查询选择查询是从多个数据表中筛选数据形成的查询对象,其中可以包含计算字段、分类汇总字段,可以设定各种筛选条件。选择查询用于显示数据,形成数据编辑界面。2更新查询更新查询用于在数据表中更改数据。第5页/共136页3追加查询追加查询用于将数据表外部的数据添加到指定数据表的记录中。4生成表查询生成表查询用于将选择查询的结果生成为一个数据表对象。5删除查询删除查询用于在数据表中删除记录。6交叉表查询交叉表查询用于产生采用垂直方式对记录进行分组汇总的查询结果。第6页/共136页4.1 查询对象设计基础创建查询对象查询对象的实质结构化查询语言简介运行查询对象第7页/共136页创建查询对象在Access
6、 2003数据库中设计查询对象是需要在查询设计视图中进行。在Access 2003查询设计视图中,可以在Access 2003数据库中新建一个查询对象,也可以针对Access 2003数据库中已经存在的一个查询对象进行设计修改。第8页/共136页在数据库设计视图中,单击“查询”标签按钮即进入“查询对象”选项卡,如图4-1所示。1 1新建查询对象的操作新建查询对象的操作 第9页/共136页单击数据库设计视图上的“新建”按钮“”,即弹出“新建查询”对话框,如图4-2所示。图4-2 “新建查询”对话框 第10页/共136页 在“新建查询”对话框中,可以从Access提供的五种查询对象新建方法中选择一
7、种。但是,只有学会并理解了“查询设计视图”的操作使用,才可能很好地使用其他方法来加快新建查询对象的操作。在新建查询对话框中选择“设计视图”选项,然后单击“确定”按钮“”,即进入“查询设计视图”。由于是新建查询,所以在查询设计视图中没有任何内容。第11页/共136页 在查询设计视图中新建查询对象的第一步操作是指定数据源,因此,一旦由“新建查询”对话框进入查询设计视图,Access首先在查询设计视图中弹出“显示表”对话框,用以提示操作者指定数据源。这时,操作者需要在“显示表”对话框中逐个地指定数据源,并单击“添加”按钮“”,将指定的数据源逐个添加入查询设计视图上半部的数据源显示区域内。图4-3所示
8、为在“零售商店管理信息系统”数据库中新建“销售数据记录查询”的第一步操作,为查询指定数据源。第12页/共136页图4-3 “显示表”对话框的操作 第13页/共136页 Access查询对象的数据源可以是若干个表,也可以是已经存在的某些查询,还可以是若干个表与某些查询的组合。与此对应,“显示表”对话框中包含三个选项卡:“表”、“查询”、“表和查询”。应该根据实际需要进行适当的选择。例如,为“销售数据记录查询”指定的数据源是“销售数据记录”表。选择并添加完毕查询数据源后,单击“显示表”对话框上的“关闭”按钮“”,就完成了为查询对象指定数据源的操作。第14页/共136页 新建查询对象的第二步操作是定
9、义查询字段,也就是从选定的数据源中选择需要在查询中显示的数据字段。既可以选择数据源中的全部字段,也可以仅选择数据源中的部分字段,且各个查询字段的排列顺序可以与数据源中的字段排列顺序相同,也可以与数据源中的字段排列顺序不同。这一步操作可以通过两种方法完成。第15页/共136页定义查询字段的两种方法定义查询字段的两种方法新建查询对象的第二步操作是定义查询字段,也就是从选定的数据源中选择需要在查询中显示的数据字段。既可以选择数据源中的全部字段,也可以仅选择数据源中的部分字段,且各个查询字段的排列顺序可以与数据源中的字段排列顺序相同,也可以与数据源中的字段排列顺序不同。这一步操作可以通过两种方法完成。
10、第16页/共136页 将数据源表中的“”符号拖曳至设计视图下部的“字段”行中;或下拉“字段”行的列表框,从中选取“”符号。这时,“字段”行中即出现“”符号,“表”行中出现该字段所在的表名,“显示”行中的复选框中出现“”符号。这个新建的查询对象就基本完成了,如图4-4所示。如此方式建立的查选对象在其运行时,将显示数据源表中所有字段中的所有记录数据。即,符号“”代表着全部字段。(1 1)新建包含数据源全部数据字段的查)新建包含数据源全部数据字段的查询询 第17页/共136页图4-4、新建包含数据源全部数据字段查询的操作 第18页/共136页(2 2)新建包含数据源部分数据字段的查询)新建包含数据源
11、部分数据字段的查询 将数据源表中那些需要显示在查询中的数据字段逐个地拖曳至“字段”行的各列中;或逐个地下拉“字段”行列表框,从中选取需要显示的数据字段。这时,“字段”行中出现选中的字段名,“表”行中出现该字段所在表的表名,“显示”行中的复选框中出现“”(它表明该查询字段将被显示,同时应该看到,取消这个标记则意味着得到了一个不被显示的查询字段)。第19页/共136页 如此选择查询字段,可以将查询字段的排列顺序设置为不同于数据源中字段的排列顺序,是非常灵活的一种方式。图4-5所示为仅选中“销售数据记录”表中四个字段的查询对象新建的情况。这样的查询对象在其运行时,将显示数据源表中选中字段中的所有记录
12、数据,也就是说:不进行筛选这样一种关系运算。在整个新建查询对象的操作过程中,这个查询对象都将命名为“查询?”。当新建操作完成时,需要关闭查询设计视图,此时将出现“保存”对话框。应该在“保存”对话框中为新建查询对象命名为所需要的名字。第20页/共136页图4-5、新建包含数据源部分数据字段查询的操作 第21页/共136页 对于一个已经新建完成的查询对象,通常都需要对其进行一些设计修改。例如,希望图4-5所示的查询对象在其运行时,能够按照销售数量由大到小地排列显示;希望仅显示满足某种条件的记录数据(即进行筛选操作)等等。针对诸如此类的种种需求,就需要对以上初步建立的查询对象进行设计修改。2查询设计
13、视图应用第22页/共136页 建立查询的操作,实质上是生成SQL语句的过程。也就是说,Access提供了一个自动生成SQL语句的可视化工具查询设计视图。那么,通过在查询设计视图中的一系列操作后,所生成的SQL语句到底是什么样的?为了看到一个查询所对应的SQL语句,可以将查询设计视图转换到SQL视图中来观察。单击查询设计视图中菜单栏上的【视图】|【SQL视图】,即进入SQL视图中。由图4-5查询设计视图转换到SQL视图中后,所看到的SQL语句如下:查询对象的实质第23页/共136页SELECT 销售数据记录.货号,销售数据记录.货名,销售数据记录.销售单价,销售数据记录.销售数量 FROM 销售
14、数据记录WHERE(销售数据记录.销售单价)=5)ORDER BY 销售数据记录.销售数量 DESC;第24页/共136页 可以看出:查询对象的实质是一条SQL语句。打开查询的操作也就是运行相应SQL语句的过程,其结果是生成一个动态数据集合。这个动态数据集合,无论在形式上还是在所能接受的操作上,都如同一个数据表对象。这就是说,在数据表视图中所能进行的所有操作均能在查询视图中实施。如果查询视图数据来源于若干个数据表,则可以在查询视图中同时操作这若干个表中的数据,在一定的限定条件下,也可以同时对这些数据表进行追加记录、删除记录和更改数据的操作。第25页/共136页 SQL一词,是Structure
15、 Query Language的缩写,即“结构化查询语言”的英文缩写。当今的所有关系型数据库管理系统都是以SQL作为核心的。SQL概念的建立起始于1974年,随着SQL的发展,ISO、ANSI等国际权威标准化组织都为其制订了标准,从而建立了SQL在数据库领域里的核心地位。第26页/共136页SQLSQL的四个特点的四个特点(1)在方法上的突破:SQL不再局限于数据表中的记录与字段,而是通过设定表与表间的联接来组合地处理数据。(2)容易学习与维护:SQL语句自然语言,简洁直观,语句的功能非常强大,一条语句时常可以取代常规程序设计语言的一大段程序,因而容易维护。(3)语言共享:任意一种数据库管理系
16、统都拥有自己的程序设计语言,其各种语言的语法规定及其词汇相差甚远。但是SQL在任何一种数据库管理系统中都是相似的,甚至是相同的。(4)全面支持客户/服务器结构:实现异种数据库间的数据共享,即在客户端使用的数据访问语言必须与服务器端所能识别数据查询语言相同。SQL就是当今唯一的一个已经形成标准的数据库共享语言。第27页/共136页SQLSQL语句按其功能的不同可以分语句按其功能的不同可以分为以下六大类为以下六大类 数据定义语句(DDL,Data-Definition Language)数据操作语句(DML,Data-Manipulation Language)操作管理语句(TMLT,transa
17、ction-Management Language)数据控制语句(DCL,Data-Control Language)数据查询语句(DQL,Data-Query Language)游标控制语句(CCL,Cursor-Control Language)第28页/共136页SELECT语句的一般语法格式为:SELECT predicate *|table.*|table.field1 AS alias1,table.field2 AS alias2,.FROM tableexpression,.IN externaldatabaseWHERE.GROUP BY.HAVING.ORDER BY.WI
18、TH OWNERACCESS OPTION 1 1、SELECTSELECT语法语法 第29页/共136页在SELECT语法格式中,大写字母为SQL保留字,方括号所括部分为可有可无的内容,小写字母为语句参量。各项语句参量应该根据实际应用的需要取值,表4-1所列为SELECT语句中各个参量说明。2 2SELECTSELECT语法简要说明语法简要说明 第30页/共136页表表4-1 4-1 SELECTSELECT语句参量说明语句参量说明 参量取值及其含义说明Predicate下列谓词之一:ALL、DISTINCT、DISTINCTROW、TOP可用谓词来限制返回的记录数量。默认值为 ALL*全部
19、字段从特定的表中指定全部字段Table表的名称Field1字段的名称包含所要获取的数据Alias1字串常量用来作列标头Tableexpression表的名称这些表包含要获取的数据Externaldatabase数据库的名称该数据库包含 tableexpression 中的表WHERE条件表达式只筛选满足条件的记录GROUP BY.字段名列表根据所列字段名分组ORDER BY字段名列表根据所列字段名排序第31页/共136页 关闭查询设计视图,在随之出现的“保存”对话框中指定查询对象名称,然后确定之。对于一个设计完成的查询对象,可以在数据库视图中的查询对象选项卡上看到它的图标,用鼠标在一个查询对象
20、图标上双击,即可运行这个查询对象。一个运行着的查询一般以查询视图的形式显示。在数据库视图中,单击查询对象选项卡,选择需要打开的查询对象,单击数据库视图上的“打开”按钮“”,或双击需要打开的查询对象图标,即进入查询视图。运行查询对象第32页/共136页 图4-7所示即为上述“销售数据记录查询举例”对象打开后的视图。可以看到,查询视图与数据表视图是形式完全相同的视图,不同的是查询视图中显示的是一个动态数据集。对于本例,仅是“销售数据记录”表中的销售单价不低于5元的那一部分商品数据按照其销售数量的大小降序排列而成。第33页/共136页图4-6 “销售数据查询1”对象的查询视图第34页/共136页4.
21、2 基本选择查询设计选择查询是最常见的查询类型,它从一个或多个的表中检索数据,并且允许在可以更新记录(带有一些限制条件)的数据表中进行各种操作数据。也可以使用选择查询来对记录进行分组,并且对记录作总计、计数、平均以及其他类型总和的计算。选择查询的优点在于能将多个表或查询中的数据集合在一起,或对多个表或查询中的数据执行操作。第35页/共136页4.2 基本选择查询设计选择查询设计视图基表联接的意义排序行和显示行的作用条件行的作用及其设计方法零售商店管理信息系统”中的选择查询设计第36页/共136页 选择查询的设计视图如图4-4所示,被分为上下两个部分。上部为数据源显示区;下部为参数设置区,由五个
22、参数行组成,分别是字段行、表行、排序行、显示行和准则行。查询对象基于数据源而生成,且数据源往往不仅仅只有一个,这些数据源既可以是数据表对象,也可以是查询对象。设计具有多个数据源的查询对象,需在“显示表”对话框(如图4-3所示)中逐一将各个数据源添加至查询设计视图的数据源列表区内。若在关闭“显示表”对话框后,还需添加数据源,可在数据源列表区内右击鼠标,在随之弹出的快捷菜单上单击【显示表】,或在查询设计视图菜单栏上单击【视图】|【显示表】,均可再现“显示表”对话框,参见图4-3。第37页/共136页 在查询设计视图中,选择确定多个数据源(表或查询)后,必须保证各个数据源数据间存在必要的联接关系。表
23、与表间的联结如果已在数据库视图中通过建立表间关系形成,则这些关系将被继承在查询设计视图中。如果上述关系不存在,则必须在查询设计视图中指定,如此指定的关系仅在本查询中有效。第38页/共136页 在查询设计视图中指定表间关系的操作为,从作为数据源的表或查询字段列表中将一个字段拖到另一个作为数据源的表或查询字段列表中的相等字段(即具有相同或兼容的数据类型且包含相似数据的字段)上,即完成了两个数据源之间的联接。所谓将一个字段拖到另一个字段上,是指用鼠标指向一个字段,然后按住鼠标左键拖曳至另一个字段上,然后放开鼠标左键。使用这种方式进行联接,只有当联接字段的值相等时,Access才会从两个表或查询中选取
24、记录。图4-8所示为销售数据记录查询中含有“进货单价”以及销售利润数据的设计参数。第39页/共136页图4-7 查询数据源设定与字段显示格式设定第40页/共136页 在图4-8中可以看到,由于这个查询的数据分别取自“库存数据记录”表和“销售数据记录”表,因此必须指定这两个数据源,这两个数据源称为本查询的基表。基表之间必须建立联接,且其联接字段必须具有相同类型。如果已经在数据库设计视图指定了两个基表的联接,则在查询设计视图中会得到继承。如果未在数据库设计视图指定两个基表的联接,则在查询设计视图中指定的联接仅在本查询中有效。第41页/共136页 Access支持的联接类型有三种:只包含来自两个表的
25、联接字段相等处的行;包括所有“主表”的记录和那些联接字段相等的“从表”的记录;包括所有“从表”的记录和那些联接字段相等的“主表”的记录。关于表对象联接概念中的“主表”和“从表”的含义,请参阅第三章中的相关内容。在上述三种联接类型中,第一种联接类型是默认类型。上述实例采用第一种联接类型,即只显示在“库存数据记录”和“销售数据记录”中均存在的记录,如图4-9所示。第42页/共136页图4-8 “销售数据明细查询”的查询视图第43页/共136页排序行和显示行的作用1排序的作用与设计方法 2显示行的作用与设计方法 第44页/共136页 如同在第三章中所述,排序可以令某一列数据有顺序的排列,便于查看。在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 零售商店数据库应用系统GrocerMIS实例分析 零售 商店 数据库 应用 系统 GrocerMIS 实例 分析
限制150内