SQL语句及在数据处理工作中的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 外模式 (External Schema):子模式或用户模式
– 是数ห้องสมุดไป่ตู้库用户的数据视图,是与某一应用有关的数据 表示 – 一个数据库可有多个外模式
• 内模式 (Internal Schema):存储模式
– 数据物理结构和存储方式的描述,是数据在数据库内 部的表示方式 – 一个数据库只有一个内模式
– 降低数据的冗余度,节省存储空间 – 避免数据间的不一致性 – 使系统易于扩充
• 数据结构化
– 整体数据的结构化是数据库的主要特征之一 – 数据库中实现的是数据的真正结构化
• 数据结构用数据模型描述,无需程序定义和解释 • 数据可以变长 • 数据的最小存取单位是数据项
补充说明:数据独立性
物理独立性
学 号 姓 名 年 龄 性 别 系 名 年 级
关系语言
关系操作特点:
– 操作对象和结果都是集合 – 高度非过程化的语言,不必借助循环结构就可以完成 数据操作,能嵌入高级语言中使用
三种语言在表达能 力上完全等价
关系代数语言 元组关系演算语言 关系数据语言 关系演算语言 域关系演算语言
例如ISBL
例如APLHA, QUEL 例如QBE
SQL语句及在数据处理中的应用
提纲
1、数据库技术简介 2、SQL语言介绍 3、SQL语句在数据处理中的应用举例 4、Oracle SQL工具介绍
1、数据库技术简介
数据管理技术的产生和发展
• 什么是数据管理
– 对数据进行分类、组织、编码、存储、检索和维护 – 是数据处理的中心问题
• 数据管理技术的发展过程
SQL数据查询
条件查询
• 当要在表中找出满足某些条件的行时, 则需使用WHERE子句指定查询条件。 • WHERE子句中,条件通常通过三部分来 描述:
– 1. – 2. – 3. 列名; 比较运算符(双目运算符); 列名、常数。
SQL数据查询
运算符 =, >, <, >=, <=, != 多重条件 BETWEEN AND IN LIKE IS NULL 含义 比较大小 AND,OR 确定范围 确定集合 字符匹配 空值
– 人工管理阶段(40年代中--50年代中) – 文件系统阶段(50年代末--60年代中) – 数据库系统阶段(60年代末--现在)
• 数据管理技术的发展动力
– – – – 应用需求的推动 计算机硬件的发展 计算机软件的发展 理论发展
阶段1:人工管理阶段
• • • • 时间:50年代中期以前 背景:计算机主要用于科学计算 硬件:磁带、卡片、纸带,没有磁盘 软件:无操作系统(没有管理数据的软 件) • 特点: – 数据不保存 – 编写程序时要安排数据的物理存储 – 数据面向程序
数据库系统特点
– – – – 数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑 独立性 – 数据的结构化:整体结构化,数据存取粒度小 – 数据控制能力:由DBMS统一管理和控制
应用程序1 应用程序2
数据库 DBMS

补充说明
• 数据的高共享性的好处
SQL语言的基本概念与特点
• 1981年 IBM推出其商用关系关系数据库 SQL/DS , 并 将 其 名 字 改 为 SQL , 由 于 SQL语言功能强大,简洁易用,因此得 到了广泛的使用
– 今天广泛应用于各种大型数据库,如 SYBASE、INFORMIX、 ORACLE、DB2、 INGRES 等 , 也 用 于 各 种 小 型 数 据 库 , 如 FOXPRO、ACCESS。
具有关系代数和关系演算双重特点的语言 例如SQL
2、SQL语言介绍
SQL语言
• SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括 数据查询、数据操纵、数据定义和数 据控制四个部分。 • SQL 语言简洁、方便实用、功能齐全, 已成为目前应用最广的关系数据库语 言。
– 指用户的应用程序与存储在磁盘上的数据库中 数据是相互独立的 – 当数据的物理存储改变了,应用程序不用改变
逻辑独立性
– 指用户的应用程序与数据库的逻辑结构是相互 独立的 – 数据库的逻辑结构改变了,用户程序也可以不 变
三级模式结构
• 模式(Schema):逻辑模式
– 逻辑级上的视图,是数据库中全体数据的逻辑结构和 特征的描述它是由数据库管理系统提供的数据模式描 述语言(Data Description Language,DDL)来描述、定 义的,体现、反映了数据库系统的整体观。一个数据 库只有一个模式
SQL数据查询
• 例 查询全体学生的学号、姓名和年龄。
– SELECT SNO, SN, AGE FROM S
• 例 查询学生的全部信息。
– SELECT * FROM S – 用‘ * ’表示S表的全部列名,而不必逐一列出。
• 例 查询选修了课程的学生号。
– SELECT DISTINCT SNO FROM SC – 查询结果中的重复行被去掉
SQL语言
Create Table/Alter Table/Drop Table:定义基本表 DDL数据库 定义语言
Create View/Drop View:视图操作 Create Index/Drop Index:索引操作 Insert
SQL
DML数据操 纵语言
Delete Update Select Grant
数据处理 Pascal语言
7
4
2
6
4
SQL数据查询
SELECT命令的格式与基本使用
• 数据查询是数据库中最常见的操作。 • SQL语言提供SELECT语句,通过查询操作 可得到所需的信息。 • SELECT语句的一般格式为:
– – – – – SELECT〈列名〉[{,〈列名〉}] FROM〈表名或视图名〉[{,〈表名或视图名〉}] [WHERE〈检索条件〉] [GROUP BY <列名1>[HAVING <条件表达式>]] [ORDER BY <列名2>[ASC|DESC]];
SQL语言的基本概念与特点
• SQL语言的主要特点
– SQL语言是一种非过程语言,即用户只要提 出“干什么”即可,不必管具体操作过程, 也不必了解数据的存取路径,只要指明所需 的数据即可。 – SQL语言是一种面向集合的语言,每个命令 的操作对象是一个或多个关系,结果也是一 个关系。 – SQL语言既是自含式语言,又是嵌入式语言。 可独立使用,也可嵌入到宿主语言中。
人工管理阶段特点
– – – – – – 数据的管理者:应用程序,数据不保存 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:应用程序自己控制
应用程序1 应用程序2
... …
数据集1 数据集2
... …
应用程序n
• 上述查询均为不使用WHERE子句的无条件查 询,也称作投影查询。
SQL数据查询
• 另外,利用投影查询可控制列名的顺序, 并可通过指定别名改变查询结果的列标 题的名字。 例 查询全体学生的姓名、学号和年龄。 SELECT SNAME NAME, SNO, AGE FROM S • 其中,NAME为SNAME的别名
SQL数据查询
多重条件查询
• 当WHERE子句需要指定一个以上的查询 条件时,则需要使用逻辑运算符AND、 OR和NOT将其连结成复合的逻辑表达式。 • 其优先级由高到低为:NOT、AND、OR, 用户可以使用括号改变优先级。
王敏
张立 Course


18
19
MA
IS SC
Cno 1 2 3 4
Cname 数据库 数学 信息系统 操作系统
Cpqo 5
Ccredit 4 2
Sno
95001 95001 95001 95002 95002
Cno
1 2 3 2 3
Grade
92 85 88 90 80
1 6
4 3
5
6 7
数据结构
差,数据的逻辑结构改 变必须修改应用程序
应用程序1
应用程序2 文件1 文件2
... …
数据控制能力:应用程
序自己控制
... …
存取 方法
应用程序n
文件n
阶段3:数据库系统阶段
• 时间:60年代后期 ----• 背景:数据管理规模更为庞大,应用更广泛, 数据量剧增,共享要求(多种应用、多种语 言互相覆盖地共享数据集合)更强 • 硬件:有了大容量和快速存取磁盘 • 指导思想:对所有的数据实行统一的、集中 的、独立的管理,使数据存储独立于使用数 据的程序,实现数据共享。
两层映像
• 三级模式间的映射 数据库的三级模式是数据 库在三个级别 (层次)上的抽象,使用户能够 逻辑地、抽象地处理数据而不必关心数据在 计算机中的物理表示和存储。实际上 ,对于 一个数据库系统而言一有物理级数据库是客 观存在的,它是进行数据库操作的基础,概 念级数据库中不过是物理数据库的一种逻辑 的、抽象的描述(即模式),用户级数据库则 是用户与数据库的接口,它是概念级数据库 的一个子集(外模式)。
常用的比较运算符
SQL数据查询
比较大小
例 查询选修课程号为‘C1‟的学生的学号和成绩。 SELECT SNO,SCORE FROM SC WHERE CNO=‟C1‟
例3.26 查询成绩高于85分的学生的学号、课程号 和成绩。 SELECT SNO,CNO,SCORE FROM SC WHERE SCORE>85
增、删、改;查询
DCL数据控 制语言
权限管理
Revoke 嵌入式SQL的使用规定
例:学生—课程数据库,包括Student,Course,SC三个关系
Student Sno 95001 95002 Sname 李勇 刘晨 Ssex 男 女 Sage 20 19 Sdept CS IS
95003
95004
常用数据模型
• • • • 层次模型(Hierarchical Model) 网状模型(Network Model ) 关系模型(Relational Model) 面向对象模型(Object-Oriented Model)
关系模型的数据结构
– 关系 (Relation) : 一个关系对应一张表 – 元组 (Tuple) :表中的一行 – 属性 (Attribute): 表中的一列,给每一列取一个名称 即属性名 – 主码(Key):表中可唯一确定一个元组的某个属性组。 – 域(Domain):属性的取值范围 – 分量(Component):元组中的一个属性值 – 关系模式 (Relation Schema):对关系的描述
SQL语言的基本概念与特点
• SQL语言的主要特点
核心功能只有9个动词。
– SQL语言类似于英语的自然语言,简洁易用。
动词 SELECT CREATE,DROP, ALTER INSERT,UPDATE,DELETE GRANT,REVOKE
– – – –
SQL功能 数据库查询 数据定义 数据操纵 数据控制
SQL数据查询
• 查询的结果是仍是一个表。 • SELECT语句的执行过程是:
– 根据WHERE子句的检索条件,从FROM子 句指定的基本表或视图中选取满足条件的元 组(行),再按照SELECT子句中指定的列, 投影得到结果表。
SQL数据查询
– 如果有GROUP子句,则将查询结果按照< 列名1>相同的值进行分组。 – 如果GROUP子句后有HAVING短语,则 只输出满足HAVING条件的元组。 – 如果有ORDER子句,查询结果还要按照< 列名2>的值进行排序。
数据集n
阶段2:文件系统阶段
• 时间:50年代后期到60年代中期 • 背景:计算机不仅用于科学计算,而且用于 数据处理 • 硬件:磁盘、磁鼓 • 软件:操作系统中已经有了专门的管理数据 的软件(即文件系统)
文件系统的特点
数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性
SQL数据查询
• SELECT语句的格式:(大小写不区分)
– – – – – – – – – – SELECT [ALL|DISTINCT][TOP N [PERCENT][WITH TIES]] 列名1 [AS 别名1] [, 列名2 [ AS 别名2]…] [INTO 新表名] FROM 表名 1[[AS] 表1别名] [INNER|RIGHT|FULL|OUTER][OUTER]JOIN 表名2 [[AS] 表2别名] [WHERE 条件] [GROUP BY 列名] [HAVING 条件] [ORDER BY 列名]
相关文档
最新文档