数据库设计第4章查询.ppt
《数据库设计第4章查询.ppt》由会员分享,可在线阅读,更多相关《数据库设计第4章查询.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章查询与查询与SQLSQL第第四四章章查询与查询与SQLSQL数据库数据库设计基础设计基础学习目标与要求n通过本章学习,读者应达到以下要求:1深入理解Access数据库中查询对象的概念和意义。2了解SQL语言的特点、发展、功能与用法。3掌握Access查询对象的工作视图运用和切换。4掌握数据运算与表达式的用法。5理解并掌握SELECT语句的作用与用法。6理解并掌握SQL追加、更新、删除功能和对应语句。7理解并掌握SQL的数据定义功能和对应语句。8在掌握SQL语句的基础上,掌握通过设计视图进行可视化操作的查询设计应用。3第四章 查询SQLSQL特定查询特定查询查询的概念查询的概念 动作
2、查询动作查询SQLSQL语言与语言与SQLSQL命令查询命令查询选择查询选择查询查询向导查询向导 查询查询4第一 Access查询概述n数据库系统一般包括三大功能:数据定义、数据操作、数据控制。n数据库的定义功能包括对象的创建、修改、删除。n数据库的操作功能包括对于数据库中数据的增加、删除、更新和查找。n实现数据库的功能需要使用数据库语言。关系数据库中使用的语言是结构化查询语言(Structure Query Language),即SQL。54.1 Access查询概述n在Access中,实现数据库操作功能(也包括定义功能)的数据库对象是“查询”。表实现数据组织存储,查询实现数据库操作、重新组
3、织,查询以表为基础。nAccess查询主要有两种作用:(1)通过查询,可以实现对数据库数据的各种操作。(2)可以将设计好的查询命名保存,就得到查询对象。查询对象的外在视图与表类似。由于查询可以对数据库重新组织,这样,查询对象可以将数据库以不同的形式呈现在不同的用户眼中。(例)查询的作用查询的作用1 16 Access通过查询对象实现SQL的功能。查询对象在逻辑上相当于是一个表,与表有一样的结构。用户使用查询对象,就可以象使用表一样,所以,查询也可以作为其他对象的数据源。查询对象保存查询定义,不保存查询结果,不会浪费存储空间,查询对象为“虚表”。在查询对象界面选中查询对象“打开”,就可以运行查询
4、查看结果,避免了每次重新设计查询的操作。同时,结果是一个动态数据集,自动与源表保持同步。查询对象的意义查询对象的意义2 24.1 Access查询概述7 查询对象基于SQL,隐藏了数据库复杂性,可以为不同的应用设计不同的查询,因此查询是用户眼中的数据库。查询增加了应用的灵活性,实现了数据库三级模式结构中外模式的功能。对查询对象的操作要转换为对表的操作。由于查询的多样性,因此,不是所有对查询对象的操作都可以完成,一般来说,对查询对象的SELECT操作都可以实现,但对查询对象的INSERT、UPDATE、DELETE操作有很多限制。查询增加了数据应用的安全性。4.1 Access查询概述84.2
5、SQL语言与SQL命令查询n应用查询(对象)的基本步骤如下。设计定义查询。运行查询,获得查询结果集。这个结果集与表的结构一致。如果需要重复或在其他地方使用这个查询的结果,就将查询命名保存,这就得到一个查询对象。以后打开查询对象,就会立即执行查询并获得新的结果。查询对象可象表一样使用。定义查询或查询对象的步骤定义查询或查询对象的步骤3 394.1 Access查询概述nAccess中实现查询或查询对象的基本操作方法有两种:(1)通过查询设计视图交互式设置(包括向导);(2)通过输入SQL命令。n查询的基础是SQL,这两种方式是可以对应并相互转换的。在Access中这两种操作的界面是集成在一起并可
6、灵活切换。n在学习过程中,可以将这两种方式对照学习,达到深入理解并熟练应用的程度。定义查询或查询对象的方法定义查询或查询对象的方法4 410第二 SQL语言与SQL命令查询nSQL是关系数据库的标准语言,是集数据定义、数据操作和数据控制功能于一身的功能完善的数据库语言。目前,SQL仍处于不断发展过程中。nSQL提出于1974年。IBM公司的System R中率先实现SQL。1986年10月美国国家标准局(ANSI)批准将SQL作为关系数据库语言的美国标准,并发布了ANSI SQL标准文本(SQL-86)。1987年,国际标准化组织(ISO)通过了这一标准。1989年发布SQL-89,1992年
7、发布SQL-92(也称SQL2)。1997年发布SQL3。n各数据库厂家推出的关系型DBMS都支持SQL,其基本内容、命令和格式是一致的。掌握SQL对使用关系数据库非常重要。SQLSQL概述概述1 1114.2 SQL语言与SQL命令查询 数据定义功能。SQL可以方便地完成对表及关系、索引、查询的定义和维护。数据操作功能。操作功能包括数据插入、删除、修改和数据查询。数据控制功能。SQL可以实现对数据库的安全性和完整性控制。SQLSQL基本功能基本功能2 2124.2 SQL语言与SQL命令查询nSQL既是自主式语言,能够独立执行,也是嵌入式语言,可以嵌入程序中使用。独立使用方式。在数据库环境下
8、用户直接输入SQL命令并立即执行。这种使用方式可立即看到操作结果,对测试、维护数据库也极为方便。也适合初学者学习SQL。嵌入使用方式。将SQL命令嵌入到高级语言程序中,作为程序的一部分来使用。SQL仅是数据库处理语言,缺少格式控制和复杂运算功能,在许多信息系统中必须将SQL和其它高级语言结合起来,将SQL查询结果由程序进一步处理。SQLSQL的使用方式的使用方式3 3134.2 SQL语言与SQL命令查询 高度非过程化,是面向问题的语言。用户只须表达“做什么”,不用管“怎么做”。面向表,运算的对象和结果都是表。表达简洁,使用词汇少,便于学习。SQL定义和操作功能使用的命令动词只有:CREATE
9、、ALTER、DROP、INSERT、UPDATE、DELETE、SELECT。自主式和嵌入式的使用方式,方便灵活。功能强大,包括数据定义、数据操纵和数据控制。所有关系数据库系统都支持,可移植性好。SQL已经成为当前和将来DBMS应用和发展的基础。SQLSQL的特点的特点4 4144.2 SQL语言与SQL命令查询nAccess将输入SQL命令的工作界面与查询设计视图集成在一起。这是因为Access是一个可视化的软件。其设计目标是尽量将各种功能通过可视化操作实现。因此,看上去SQL命令方式就作为设计视图的附属方式。n不过,事实上,无论是通过设计视图设置,还是使用向导,查询定义最后都转换为SQL
10、命令。n要输入SQL命令,首先进入设计视图,然后可以在不同的视图之间切换。“SQL视图”就是SQL命令工作界面。SQLSQL命令工作界面命令工作界面5 5154.2 SQL语言与SQL命令查询nSQL的基本工作方式是命令行方式。使用“SQL视图”。“SQL视图”是一个文本编辑器窗口,用户在这个窗口中可以完成:输入、编辑SQL语句。运行SQL语句并查看查询结果。保存SQL语句为查询对象。n该工具一次只能编辑处理一条SQL语句。n在“SQL视图”和“设计视图”之间转换界面。164.2 SQL语言与SQL命令查询n在这个窗口只能使用SQL命令语句。包括定义命令:CREATE、ALTER、DROP;查
11、询命令:SELECT;更新命令:INSERT、UPDATE、DELETE。SQL语句都以“;”作为结束标志。n在“SQL视图”窗口中输入命令后,可单击工具栏中的运行按钮,或者选择“查询”菜单中“运行”命令,SQL视图界面就会变成查询结果的显示界面。n单击工具栏“存储”按钮,或“文件”菜单中“另存为”菜单项,命名保存查询对象 174.2 SQL语言与SQL命令查询n查询时经常要对各种类型的数据进行运算。n表达式:由运算符和运算对象组成的运算式。n运算对象包括常量、输入参数、表中的字段等,运算符包括一般运算和函数运算。可以通过以下的语句来查看表达式运算的结果。n语法SELECT AS ,Acces
12、sAccess数据运算与表达式数据运算与表达式6 6184.2 SQL语言与SQL命令查询nAccess事先规定了各类型数据运算的运算符。数字运算符。数字运算符用来对数字型或货币型数据进行运算,运算的结果也是数字型数据或货币型数据。包括:正负号、*、/、mod、+、-以及括号。文本运算符。或称字符串运算符。普通的文本运算符是:“&”或者“+”,两者完全等价。其运算功能是将两个字符串联接成一个字符串。其他文本运算使用函数。日期时间运算符。普通日期时间运算符只有“+”和“-”。194.2 SQL语言与SQL命令查询 比较测试运算符。同类型数据可以进行比较运算。这些类型有:文本型、数字型、货币型、日
13、期时间型、是否型等。运算符有比较运算符如、=、=、,还有BETWEEN-AND、NOT LIKE、IS NOT NULL、NOT IN、EXISTS。运算结果为是否型,即true或false。用0表示false,-1表示true。逻辑运算符。逻辑运算又称为布尔运算,是针对true或false的运算,运算结果仍为是否型。逻辑运算符主要包括:NOT、AND、OR、XOR等。204.2 SQL语言与SQL命令查询 函数。除普通运算符表达的运算外,大量的运算通过函数实现。Access设计了大量各种类型函数。n函数包括函数名、自变量和函数值3个要素。函数基本格式是:函数名(自变量)。n函数名标识函数的功
14、能;自变量是需要传递给函数的参数,写在括号内,一般是表达式。有的函数无需自变量,称为哑参,一般和系统环境有关,具有特指的不会混淆的内涵。缺省自变量时,括号仍要保留。有的函数可以有多个自变量,之间用逗号分隔。214.2 SQL语言与SQL命令查询 参数。参数可在表达式运算时输入一个数据。在命令中,没有确定的值而需要在执行时输入的标识符就是参数。n数值或文本参数可以直接在命令给出。其他类型参数必须在使用前明确定义。语句语法如下。语法PARAMETERS 数据类型n为避免表达式语法错误,参数最好遵守如下规定。参数名以字母或汉字开头,由字母、汉字、数字和必要的其他字符组成。参数都用方括号(、)括起来。
15、(用方括号括起来后,对于参数的命名规定可不完全遵守上面规定)224.2 SQL语言与SQL命令查询nSQL查询只有一条SELECT语句,功能强大,语法复杂。SELECT ALL|DISTINCT TOP PERCENT *|AS INTO FROM INNER|LEFT|RIGHT JOIN ON WHERE AND|OR.GROUP BY ,.HAVING UNION SELECT 语句 ORDER BY ASC|DESC,.SQLSQL的的SELECTSELECT查询查询7 7234.2 SQL语言与SQL命令查询n命令中只有和是必选项。其他子句可选。各子句基本构成如下。输出列:列名、*、
16、函数(SUM,AVG,MAX,MIN,COUNT、FIRST、LAST、STDEV、VAR)、常量、表达式、DISTINCT、TOP n PERCENT、表名前缀、AS 换名。INTO子句:INTO。保存查询结果到某个表。FROM 子句:单个表;两个表:内连接:左表 INNER JOIN 右表 ON 条件 外连接:左表 LEFT|RIGHT OUTER JOIN 右表 ON 条件 笛卡尔积:左表,右表多个表在两个表基础上扩展。用“AS”子句为表换名。重名字段加表名前缀。WHERE子句:WHERE 244.2 SQL语言与SQL命令查询n“逻辑表达式”可以使用所有的比较运算符、逻辑运算符。还可以
17、使用子查询,使用与子查询进行整体比较的ALL、SOME、IN、EXISTS运算。nGROUP与HAVING子句:分组统计及结果过滤输出。nGROUP BY 分组字段,HAVING n分组统计时输出列应该由分组字段和统计集函数构成。HAVING子句必须与GROUP子句联用,只对统计的结果进行筛选。可以使用集函数。nOREDER子句:OREDER BY 排序项,nASC或缺省表示升序,DESC表示降序。254.2 SQL语言与SQL命令查询n子查询有相关和非相关两种方式。非相关子查询是:首先进行子查询,获得一个结果集合,然后再进行外部查询中记录字段值与子查询结果的比较。这是先内后外的方式。n相关子
18、查询方式是:对于外部查询中与子查询有关的表记录,逐条带入子查询中运算,若结果不为空,这条记录就符合查询要求;若子查询结果为空,则该条记录不符合查询要求。查询过程是针对外部查询的记录值再去进行子查询,子查询的结果与外部查询表有关。这是从外到内的过程。n联合(UNION)运算将两个查询的结果合并在在一起,实现关系代数并运算的功能。264.2 SQL语言与SQL命令查询n追加是指将一条或多条记录加入到表中的操作。语法1INSERT INTO()VALUES(,.)语法2INSERT INTO()n语法1向表中追加一条新记录。如果省略字段名表,则值的个数必须与表中字段数相同,按字段顺序依次赋予各字段,
19、对应数据类型必须相容。列出字段表,则可指定字段赋值,没有列出的字段取默认值或空值。n语法2将一条SELECT查询结果追加到表中成为新记录。查询输出列与对应字段名称可以不同,但数据类型必须相容。SQLSQL的追加功能的追加功能8 8274.2 SQL语言与SQL命令查询n更新操作用于更改记录的字段值。语法 UPDATE SET =,.WHERE AND|OR.n省略WHERE子句时,对表中所有记录的指定字段进行修改;当有WHERE子句时,修改只在满足条件的记录的指定字段中进行。nWHERE子句的用法与SELECT类似。n要注意更新操作后的数据必须符合完整性规则的要求。否则更新失败。SQLSQL更
20、新功能更新功能9 9284.2 SQL语言与SQL命令查询n将记录从表中删除,删除的记录数据将不可恢复。语法 DELETE FROM WHERE AND|OR.n当省略WHERE子句时,将删除表中的所有记录,但保留表的结构。WHERE子句关于条件的使用与SELECT命令中的类似。删除操作应注意数据完整性规则的要求。n数据库的操作功能由查询、追加、删除、更新组成,SQL用四条命令实现这四种功能。SQLSQL的删除功能的删除功能1010294.2 SQL语言与SQL命令查询n定义功能是SQL的主要功能之一。可以定义、修改、删除表、索引等。1表的定义n表定义包含非常多项目。SQL提供CREATE T
21、ABLE命令完成表定义,通过“查询”菜单中“SQL特定查询”项下“数据定义”子菜单启动定义命令输入窗口。n表定义包含:表名、字段名、数据类型、字段的所有属性、主键、外键与参照表、表约束规则等。nSQL定义表命令的基本语法可以与“设计”视图中交互式定义表的方式进行对照。SQLSQL的定义功能的定义功能1111304.2 SQL语言与SQL命令查询语法CREATE TABLE (,)NULL|NOT NULL PRIMARY KEY UNIQUE REFERENCES()DEFAULT ,.,主键,外键及参照表,索引 )314.2 SQL语言与SQL命令查询nPRIMARY KEY将该字段创建为主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 查询
限制150内