数据库原理- V F P教学课件:第03章 查询与统计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库原理- V F P教学课件:第03章 查询与统计.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理- P教学课件:第03章 查询与统计 数据库 原理 教学 课件 03 查询 统计
- 资源描述:
-
1、1 第3章 查询与统计 2 3.1 排序与索引 表的记录通常按输入的先后排列,用表的记录通常按输入的先后排列,用LISTLIST等命令显示表时将按等命令显示表时将按 此顺序输出。若要以另一种顺序来输出记录,便须对表进行排序或此顺序输出。若要以另一种顺序来输出记录,便须对表进行排序或 索引。排序与索引都能改变记录输出顺序,后者还能决定记录的存索引。排序与索引都能改变记录输出顺序,后者还能决定记录的存 取顺序。取顺序。 3 一、排序 排序就是根据表的某些字段重排记录。排序后将产生一个排序就是根据表的某些字段重排记录。排序后将产生一个 新表,其记录按新的顺序排列,但原文件不变。新表,其记录按新的顺序
2、排列,但原文件不变。 命令格式:命令格式: SORT TO SORT TO ON ON /A | /D /C , /A | /D /C , /A | /D /C . /A | /D /C . FOR FOR 1 WHILE WHILE 2 FIELDS FIELDS |FIELDS LIKE |FIELDS LIKE | FIELDS | FIELDS EXCEPT EXCEPT 4 说明:说明: (1 1)ONON子句的字段名表示排序字段,记录将随字段值子句的字段名表示排序字段,记录将随字段值 的增大(升序)或减小(降序)来排序。选项的增大(升序)或减小(降序)来排序。选项/A/A和和D D
3、分别分别 用来指定升序或降序,默认按升序排序。选项用来指定升序或降序,默认按升序排序。选项C C表示不区表示不区 分字段值中字母大小写,即将同一字母的大写与小写看成一分字段值中字母大小写,即将同一字母的大写与小写看成一 样。样。 不可选用备注型或通用型字段来排序。不可选用备注型或通用型字段来排序。 (2 2)可在)可在ONON子句中使用多个字段名实现多重排序,即子句中使用多个字段名实现多重排序,即 先按主排序字段先按主排序字段 l排序,对于字段值相同的记录再排序,对于字段值相同的记录再 按第二排序字段按第二排序字段 2排序,依此类推。排序,依此类推。 (3 3)缺省)缺省 、FORFOR1和和
4、WHILEWHILE2等子句等子句 表示对所有记录排序。表示对所有记录排序。 (4 4)FIELDSFIELDS子句指定新表应包含的字段默认包含原子句指定新表应包含的字段默认包含原 表所有字段。表所有字段。 5 示例:示例: (1 1)将所有非主要设备按照启用日期排序,新表只包含编)将所有非主要设备按照启用日期排序,新表只包含编 号、名称、启用日期三个字段。号、名称、启用日期三个字段。 sort to shb1 on sort to shb1 on 起用日期起用日期 /D fields /D fields 编号编号, ,名称名称, ,起用日起用日 期期 for .not.for .not.主要
5、设备主要设备 sort to shb1 on sort to shb1 on 起用日期起用日期 /A fields /A fields 编号编号, ,名称名称, ,起用日起用日 期期 for .not.for .not.主要设备主要设备 (2 2)将主要设备按照部门降序排列,当部门相同按照价格)将主要设备按照部门降序排列,当部门相同按照价格 升序排列升序排列 sort to shb1 on sort to shb1 on 部门部门 /d,/d,价格价格 for for 主要设备主要设备 6 二、索引 1 1、索引的概念、索引的概念 (1 1)记录的物理顺序与逻辑顺序)记录的物理顺序与逻辑顺序
6、文件中的记录一般按其磁盘存储顺序输出,这种顺序称文件中的记录一般按其磁盘存储顺序输出,这种顺序称 为物理顺序。执行排序后,在新文件中形成了新的物理顺序。为物理顺序。执行排序后,在新文件中形成了新的物理顺序。 索引排序属于另外一种方法,排序建立索引文件,但索引排序属于另外一种方法,排序建立索引文件,但它它 不改变记录的物理顺序,而是按某个索引关键字(或其表达不改变记录的物理顺序,而是按某个索引关键字(或其表达 式)来建立记录的逻辑顺序。在索引文件中,所有关键字值式)来建立记录的逻辑顺序。在索引文件中,所有关键字值 按升序或降序排列,每个值对应原文件的一个记录号,这样按升序或降序排列,每个值对应原
7、文件的一个记录号,这样 使确定了记录的逻辑顺序。使确定了记录的逻辑顺序。 7 以价格为关键字段排序后示意 8 索引类似于书的目录索引,目录书页号列表用于指示读索引类似于书的目录索引,目录书页号列表用于指示读 者查找书中的特定页码,而数据表的索引是指向特定记录的者查找书中的特定页码,而数据表的索引是指向特定记录的 记录号列表,用于处理如何确定记录的处理顺序。记录号列表,用于处理如何确定记录的处理顺序。 例如要显示所有记录,系统就依次按索引文件中的记录例如要显示所有记录,系统就依次按索引文件中的记录 号取出表中的物理记录,达到按关键字值顺序来列出记录的号取出表中的物理记录,达到按关键字值顺序来列出
8、记录的 效果。效果。 虽然排序与索引都以增加一个文件为代价,但索引文件虽然排序与索引都以增加一个文件为代价,但索引文件 只包括关键字和记录号两个字段,比被索引的表要小得多;只包括关键字和记录号两个字段,比被索引的表要小得多; 索引起作用后,增删或修改表的记录时索引文件会自动更新,索引起作用后,增删或修改表的记录时索引文件会自动更新, 故而索引的应用远比排序为广。故而索引的应用远比排序为广。 9 (2 2)索引的种类)索引的种类 a a、按扩展名来分类:、按扩展名来分类: VFPVFP支持复合索引和单索引两类索引文件。前者扩展名支持复合索引和单索引两类索引文件。前者扩展名 为为CDXCDX,后者
9、扩展名为,后者扩展名为IDXIDX。复合索引文件允许包含多个索引,。复合索引文件允许包含多个索引, 每个索引都有一个索引标识,代表一种记录逻辑顺序。这种每个索引都有一个索引标识,代表一种记录逻辑顺序。这种 索引文件总以压缩方式存储,以便少占存储空间。索引文件总以压缩方式存储,以便少占存储空间。 复合索引文件又有结构的和非结构的两种。复合索引文件又有结构的和非结构的两种。若定义复合若定义复合 索引文件时用户为它取了名字,则其为非结构的,否则为结索引文件时用户为它取了名字,则其为非结构的,否则为结 构的。构的。 打开非结构复合索引文件需使用打开非结构复合索引文件需使用SET INDEXSET IN
10、DEX命令或命令或USEUSE命命 令中的令中的INDEXINDEX子句。结构复合索引文件的主名与表的主名相子句。结构复合索引文件的主名与表的主名相 同,它随表的打开而打开,在添加、更改或删除记录时还会同,它随表的打开而打开,在添加、更改或删除记录时还会 自动维护,在各类索引文件中,选用它最为省事。自动维护,在各类索引文件中,选用它最为省事。 10 b b、按功能分类:、按功能分类: 索引除具有建立记录逻辑顺序的作用外,还按控制是否索引除具有建立记录逻辑顺序的作用外,还按控制是否 允许相同的索引关键字值在不同记录中重复出现,或允许在允许相同的索引关键字值在不同记录中重复出现,或允许在 永久关系
11、中建立参照完整性,按照功能其有四种类型的索引,永久关系中建立参照完整性,按照功能其有四种类型的索引, 表表3.13.1列出了列出了4 4种索引功能类型。种索引功能类型。 11 2 2、建立索引命令格式:、建立索引命令格式: 命令格式:命令格式: INDEX ON INDEX ON TAG TAG FOR FOR COMPACTCOMPACT ASCENDING | DESCENDINGASCENDING | DESCENDING CANDIDATECANDIDATE ( ) 12 说明:说明: 关键字可用表达式表示。关键字可用表达式表示。 (1 1)该命令默认建立普通索引型索引文件:)该命令默
12、认建立普通索引型索引文件:UNIQUEUNIQUE表表 示建立唯一索引型索引文件;示建立唯一索引型索引文件;CANDIDATECANDIDATE表示索引文件是候表示索引文件是候 选索引型,但需与选索引型,但需与TAGTAG子句同时使用。子句同时使用。 (2 2)COMPACTCOMPACT选项用来指定单索引文件为压缩的。选项用来指定单索引文件为压缩的。 (3 3)OFOF选项的选项的 用于指定非结构复合用于指定非结构复合 索引文件的名字,缺省该选项表示建立结构复合索引文件。索引文件的名字,缺省该选项表示建立结构复合索引文件。 (4 4)记录逻辑顺序默认为升序,也可用)记录逻辑顺序默认为升序,也
13、可用ASCENDINGASCENDING选项选项 表示升序。表示升序。DESCENDINGDESCENDING选项表示降序。选项表示降序。 13 示例:示例: INDEX ON INDEX ON 名称名称 TAG mc DESC FROM; SHB,dx,bmdm WHERE (dx. SHB,dx,bmdm WHERE (dx.编号编号=shb.=shb.编号编号) .AND. ;) .AND. ; (bmdm. (bmdm.代码代码=shb.=shb.部门部门) ) b b、查询编号前、查询编号前3 3位小于位小于038038的设备名称及大修费用合计,按的设备名称及大修费用合计,按 照大修
14、合计的费用降序排列照大修合计的费用降序排列 SELECT shb.SELECT shb.名称名称, SUM(dx., SUM(dx.费用费用) FROM shb,dx;) FROM shb,dx; WHERE (shb. WHERE (shb.编号编号=dx.=dx.编号编号) .AND. LEFT(shb.) .AND. LEFT(shb.编编 号号,3)038 GROUP BY dx.,3)038 GROUP BY dx.编号编号 ORDER BY 2ORDER BY 2 DESC DESC 注意:此处由于排序的条件注意:此处由于排序的条件SUMSUM(价格)不能直接使用,此(价格)不能直
15、接使用,此 处的处的2 2是指排序以查询结果中的第二列作为依据。否则会提示是指排序以查询结果中的第二列作为依据。否则会提示 “SQLSQL:找不到列:找不到列” 62 3 3、联接方式(、联接方式(T3.5T3.5) 联接可以实现两个表的联接,即在一个查询涉及两个以上表联接可以实现两个表的联接,即在一个查询涉及两个以上表 时,将其按照一定条件联系在一起进行操作。时,将其按照一定条件联系在一起进行操作。VFPVFP的的SQLSQL可以使用可以使用 多种类型的联接形式,示例多种类型的联接形式,示例 63 SELECT a1.d1,a2.d2 FROM a1 INNER JOIN a2 ON a1.
16、d1=a2.d2SELECT a1.d1,a2.d2 FROM a1 INNER JOIN a2 ON a1.d1=a2.d2 SELECT a1.d1,a2.d2 FROM a1 LEFT JOIN a2 ON a1.d1=a2.d2SELECT a1.d1,a2.d2 FROM a1 LEFT JOIN a2 ON a1.d1=a2.d2 SELECT a1.d1,a2.d2 FROM a1 RIGHT JOIN a2 ON a1.d1=a2.d2SELECT a1.d1,a2.d2 FROM a1 RIGHT JOIN a2 ON a1.d1=a2.d2 SELECT a1.d1,a2.
17、d2 FROM a1 FULL JOIN a2 ON a1.d1=a2.d2SELECT a1.d1,a2.d2 FROM a1 FULL JOIN a2 ON a1.d1=a2.d2 64 二、查询设计器 用户可通过用户可通过VFPVFP提供的查询设计器来进行数据查询。查询设计提供的查询设计器来进行数据查询。查询设计 器产生的查询结果除可当场浏览外,还有多种输出方式。查询设器产生的查询结果除可当场浏览外,还有多种输出方式。查询设 置也可以保存在文件中,供以后打开查询设计据使用或修改。置也可以保存在文件中,供以后打开查询设计据使用或修改。 1 1、查询设计器的操作步骤、查询设计器的操作步骤 “
18、打开查询设计器打开查询设计器”- -“进行查询设置进行查询设置”(即设置被查询的表、(即设置被查询的表、 联接条件、字段等输出要求和查询结果的去向)联接条件、字段等输出要求和查询结果的去向)- -执行查询执行查询- -保存保存 查询设置。查询设置。 2 2、查询设计器的组成、查询设计器的组成 上部窗格上部窗格 下部窗格下部窗格 查询菜单查询菜单 65 三、查询结果的图形化处理 在在VFPVFP中允许将查询结果以图形化的方式输出,使用图中允许将查询结果以图形化的方式输出,使用图 形化输出方式应注意以下问题:形化输出方式应注意以下问题: (1 1)_gengraph_gengraph:_gengr
19、aph_gengraph为一系统变量,用于给定为一系统变量,用于给定 图形向导所在位置。图形向导所在位置。 (2 2)要输出图形必须选定两个以上字段,其中至少有)要输出图形必须选定两个以上字段,其中至少有 一个为数值字段。一个为数值字段。 (3 3)输出结果保存到表单文件中,以后可以调用。)输出结果保存到表单文件中,以后可以调用。 66 3.6 数据库与视图 一、数据库 1 1、数据库的基本概念、数据库的基本概念 当数据结构较为简单时,如为个人保存一个亲友通当数据结构较为简单时,如为个人保存一个亲友通 信录,建一个自由表就可以了。它通常单独使用,与其信录,建一个自由表就可以了。它通常单独使用,
20、与其 它表的数据没有多少联系。它表的数据没有多少联系。 但数据结构比较复杂,如果为工厂开发一个人事管但数据结构比较复杂,如果为工厂开发一个人事管 理系统,一个表很可能不够了,需要建立多个表。以前理系统,一个表很可能不够了,需要建立多个表。以前 的例子中多次提到过的的例子中多次提到过的SHB.DBFSHB.DBF,BMDM.DBFBMDM.DBF,ZZ.DBFZZ.DBF等等 表就是例子,各表中包含的数据相互具有这样那样的联表就是例子,各表中包含的数据相互具有这样那样的联 系。系。 67 68 若把它们集中到一个数据库中,并且在各表之间建若把它们集中到一个数据库中,并且在各表之间建 立若于固定的
21、关系(关联),管理与使用就更加方便了。立若于固定的关系(关联),管理与使用就更加方便了。 这类从属某一数据库的表统称为数据库表(简称库表)。这类从属某一数据库的表统称为数据库表(简称库表)。 一个较大的应用项目可以创建若干个数据库,每个一个较大的应用项目可以创建若干个数据库,每个 数据库可定义一组数据库表,然后用一定的关系将它们数据库可定义一组数据库表,然后用一定的关系将它们 相互联接。相互联接。 69 2 2、用数据库设计、用数据库设计 器设计数据库器设计数据库 (1 1)数据库设计)数据库设计 器器 数据库设计器是数据库设计器是 VFPVFP提供的一种辅助设提供的一种辅助设 计窗口,它能显
22、示当前计窗口,它能显示当前 数据库全部的表、视图数据库全部的表、视图 相关系,并让用户操作相关系,并让用户操作 这些对象。这些对象。 当数据库设计器窗当数据库设计器窗 口激活时,格伴随出现口激活时,格伴随出现 “数据库数据库”菜单和菜单和 数据库设计器数据库设计器 工具栏。工具栏。 若用命令来打开数若用命令来打开数 据库表据库表. .则不需打开数则不需打开数 据库设计器,也不需了据库设计器,也不需了 解数据库是否打开。解数据库是否打开。 70 (2 2)数据库的创建)数据库的创建 数据库创建可以通过菜单命令或数据库创建可以通过菜单命令或 CREATE DATABSE CREATE DATABS
23、E 来进行。来进行。 ()() (3 3)数据库的关闭与删除)数据库的关闭与删除 CLOSE DATABASE ALLCLOSE DATABASE ALL:关闭所有的数据库。:关闭所有的数据库。 DELETE DATABASE DELETE DATABASE DELETETABLESDELETETABLES:当:当 包含包含DELETETABLESDELETETABLES子句时删除子句时删除 表示的数据库表示的数据库 及其中的表,否则仅删除数据库,并将它的表变为自由及其中的表,否则仅删除数据库,并将它的表变为自由 表。应该注意,若要删除数据库必须先关闭它。表。应该注意,若要删除数据库必须先关闭
24、它。 REMOVE TABLESREMOVE TABLES;从数据库中移去表,被移去的表变;从数据库中移去表,被移去的表变 为自由表。为自由表。 71 (4 4)数据库文件)数据库文件 数据库创建后将保存在扩展名为数据库创建后将保存在扩展名为.DBC.DBC数据库文件中。数据库文件中。 该文件本身也是一个表,其中记载了它的所有表的该文件本身也是一个表,其中记载了它的所有表的 参数,及索引、关联等有关参数。可以使用参数,及索引、关联等有关参数。可以使用USEUSE命令将命令将 其打开。如:其打开。如:use use 数据数据1.dbc1.dbc就可以打开名字为数据就可以打开名字为数据1 1的的
展开阅读全文