第三章 关系数据库标准语言 SQL语言
第三章 关系数据库标准语言 SQL语言
主要内容 §31SQL概述 ■§3.2查询语句 s33更新语句 §3.4 SQL DDL 83.5 SQL DCL §3.6视图 ■§3.7嵌入式SQL
主要内容 §3.1 SQL概述 §3.2 查询语句 §3.3 更新语句 §3.4 SQL DDL §3.5 SQL DCL §3.6 视图 §3.7 嵌入式SQL ■ ■
§3.SQL概述 SQL的发展及现状 、SQL数据库的体系结构 SQL的功能 四、SQL的形式 五、SQL的特点
§3.1 SQL概述 一、 SQL的发展及现状 二、SQL数据库的体系结构 三、SQL的功能 四、SQL的形式 五、SQL的特点
§31SQL概述 SQL的发展及现状 1974年,由 Boyce和 Chamberlin提出 19751979, IBM San Jose Research Lab的关系 数据库管理系统原型 System R实施了这种语言 SQL-86是第一个SL标准 SQL-89、SQL-92(SQL2)、SQL-99(SQL3) 大部分DBMS产品都支持SQL,成为操作数据库的 标准语言
§3.1 SQL概述 一、 SQL的发展及现状 –1974年,由Boyce和Chamberlin提出 –1975~1979,IBM San Jose Research Lab的关系 数据库管理系统原型System R实施了这种语言 –SQL-86是第一个SQL标准 –SQL-89、SQL-92(SQL2)、SQL-99(SQL3) –大部分DBMS产品都支持SQL,成为操作数据库的 标准语言
二、SQL数据库的体系结构 SQL用户 ⅤiewV ⅤewV2外模式 Base table Base Table Base table Base Table BI B2 B3 B4 +---+---式 Stored File Stored file Stored File Stored File SI SI 内模式 SQL语言支持的关系数据库的三级模式结构
二、SQL数据库的体系结构 SQL 用户 Base Table B1 View V1 View V2 Base Table B2 Base Table B3 Base Table B4 Stored File S1 Stored File S1 Stored File S1 Stored File S1 外模式 模式 内模式 SQL语言支持的关系数据库的三级模式结构
SQL用户 二、SQL数据库的体系结构 ew\ ewV2外模式 Base table Base TableBase Tablel 式 基本概念: tored File stored File Stored Fil 内模式 1、用户可以用SQL语言对视图(vew)和基本表(Base Tabe进行查询等操作,在用户观点里,视图和表一样, 都是关系。 2、视图是从一个或多个基本表中导出的表,本身不存 储在数据库中,只有其定义,可以将其理解为一个虚表。 3、基本表是本身独立存在的表,每个基本表对应一个 存储文件,一个表可以带若干索引,存储文件及索引组 成了关系数据库的内模式
二、SQL数据库的体系结构 基本概念: –1、用户可以用SQL语言对视图(View)和基本表(Base Table)进行查询等操作,在用户观点里,视图和表一样, 都是关系。 –2、视图是从一个或多个基本表中导出的表,本身不存 储在数据库中,只有其定义,可以将其理解为一个虚表。 –3、基本表是本身独立存在的表,每个基本表对应一个 存储文件,一个表可以带若干索引,存储文件及索引组 成了关系数据库的内模式。 SQL 用户 Base Table B1 View V1 View V2 Base Table B2 Base Table B3 Base Table B4 Stored File S1 Stored File S1 Stored File S1 Stored File S1 外模式 模式 内模式
SQL的功能 数据定义(DDL) 定义、删除、修改关系模式(基本表) m定义、删除视图(View) a定义、删除索引( Index) ■数据操纵(DM) n数据查询 ■数据增、删、改 数据控制(DCL) 用户访问权限的授予、收回
三、SQL的功能 ◼ 数据定义(DDL) ◼定义、删除、修改关系模式(基本表) ◼定义、删除视图(View) ◼定义、删除索引(Index) ◼ 数据操纵(DML) ◼数据查询 ◼数据增、删、改 ◼ 数据控制(DCL) ◼用户访问权限的授予、收回
四、SQL的组成(分类) DATABASE TABLE CREATE VIEW INDEX SQL DDL: ALTER DROP SQL QUERY: SELECT∴FROM∴ INSERT SQL SQL DML: UPDATE DELETE GRANT SQL DCL: REVOKE AUDIT 嵌入式SQL:
四、SQL的组成(分类) DATABASE TABLE CREATE VIEW INDEX SQL DDL: ALTER DROP SQL QUERY:SELECT … FROM … INSERT … SQL SQL DML: UPDATE … DELETE … GRANT SQL DCL: REVOKE AUDIT 嵌入式SQL:
0ey-( local).scsa-(unhd)- SElECT Snc学号 回x 五、SQL的形式 自日X|3韩国,√四日 ElECT Sno der by grade desc 交互式SQL ■一般DBMS都提供联机交互工具 50101 用户可直接键入SQL命令对 50202 数据库进行操作 \REsults 由DBMS来进行解释 Query batch completed. 嵌入式SQL 能将SQL语句嵌入到高级语言(宿主语言) m使应用程序充分利用SQL访问数据库的能力、宿主 语言的过程处理能力 ■一般需要预编译,将嵌入的SQL语句转化为宿主语言 编译器能处理的语句
五、SQL的形式 ◼ 交互式SQL ◼一般DBMS都提供联机交互工具 ◼用户可直接键入SQL命令对 数据库进行操作 ◼由DBMS来进行解释 ◼ 嵌入式SQL ◼能将SQL语句嵌入到高级语言(宿主语言) ◼使应用程序充分利用SQL访问数据库的能力、宿主 语言的过程处理能力 ◼一般需要预编译,将嵌入的SQL语句转化为宿主语言 编译器能处理的语句
六、SQL的特点 1.高度非过程化的语言:用户只需提出“干什么”,至于 怎么干”由DBMS解决;用户只需要早查询语句中提出需 要什么,DBMS即可按路径存取,并把结果返回给用户 2.面向集合的语言:每一个SQL的操作对象是一个或多个关 系,操作的结果也是一个关系。 3.一种语法结构,两种使用方式:即可独立使用,又可嵌入到 宿主语言中使用,具有自主型和宿主型两种特点。 4.具有査询、操作、定义和控制四种语言一体化的特点。 它只向用户提供一种语言,但该语言具有上述多种功能, 且每种操作只需一种操作符
六、SQL的特点 4. 具有查询、操作、定义和控制四种语言一体化的特点。 它只向用户提供一种语言,但该语言具有上述多种功能, 且每种操作只需一种操作符。 1. 高度非过程化的语言:用户只需提出“干什么”,至于 “怎么干”由DBMS解决;用户只需要早查询语句中提出需 要什么,DBMS即可按路径存取,并把结果返回给用户。 2. 面向集合的语言:每一个SQL的操作对象是一个或多个关 系,操作的结果也是一个关系。 3.一种语法结构,两种使用方式:即可独立使用,又可嵌入到 宿主语言中使用,具有自主型和宿主型两种特点