欢迎来到天天文库
浏览记录
ID:45349952
大小:369.00 KB
页数:92页
时间:2019-11-12
《第5章+SQL语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章关系数据库标准语言SQL第5章关系数据库标准语言SQL5-1SQL概述5-2查询功能5-3操作功能5-4定义功能5-5定义视图5-6小结5-1SQL概述SQL(StructuredQueryLanguage)SQL包含数据定义数据操纵和数据控制SQL语言具有如下特点:1.综合统一SQL语言是一种一体化语言,它包括数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。2.高度非过程化5-1-1SQL的主要特点SQL语言是一种高度非过程化的语言,它没有必要一步步
2、地告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,SQL语言就可以将要求交给系统,自动完成全部工作。3.面向集合的操作方式SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。4.以同一种语法结构提供两种使用方式SQL语言既是自含式语言,又是嵌入式语言。5.SQL语言非常简洁。见下表SQL功能命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、
3、REVOKEVFP在SQL方面提供支持数据定义、数据查询和数据操纵功能,没有提供数据控制功能。6.SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。VFP采用了后者。SQL命令动词5-1-2SQL语言的基本概念1.SQL语言的模式结构SQL语言支持关系数据库三级模式结构。其中外模式对应于视图(View)和部分基本表(BaseTable),模式对应于基本表,内模式对应于存储文件。l基本表基本表是本身独立存在的表,在SQL中一个关系就对应一个表。一些基本表对应一个存储文
4、件,一个表可以带若干索引,索引也存放在存储文件中。l存储文件存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理文件结构是任意的。l视图视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。用户可以用SQL语言对视图和基本表进行查询。在用户眼中,视图和基本表都是关系,而存储文件对用户是透明的。2.SQL语言的使用SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计
5、语言中以程序方式使用。VFP采用了后者。VFP在SQL方面提供支持数据定义、数据查询和数据操纵功能,但没有提供数据控制功能。5-2查询功能SQL的核心是查询。SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询模块组成,多个查询可以嵌套执行。VFP的SQLSELECT命令的语法格式如下:SELECT字段列表FROM表列表[WHERE<条件表达式>][GROUPBY….][HAVING<条件表达式>][UNION…][ORDERBY…]SELECT说明要查询
6、的数据FROM说明要查询的数据来自哪个或哪些表,可以对单个表或多个表进行查询;WHERE说明查询条件,即选择元组的条件;GROUPBY短语用于对查询结果进行分组,可以利用它进行分组汇总;HAVING短语必须跟随GROUPBY短语使用,它用来限定分组必须满足的条件;ORDERBY用来对查询的结果进行排序。订货管理系统数据库5-2-1简单查询例5·1从职工关系中检索所有的工资值。SELECT工资FROM职工SELECTDISTINCT工资FROM职工去掉查询结果中的重复值。例5·2检索仓库关系中的所
7、有元组。SELECT*FROM仓库等价于SELECT仓库号,城市,面积FROM仓库简单查询是SQL语言中最简单的查询操作,这些查询都基于单个表,可以带有简单的条件。由SELECT-FROM短语构成无条件查询,或由SELECT-FROM-WHERE短语构成条件查询。举例例5.3检索工资多于2220元的职工号SELECT职工号FROM职工WHERE工资>2220例5.4检索哪些仓库有工资多于2220元的职工SELECTDISTINCT仓库号FROM职工;WHERE工资>2220举例例5.5给出仓库”
8、SH1”或”SH2”工作,并且工资少于2250元的职工SELECT职工号FROM职工;WHERE工资<2250AND;(仓库号=“SH1”OR仓库号=”SH2”)以上检索只基于一个关系5-2-2简单的联接查询联接查询是一种基于多个关系的查询.例5.6找出工资多于2230元的职工号和他们所在的城市SELECT职工号,城市FROM职工,仓库;WHERE(工资>2230)AND(职工.仓库号=仓库.仓库号)仓库关系和职工关系之间存在一个一对多的联系。例5.7找出工作在面积大于1400的仓库的职工号以及
此文档下载收益归作者所有