52倍化的语sQ ■结构化查询语言SQL( Structured Query Language)是-种介于关系代数与关系演算之间的 语言,其功能包括查询、操纵、定义和控制四个方 面,是一个通用的功能极强的关系数据库标准语言。 ■sQL语言被确定为关系数据库系统的国际标准,被 绝大多数商品化关系数据库系统采用 使用SQL语言,可以指定数据库要做什么,而不需 要告诉SQL如何访问数据库
5.2 结构化查询语言SQL 5.2.1 SQL概念 ◼ 结构化查询语言 SQL(Structured Query Language)是一种介于关系代数与关系演算之间的 语言,其功能包括查询、操纵、定义和控制四个方 面,是一个通用的功能极强的关系数据库标准语言。 ◼ SQL语言被确定为关系数据库系统的国际标准,被 绝大多数商品化关系数据库系统采用。 ◼ 使用SQL语言,可以指定数据库要做什么,而不需 要告诉SQL如何访问数据库
清华大学出版社 RESS 1.SQL数据库的体系结构 ■SQL数据库的体系结构基本上是三级模式结构 SQL用户 用户1 用户2 用户3 用户4 外模式 视图1[视圈2 对应于 模式 B对应于 基本表1基本表2基本表3基本表4 内式「存情文件在情文件存情文件存情文件
5.2.1 SQL概念 1.SQL数据库的体系结构 ◼SQL数据库的体系结构基本上是三级模式结构 SQL用户 用户1 用户2 用户3 用户4 视图1 视图2 基本表2 存储文件1 基本表1 基本表3 基本表4 存储文件2 存储文件3 存储文件4 BaseTable Stored File View 外模式 对应于 模式 对应于 内模式 对应于
清华大学出版社 RESS ■SQL数据库的体系结构具有如下特征 1)一个SQL模式( Schema)是表和约束的集合。 (2)一个表( Table)是行(Row)的集合,每行是列 ( Column)的序列,每列对应一个数据项。 (3)表可以是一个基本表,也可以是一个视图。基 本表是实际存储在数据库中的表。 视图是从基本表中导出的表,它本身不独立存储 在数据库中,数据库中只存放视图的定义而不存 放视图的数据,这些数据仍存放在导出枧图的基 本表中,因此视图是一个虚表
◼ SQL数据库的体系结构具有如下特征 (1)一个SQL模式(Schema)是表和约束的集合。 (2)一个表(Table)是行(Row)的集合,每行是列 (Column)的序列,每列对应一个数据项。 (3)表可以是一个基本表,也可以是一个视图。基 本表是实际存储在数据库中的表。 ◼ 视图是从基本表中导出的表,它本身不独立存储 在数据库中,数据库中只存放视图的定义而不存 放视图的数据,这些数据仍存放在导出视图的基 本表中,因此视图是一个虚表。 结构化查询语言 5.2.1 SQL概念
清华大学出版社 RESS 个基本表可以跨一个或多个存储文件 一个存储文件也可存放一个或多个基本表, 个表可以带若干索引, 索引也存放在存储文件中 每个存储文件对应外部存储器上一个物理文件。 在用户看来,视图和基本表是一样的,都是关系 (即表格)
◼ 一个基本表可以跨一个或多个存储文件, ◼ 一个存储文件也可存放一个或多个基本表, ◼ 一个表可以带若干索引, ◼ 索引也存放在存储文件中。 ◼ 每个存储文件对应外部存储器上一个物理文件。 ◼ 在用户看来,视图和基本表是一样的,都是关系 (即表格)。 结构化查询语言 5.2.1 SQL概念
清华大学出版社 Ss 3.SQL的组成:分成四个部分: ■数据定义 SQL DDL 定义sQL模式、基本表、视图和索引 ■数据操纵 SQL DML: 数据操纵分成数据查询和数据更新两类。其中数据 更新又分成插入、删除和修改三种操作。 ■数据控制 SQL DCL 数据控制包括对基本表和视图的授权,完整性规则 的描述,事务控制语句等 ■嵌入式SQL sQL语句在嵌入到宿主语言程序中时的使用规则
3. SQL的组成:分成四个部分: ◼数据定义SQL DDL: 定义SQL模式、基本表、视图和索引。 ◼数据操纵SQL DML: 数据操纵分成数据查询和数据更新两类。其中数据 更新又分成插入、删除和修改三种操作。 ◼数据控制SQL DCL: 数据控制包括对基本表和视图的授权,完整性规则 的描述,事务控制语句等。 ◼嵌入式SQL: SQL语句在嵌入到宿主语言程序中时的使用规则。 结构化查询语言 5.2.1 SQL概念
清华大学出版社 ■SQL的数据定义部分包括对SQL模式( Schema) 基本表(关系, Table)、视图(view)、索引 Index)的刨建和撒消操作。 1.SQL模式的创建和撤消 (1)SQL模式的创建 ■SQL模式(即数据库模式)被定义为基本表的集合。 sQL模式由模式名和模式拥有者的用户名或帐号 来确定,并包含模式中每一个元素(基本表、视图、 索引等)的定义。 刨建一个SQL模式,就是定义了一个存储空间
◼ SQL的数据定义部分包括对SQL模式(Schema)、 基 本 表 ( 关 系 , Table)、 视 图 ( View)、 索 引 (Index)的创建和撤消操作。 1.SQL模式的创建和撤消 (1)SQL模式的创建 ◼ SQL模式(即数据库模式)被定义为基本表的集合。 ◼ SQL模式由模式名和模式拥有者的用户名或帐号 来确定,并包含模式中每一个元素(基本表、视图、 索引等)的定义。 ◼ 创建一个SQL模式,就是定义了一个存储空间。 结构化查询语言 5.2.2 SQL数据定义DLL
清华大学出版社 ■创建SQL模式的语法如下: CREATE SCHEMA AUTHORIZATION ■例如,定义教学数据库的SQL模式 CREATE SCHEMA ST COURSE AUTHORIZATION 李斌 该模式名为 IST COURSE,拥有者为李斌。 刨建SQL模式一般不用“ CREATE SCHEMA.",而 用“ CREATE DATABASE
◼ 创建SQL模式的语法如下: CREATE SCHEMA AUTHORIZATION ◼ 例如,定义教学数据库的SQL模式: CREATE SCHEMA ST_COURSE AUTHORIZATION 李斌 ◼ 该模式名为ST_COURSE,拥有者为李斌。 ◼ 创建SQL模式一般不用“CREATE SCHEMA…” ,而 用“CREATE DATABASE…” 。 结构化查询语言 5.2.2 SQL数据定义DLL
清华大学出版社 (2)S哑L模式的撤消 ■使用DRoP语句撒消SQL模式。DROP语句的语法 如下 DROP SCHEMA 模式名> [CASCADERESTRICTI 撤消方式有两种 ③ CASCADE(连锁式)方式,执行DROP语句时,把 SQL模式及其下属的基本表、视图、索引等所有元 素全部撤消 ② RESTRICT(约束式)方式,执行DROP语句时,只有 当sQL模式中没有任何下属元素时,才能撤消SQL 模式,否则拒绝执行DROP语句
(2)SQL模式的撤消 ◼ 使用DROP语句撤消SQL模式。DROP语句的语法 如下: DROP SCHEMA [CASCADE|RESTRICT] ◼ 撤消方式有两种: ①CASCADE(连锁式)方式,执行DROP语句时,把 SQL模式及其下属的基本表、视图、索引等所有元 素全部撤消; ②RESTRICT(约束式)方式,执行DROP语句时,只有 当SQL模式中没有任何下属元素时,才能撤消SQL 模式,否则拒绝执行DROP语句。 结构化查询语言 5.2.2 SQL数据定义DLL
清华大学出版社 ■DRoP语句的语法: DROP SCHEMA 模式名> [CASCADERESTRICTI 例如,要撤消SQL模式 ST COURSE及其下属所 有的元素,可用下列语句实现 DROP SCHEMA ST COURSE CASCADE
5.2.2 SQL数据定义DLL ◼ DROP语句的语法: DROP SCHEMA [CASCADE|RESTRICT] ◼ 例如,要撤消SQL模式ST_COURSE及其下属所 有的元素,可用下列语句实现: DROP SCHEMA ST_COURSE CASCADE
清华大学出版社 2.SQL提供的基本数据类型 (1)数值型 INTEGER 长整数(也可写成INT) SMALLINT 短整数 REAL 取决于机器精度的浮点数 DOUBLE PRECISION取决于机器精度的双精度浮点 数 FLOAT(n) 浮点数精度至少为n位数字 NUMERIC(pd)定点数,由p位数字(不包括符 号、小数点)组成,小数点后 面有d位数字(也可写成 DECIMALY,)或DEC(P,d)
2. SQL提供的基本数据类型 (1)数值型 INTEGER 长整数(也可写成INT) SMALLINT 短整数 REAL 取决于机器精度的浮点数 DOUBLE PRECISION 取决于机器精度的双精度浮点 数 FLOAT(n) 浮点数,精度至少为n位数字 NUMERIC(p,d) 定点数,由p位数字(不包括符 号、小数点)组成,小数点后 面有d位数字(也可写成 DECIMAL(P 结构化查询语言 ,d)或DEC(P,d)) 5.2.2 SQL数据定义DLL