




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3讲查询与统计主要内容:索引查询统计数据库表及其完整性视图
查询与统计是数据库应用的主要内容,索引是查询和统计中的重要概念。SQL是国际标准数据库语言,需要重点掌握。1一.索引关键知识点索引是什么?有何用?VFP中有哪些索引类型?如何建立和使用索引?如何更新和删除索引?P77学习建议深刻理解索引的概念重点掌握索引的建立和使用21.索引是什么?有何用?在日常生活中我们会经常遇到索引。例如图书目录、词典索引等。如果把数据库表比作一本书,则表的索引就如书的目录一样,它实际上就是记录的关键字与其相应地址的对应表。例如,当我们要在本书中查找有关“查询命令”的内容时,应该先通过目录找到“查询命令”所对应的页码,然后从该页码中找出所要的信息。借助索引,人们会很快地找到需要的东西。索引实际上是一种排序,但是它不改变数据表中数据的物理顺序,而是另外建立一个记录号列表。它指明由某一字段的值的大小决定的记录排列的顺序。表一旦按索引表达式建立索引后,就产生了一个相应的索引文件,一旦表和相关的索引文件被打开,则对表操作时,记录的顺序按索引表达式的值的逻辑顺序显示和操作。VFP可以为一个表建立多个索引,每一个索引确定了一种表记录的逻辑顺序。32.VFP中有哪些索引类型?按扩展名分类单索引文件,扩展名为.IDX复合索引文件,扩展名为
.CDX结构复合索引文件:其主名与表的主名相同。常用非结构复合索引文件:不常用按功能分类主索引:不允许关键字重复值。候选索引:不允许关键字重复值。唯一索引:允许关键字重复值,但输出无重复值。普通索引:允许关键字重复值,且输出可出现重复值。43.如何建立和使用索引?索引的建立表设计器命令方式
INDEXON<索引关键字>TAG<索引标识名>[FOR<条件>][ASCENDING|DESCENDING][CANDIDATE]索引的使用SETORDERTO[<数值表达式>|[TAG]<索引标识>[ASCENDING|DESCENDING]]5二.查询关键知识点建立数据库的目的是什么?——
查询传统的查询命令多工作区查询SQL查询用【查询设计器】建立查询学习建议本节涉及的概念新,内容多理解工作区的概念,掌握多工作区查询的方法——
编程有用重点掌握SQL查询——为学习更高级的数据库语言打好基础注意课堂讲解的例题61.传统的查询方法顺序查询LOCATEFOR<条件>[<范围>][WHILE<条件>]CONTINUE索引查询SEEK<表达式>LOCATE查询是搜索满足条件的所有记录吗?LOCATE命令中<范围>子句缺省时表示什么?SEEK命令中<表达式>常用的是什么类型?检验上述命令执行过程的相关函数有哪些?72.多工作区查询(1)VFP的工作区(2)表的关联查询关联的概念用数据工作期建立关联用命令建立关联8(1)VFP的工作区工作区用来干什么?P80VFP有多少工作区?VFP的工作区号:1~32767工作区1~10→
A~J(工作区别名)表也有别名:VFP自动使用文件名作为默认表别名,也可指定。工作区如何使用?SELECT<工作区号>∣<别名>&&指定要打开表的工作区号SELECT0&&选定当前尚未使用的最小号工作区SELECT()&&返回当前工作区号别名.字段名【例3-7】通过多区操作从部门代码查出部门名9(2)表的关联查询关联的概念父表与子表:P84图3.6表之间的关系:多对一、一对多(VFP能处理)
多对多(需分解,如何分解?——见P349)用数据工作期建立关联【例3-9】其中BROWSE命令的格式及用法详见P146用命令建立关联【例3-10】注意工作区命令的使用技巧103.SQL查询(1)何谓SQL,有何特点?(2)SQL的功能有哪些?(3)如何用SQL进行数据库查询?(4)实例分析——基于问题的案例教学11(1)何谓SQL,有何特点?SQL(StructureQueryLanguage)是关系数据库查询语言的国际标准,目前几乎所有的RDBMS都支持SQL。SQL只有为数不多的几条命令,但功能强大。SQL语言非常简洁,语法非常简单,很接近英语自然语言,因此容易学习与掌握。SQL是一种高度非过程化的语言。不必一步步告诉计算机“如何”去做,只需要描述清楚要“做什么”,系统就能自动完成全部工作。SQL既可直接使用,也可嵌入到高级语言中使用。12(2)SQL的功能有哪些?
SQL虽然是查询语言,但它集数据定义、查询、操纵和控制四种功能于一体,可完成数据库活动中的全部工作。SQL功能相应命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE13(3)如何用SQL进行数据库查询?格式:SELECT<目的列表达式>FROM<表名1>[,<表名2>]…[WHERE<条件表达式>][GROUPBY<列名表达式>[HAVING<条件表达式>]][ORDERBY<关键字表达式>]功能:根据WHERE子句的条件,从FROM子句指定的<表名>中找出满足条件的元组,再按SELECT子句中的目的<列表达式>,选出元组中的属性值形成结果表。如果有GROUPBY子句,则结果按<列名表达式>的值进行分组显示;如果带HAVING短语,则只显示满足条件的组。如果有ORDERBY子句,则结果按<关键字表达式>值的升序或降序排列。14(4)实例分析SB.DBFBMDM.DBFDX.DBFZZ.DBF
在关系模型中,文件存放两类数据:①实体本身的数据;②实体之间联系的数据15实例1~3
查询SB表的内容查询设备的编号、名称和部门名查询大修过的设备的编号、名称和部门名SELECT*FROMSBSELECT编号,SB.名称,BMDM.名称AS部门名;FROMSB,BMDM;WHERESB.部门=BMDM.代码SELECTDX.编号,SB.名称,BMDM.名称AS部门名;FROMSB,DX,BMDM;WHERESB.部门=BMDM.代码ANDDX.编号=SB.编号16实例4~6
将SB的记录按部门升序排列,部门相同时按价格降序排列查询价格低于20000元的设备名称、启用日期与部门,并按启用日期升序排列查询每一设备的增值金额SELECT编号,名称,部门,价格FROMSB;ORDERBY部门,价格DESCSELECT名称,启用日期,部门FROMSB;WHERE价格<20000;ORDERBY启用日期SELECT编号,SUM(增值)FROMZZGROUPBY编号17实例7
7.试汇总设备的大修费用,要求:(1)SB.编号头3位小于038。(2)显示设备名称与大修设备费用小计。(3)显示结果按大修费用小计降序排列。SELECTsb.名称,SUM(dx.费用);FROMsb,dx;WHEREsb.编号=dx.编号ANDLEFT(sb.编号,3)<“038”;GROUPBYdx.编号;
ORDERBY2DESC
18实例8
8.设销售管理数据库中有3个表,它们的结构如下:
商品(商品号C(6),品名C(18),单价N(8,2))部门(部门号C(6),部门名称C(18),部门经理C(8),电话C(12))销售(部门号C(6),商品号C(6),数量N(9,3),金额N(8,2))(1)查询“家电部”中销售金额在6000元以上的商品信息。(2)查询各部门的销售记录中的平均数量、平均金额及销售总数量。SELECT品名,部门名称,单价,金额;FROM商品,部门,销售;WHERE部门名称=“家电部”AND金额>6000AND;商品.商品号=销售.商品号AND部门.部门号=销售.部门号SELECT部门号,AVG(数量),AVG(金额),SUM(数量);FROM销售;GROUPBY部门号19实例9
9.设某大型工程项目有下列关系模式:供应商(供应商号,供应商名,城市)零件(零件代号,零件名,颜色,重量)工程(工程编号,工程名,城市)供应(供应商号,零件代号,工程编号,零件数量)(1)查询为工程编号J1提供零件的供应商的信息(2)查询所在城市为武汉的所有工程的细节(3)查询为所在城市为西安的工程提供零件的供应商的代号(1)SELECT供应商.供应商号,供应商.供应商名,供应商.城市;
FROM供应商,供应;
WHERE供应商.供应商号=供应.供应商号AND工程编号=“J1”(3)SELECT供应商号FROM工程,供应;
WHERE工程.工程编号=供应.工程编号AND城市=“西安”(2)SELECT*FROM工程WHERE城市=“武汉”20实例10
10.有如下3个关系模式:学生(学号,姓名,性别,专业,出生日期)
教师(教师编号,姓名,所在部门,职称)
授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)
(1)查找学习“数学”课程且成绩不及格的学生学号和任课教师。(2)查找学习“英语”课程的“计算机”专业学生的学号、姓名和成绩。(3)查找教师“李文”所教过的学生中成绩为90分以上(包括90分)的学生学号,姓名和专业。(1)SELECT学生.学号,教师.姓名FROM教师,授课;
WHERE课程名称=“数学”AND成绩<60AND教师.教师编号=授课.教师编号(3)SELECT学生.学号,学生.姓名,专业FROM学生,授课,教师;
WHERE学生.学号=授课.学号AND授课.教师编号=教师.教师编号;AND成绩>90AND教师.姓名=“李文”
(2)SELECT学生学号,姓名,成绩FROM学生,授课;
WHERE学生.学号=授课.学号AND课程名称=“英语”AND专业=“计算机”214.用查询设计器建立查询(1)查询设计器的界面组成P99(2)用查询设计器建立查询【例3-22】——课堂练习P96【例3-23】——上机实习P101(3)查询结果的图形输出【例3-24】——课堂练习P105查询结果还有哪些输出方式?在程序和表单中能否使用查询?22三.统计COUNT[TO<内存变量>]
[<范围>][FOR<条件>][WHILE<条件>]SUM[<数值型表达式>][TO<内存变量>∣ARRAY<数组>]
[<范围>][FOR<条件>][WHILE<条件>]AVERAGE[<数值型表达式>][TO<内存变量>∣ARRAY<数组>]
[<范围>][FOR<条件>][WHILE<条件>]CALCULATE[<表达式表>][TO<内存变量>∣ARRAY<数组>]
[<范围>][FOR<条件>][WHILE<条件>]TOTALTO<文件名>ON<关键字>[FIELDS<数值型字段表>]
[<范围>][FOR<条件>][WHILE<条件>]注意命令格式的异同点,以便理解和记忆。注意缺省状态23【课堂练习】(1)统计英语优、良、中、差的人数。(2)分别求男女生语文和数学的总分。(3)计算所有学生各科成绩的总分和平均分,并存入库文件中。(4)按性别对数学和英语两科进行分类汇总,并显示汇总结果。XSCJ.DBF24【命令序列】(1)USExscjCOUNTFOR英语>=85TON1COUNTFOR英语>=75AND英语<85TON2COUNTFOR英语>=60AND英语<75TON3COUNTFOR英语<60TON4?N1,N2,N3,N4(2)SUM语文,数学TOYW1,SX1FOR性别="男"SUM语文,数学TOYW2,SX2FOR性别="女"?"男生的语文和数学总分分别是:",YW1,SX1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国智能制造行业发展
- 深入分析2024年特许金融分析师考试试题及答案
- 企业资本结构优化策略试题及答案
- 【名师课件】3.1 课件:波的形成-2025版高一物理必修二
- 第七章 作业19 万有引力理论的成就-2025版高一物理必修二
- 蔬菜病害防治培训课件
- 教师个人研修计划4
- 卡通画房子课件
- 2024年CFA考试乐学试题及答案
- 初创企业融资的选择与评估试题及答案
- T-CBJ 3108-20221 无醇啤酒标准
- T-CHIDA 02-2022 T-CWEC 33-2022 城市水环境综合治理技术指南
- 2025年长沙轨道交通职业学院单招综合素质考试题库完美版
- 2025年高考作文备考之一人写遍热点话题:雷军站在时代的风口(金句+作文运用+范文)
- GIS知识培训课件
- 2025美国急性冠脉综合征(ACS)患者管理指南解读课件
- 脑脊液检查11课件
- 医院股东章程范本
- 全国职业院校技能大赛赛项规程(高职)农产品质量安全检测
- 过敏性休克完整版本
- TSG 23-2021 气瓶安全技术规程 含2024年第1号修改单
评论
0/150
提交评论