| 作者 |
| (加)Peter Gulutzan |
| 丛书名 |
| 软件开发技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9787111077732 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书全面介绍数据库查询语言的最新标准SQL-3,主要包括最基本的概念和原理、数据类型、SQL数据和SQL语法的创建与更改、约束和断言、使用检索、触发器、SQL事务、嵌入式SQL诊断处理等,并对新标准的扩展和增强功能以及SQL/CLI进行了详细地论述。书中所含的大量实例既可以帮助初学者迅速掌握SQL,也有助于高级SQL程序员提高应用和开发关系数据库的能力。 本书适合于从事SQL编程的专业人员以及从事数据库开发与研究人员学习使用。 |
| 目录 |
译者序 前言 第1章 引言 1.1 如何阅读本书 1.2 如何阅读SQL语法 1.3 什么是SQL? 1.4 SQL一致性 1.4.1 最小一致性 1.4.2 (SQL对象标识符) 1.4.3 增强一致性 1.5 SQL语句类 1.5.1 事务初始化SQL语句 1.5.2 应使用哪一个SQL语句? 1.6 SQL规则求值顺序 第2 章 一般概念 2.1 集合论 2.1.1 关系 2.1.2 集合运算 2.2 概要:关系模型 2.3 SQL环境 2.4 SQL对象 2.4.1 群集 2.4.2 (授权ID) 2.4.3 特权 2.4.4 2.4.5 模式 2.4.6 表 2.4.7 列 2.4.8 域和UDT 2.4.9 约束和断言 2.4.10 字符集 2.4.11 排序 2.4.12 翻译 2.4.13 触发器 2.4.14 模块 2.4.15 SQL调用例程 2.5 SQL数据类型 2.5.1 预定义(数据类型) 2.5.2 构造(数据类型) 2.5.3 用户定义类型 2.5.4 数据类型转换 2.5.5 站点 2.5.6 定位器 2.6 SQL语言元素 2.6.1 (SQL特殊字符) 2.6.2 (标记) 2.6.3 (分隔符) 2.6.4 (字符) 2.6.5 (关键字) 2.6.6 (标识符) 第 3章 数字 3.1 数字(字符) 3.1.1 (精确数字字符) 3.1.2 (近似数字字符) 3.2 数字(数据类型) 3.2.1 INTEGER 3.2.2 SMALLINT 3.2.3 NUMERIC 3.2.4 DECIMAL 3.2.5 FLOAT 3.2.6 REAL 3.2.7 DOUBLE PRECISION 3.3 IEEE二进制浮点 3.4 数字运算 3.4.1 CAST 3.4.2 赋值 3.4.3 比较 3.4.4 其他操作 3.5 选择正确的(数据类型) 3.6 供应商专用语 3.7 SQL库 第4章 位串 4.1 (位串字符) 4.1.1 二进制(位串字符) 4.1.2 十六进制(位串字符) 4.2 位串(数据类型) 4.2.1 BIT 4.2.2 BIT VARYING 4.3 位运算 4.3.1 CAST 4.3.2 赋值 4.3.3 比较 4.3.4 其他运算 第5章 二进制串 5.1 (BLOB字符) 5.2 BLOB(数据类型) 5.3 BLOB运算 5.3.1 CAST 5.3.2 赋值 5.3.3 比较 5.3.4 其他运算 第6章 字符 6.1 什 么是字符? 6.1.1 拉丁字母 6.1.2 英语 6.1.3 法语 6.1.4 德语 6.1.5 西班牙语 6.1.6 荷兰、意大利、葡萄牙、巴斯克和卡塔兰语 6.1.7 威尔士语 6.1.8 北欧语言 6.1.9 中欧语言 6.1.10 波罗的海语言 6.1.11 土耳其语 6.1.12 斯拉夫语 6.1.13 希腊语 6.1.14 其他语言 6.2 其中有什么? 6.3 预定义字符集 6.3.1 SQL_CHARACTER 6.3.2 GRAPHIC_IRV和ASCII_GRAPHIC 6.3.3 LATIN1 6.3.4 ISO8BIT和ASCII_FULL 6.3.5 UNICODE和ISO10646 6.3.6 SQL_TEXT 第7章 字符串 7.1 字符串(字符) 7.1.1 (字符串字符) 7.1.2 (国家特有字符串字符) 7.2 字符串(数据类型) 7.2.1 CHARACTER 7.2.2 NATIONAL CHARACTER 7.2.3 CHARACTER VARYING 7.2.4 NATIONAL CHARACTER VARYING 7.2.5 CHARACTER LARGE OBJECT 7.2.6 NATIONAL CHARACTER LARGE OBJECT 7.3 字符串操作 7.3.1 CAST 7.3.2 赋值 7.3.3 比较 7.3.4 其他操作 7.4 字符串和字符集 7.5 字符串和排序 7.6 供应商专用语 第8章 时间值 8.1 预备知识 8.1.1 格雷果里历 8.1.2 闰秒 8.1.3 时区 8.2 时间(字符) 8.2.1 日期时间(字符) 8.2.2 时间间隔(字符) 8.3 时间(数据类型) 8.3.1 日期时间(数据类型) 8.3.2 时间间隔(数据类型) 8.4 时间运算 8.4.1 CAST 8.4.2 赋值 8.4.3 比较 8.4.4 其他运算 8.5 供应商专用语 8.6 SQL程序库 第9章 布尔值 9.1 (布尔字符) 9.2 布尔(数据类型) 9.3 布尔值运算 9.3.1 CAST 9.3.2 赋值 9.3.3 比较 9.3.4 其他运算 第10章 聚合类型 10.1 聚合〈数据类型〉 10.1.1 ARRAY 10.1.2 ARRAY〈元素引用〉 10.1.3 〈数组值构造符〉 10.2 聚合运算 10.2.1 CAST 10.2.2 赋值 10.2.3 比较 10.2.4 其他运算 10.3 理解示例 第11章 行类型 11.1 行〈数据类型〉 11.1.1 ROW 11.1.2 〈行引用〉 11.1.3 〈字段引用〉 11.1.4 〈行值构造符〉 11.2 行操作 11.2.1 赋值 11.2.2 比较 11.2.3 其他操作 11.2.4 标量操作 11.2.5 集函数 11.2.6 判断 11.3 综合示例 第12章 引用类型 12.1 引用〈数据类型〉 12.2 引用操作 12.2.1 CAST 12.2.2 赋值 12.2.3 比较 12.2.4 其他操作 第13章 空值 13.1 用NULL代表丢失的数据 13.2 NULL的含义 13.3 三值逻辑 13.3.1 判断 13.3.2 〈空值判断〉 13.4 可空性 13.5 重复的缺陷 13.6 NULL的趣事 13.6.1 NULL规范 13.6.2 集函数 13.6.3 搜索 13.6.4 约束 13.6.5 标量操作符和函数 13.6.6 排序 13.6.7 UNIQUE判断 13.6.8 〈引用类型〉 13.6.9 SQL/CLI 13.7 优化程序问题 13.8 NULLoclasts与NULLodules 13.8.1 NULLoclast方 13.8.2 NULLodule方 第14章 SQL群集 14.1 群集的概念 14.2 群集的名称 第15章 授权ID 15.5 〈授权ID〉 15.1.1 用户 15.1.2 角色 15.1.3 〈授权ID〉的类型 15.1.4 〈授权ID〉名 15.2 CREATE ROLE语句 15.3 特权 15.4 GRANT语句 15.4.1 〈授权特权语句〉 15.4.2 〈授权角色语句〉 15.5 数据控制 15.5.1 操作和对象 15.5.2 用户/角色 15.5.3 所有者 15.5.4 表的授权 15.5.5 视图上的GRANT 15.5.6 过程的GRANT 15.5.7 约束 15.6 REVOKE语句 15.7 DROP ROLE语句 15.8 拥有一个什么样的特权 15.9 违反安全系统 15.10 用户函数 15.11 供应商专用语 第16章 SQL 16.1 16.2 名 16.3 信息模式 16.3.1 INFORMATION-SCHEMA基本表 16.3.2 INFORMATION_SCHEMA断言 16.3.3 INFORMATION_SCHEMA域 16.3.4 INFORMATION_SCHEMA视图 第17章 SQL模式 17.1 模式的构成 17.2 CREATE SCHEMA语句 17.3 DROP SCHEMA语句 第18章 SQL表和视图 18.1 基本表 18.2 视图 18.3 表名 18.3.1 〈表名〉 18.3.2 〈关联名〉 18.4 列 18.5 CREATE TABLE语句 18.5.1 〈表内容源子句〉 18.5.2 临时表 18.6 〈列定义〉 18.6.1 〈数据类型〉 18.6.2 DEFAULT子句 18.6.3 〈列约束〉 18.6.4 〈默认子句〉 18.7 ALTER TABLE语句 18.7.1 ADD [COLUMN] 子句 18.7.2 ALTER [COLUMN] SET DEFAULT子句 18.7.3 ALTER [COLUMN] DROP DEFAULT子句 18.7.4 ALTER [COLUMN] ADD SCOPE子句 18.7.5 ALTER [COLUMN] DROP SCOPE子句 18.7.6 DROP [COLUMN] 子句 18.7.7 ADD [表约束]子句 18.7.8 DROP CONSTRAINT子句 18.8 DROP TABLE语句 18.9 CREATE VIEW语句 18.9.1 特权 18.9.2 〈列名〉子句 18.9.3 AS子句 18.9.4 WITH CHECK OPTION子句 18.9.5 RECURSIVE视图 18.10 从视图以外获得更多 18.11 DROP VIEW语句 18.12 DECLARE TABLE语句 18.13 供应商专用语 第19章 SQL域 19.1 域 19.2 CREATE DOMAIN语句 19.2.1 特权 19.2.2 〈数据类型〉 19.2.3 DEFAULT子句 19.2.4 〈域约束〉 19.3 ALTER DOMAIN语句 19.3.1 SET DEFAULT子句 19.3.2 DROP DEFAULT子句 19.3.3 ADD〈域约束〉子句 19.3.4 DROP CONSTRAINT子句 19.4 DROP DOMAIN语句 19.5 常用数字域 第20章 SQL约束和断言 20.1 约束 20.1.1 非决定性约束 20.1.2 约束可延迟性 20.1.3 约束名 20.1.4 〈表约束〉和〈列约束〉 20.1.5 〈域约束〉 20.2 约束描述符 20.3 约束定义 20.3.1 〈约束名〉 20.3.2 约束类型 20.3.3 延迟模式 20.3.4 约束检查时间 20.4 约束_类型:UNIQUE约束 20.5 约束_类型:PRIMARY KEY约束 20.6 约束_类型:FOREIGN KEY约束 20.6.1 引用例 20.6.2 被引用表和列 20.6.3 特权 20.6.4 MATCH子句 20.6.5 引用行为 20.7 约束_类型:NOT NULL约束 20.8 约束_类型:CHECK约束 20.9 CREATE ASSERTION语句 20.10 互锁引用 20.11 撤消约束 20.12 DROP ASSERTION语句 20.13 供应商专用语 第21章 SQL字符集 21.1 字符集 21.2 CREATE CHARACTER SET语句 21.3 DROP CHARACTER SET语句 第22章 SQL排序 22.1 排序 22.1.1 排序名 22.1.2 使用形式转换名 22.2 CREATE COLLATION语句 22.3 DROP COLLATION语句 第23章 SQL翻译 23.1 翻译 23.2 CREATE TRANSLATION语句 23.3 DROP TRANSLATION语句 第24章 SQL触发器 24.1 触发器 24.2 CREATE TRIGGER语句 24.2.1 ON子句 24.2.2 触发器动作时间 24.2.3 触发事件 24.2.4 REFERENCING子句 24.2.5 触发动作 24.3 触发器的激活 24.4 触发器范例 24.4.1 触发器范例:记录删除 24.4.2 触发器范例:插入默认表达式 24.4.3 触发器范例:约束替换 24.4.4 触发器范例:级联更新 24.5 触发器与约束 24.6 DROP TRIGGER语句 24.7 供应商专用语 第25章 SQL调用例程 25.1 例程 25.1.1 SQL调用例程名 25.1.2 SQL参数名 25.2 CREATE PROCEDURE/FUN-CTION/METHOD语句 25.2.1 CREATE…(例程名)子句 25.2.2 参数说明清单 25.2.3 RETURNS 子句 25.2.4 例程特征子句 25.2.5 STATIC DISPATCH子句 25.2.6 (例程体) 25.3 例程参数 25.3.1 参数模式 25.3.2 (SQL参数名) 25.3.3 (数据类型) 25.3.4 RESULT 25.4 调用例程 25.4.1 CALL语句 25.4.2 (例程调用) 25.5 例程示例 25.5.1 例程示例:重置过程 25.5.2 例程范例:常量函数 25.5.3 例程范例:子查询函数 25.5.4 例程范例:撤消过程 25.6 RETURN语句 25.7 外部例程 25.7.1 NAME子句 25.7.2 PARAMETER STYLE语句 25.7.3 TRANSFORM GROUP子句 25.8 ALTER ROUTINE/PROCEDURE/ FUNCTION/METHOD语句 25.9 DROP ROUTINE/PROCEDURE/ FUNCTION/METHOD语句 25.10 供应商专用语 第26章 PSM:不仅仅是永久存储模块 26.1 永久存储模块 26.2 CREATE MODULE语句 26.3 ALTER MODULE语句 26.4 DROP MODULE语句 26.5 BEGIN...END复合语句 26.5.1 ATOMIC语句 26.5.2 变量 26.5.3 赋值语句 26.5.4 光标 26.5.5 状态 26.5.6 处理程序 26.5.7 标识 26.6 SIGNAL语句 26.7 RESIGNAL语句 26.8 程序控制 26.8.1 CASE语句 26.8.2 IF语句 26.8.3 LOOP语句 26.8.4 LEAVE语句 26.8.5 WHILE语句 26.8.6 REPEAT语句 26.8.7 FOR语句 26.8.8 ITERATE语句 26.9 是否每项内容都在SQL中? 26.10 供应商专用语 第27章 用户定义类型 27.1 UDT 27.2 UDT范例 27.3 基于UDT的列 27.4 定义一个基于UDT的类型表 27.4.1 将类型表作为一个表 27.4.2 将类表作为一个可例示的表 27.5 CREATE TYPE语句 27.6 CREATE TABLE语句 27.7 CREATE CAST语句 27.8 CREATE ORDERING语句 27.9 对象/关系用户的其他处理 27.9.1 ALTER TYPE语句 27.9.2 CREATE METHOD语句 27.9.3 CREATE TRANSFORM语句 27.9.4 DROP CAST语句 27.9.5 DROP ORDERING语句 27.9.6 DROP TRANSFORM语句 27.9.7 DROP TYPE语句 27.9.8 NEW语句 27.9.9 TREAT语句 27.9.10 DEREF函数 27.9.11 SPECIFICTYPE函数 27.9.12 间接引用操作 27.9.13 TYPE判断 27.10 对象/关系真正是面向对象的吗? 27.11 供应商专用语 第28章 SQL数据操作简介 28.1 (值规范) 28.2 (值表达式) 28.3 (行值构造符) 28.4 (目标规范) 第29章 简单搜索条件 29.1 真值 29.2 SELECT语句 29.2.1 FROM 子句 29.2.2 WHERE子句 29.2.3 GROUP BY子句 29.2.4 HAVING 子句 29.2.5 SELECT LIST子句 29.2.6 简单检索 29.2.7 限定检索 29.2.8 带有字符检索 29.2.9 带有计算表达式的检索 29.2.10 带有LIKE的检索 29.2.11 以SIMIL AR检索 29.2.12 利用IS NULL检索 29.2.13 带有标量函数的检索 29.2.14 使用日期计算检索 29.2.15 连结 29.3 判断 29.3.1 (比较判断) 29.3.2 (之间判断) 29.3.3 (相异判断) 29.4 搜索条件 29.4.1 子句中的搜索条件 29.4.2 搜索举例 29.5 SQL的(情况表达式) 29.6 供应商专用语 第30章 连接搜索 30.1 连接的表 30.1.1 笛卡尔过滤连接 30.1.2 笛卡尔过滤连接Ⅱ:CROSS JOIN 30.1.3 JOIN...USING 30.1.4 NATURAL JOIN 30.1.5 JOIN...ON 30.1.6 自连接 30.1.7 Theta连接 30.1.8 错误连接 30.1.9 多表连接 30.1.10 避免重复 30.1.11 外部连接 30.1.12 联合连接 30.2 语法规则 30.3 供应商专用语 第31章 子查询搜索 31.1 子查询语法 31.2 标量子查询 31.3 行子查询 31.4 表子查询 31.5 定量比较 31.5.1 ALL 31.5.2 ANY 和 SOME 31.5.3 定量检索 31.6 判断 31.6.1 [之内判断] 31.6.2 [存在判断] 31.6.3 [唯一判断] 31.6.4 [匹配判断] 31.6.5 [定量判断] 31.7 连接与子查询 31.8 子查询提示 31.9 子查询提示 31.10 供应商专用语 第32章 集成算符搜索 32.1 [查询表达式] 32.2 集合运算语法 32.2.1 ALL |