引导读者循序渐进地完成常见的SQL任务
以实际的例子说明概念的应用方法
配套练习题帮助及时检验所学内容
本书可作为SQL或数据库相关课程的参考教材,也可作为SQL的案例参考和函数速查手册,适合有一定编程基础、想要上手使用SQL的人阅读。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | SQL入门经典(第7版) |
分类 | 教育考试-考试-计算机类 |
作者 | [美]赖安·斯蒂芬斯(Ryan Stephens) |
出版社 | 人民邮电出版社 |
下载 | ![]() |
简介 | 编辑推荐 引导读者循序渐进地完成常见的SQL任务 以实际的例子说明概念的应用方法 配套练习题帮助及时检验所学内容 本书可作为SQL或数据库相关课程的参考教材,也可作为SQL的案例参考和函数速查手册,适合有一定编程基础、想要上手使用SQL的人阅读。 内容推荐 本书用25章的篇幅帮助读者使用SQL构建高效的数据库,高效地检索数据,以及掌握从管理数据库性能到数据库安全等各个方面的知识。 本书在第6版的基础上进行了全面修订和重新组织,节奏更紧凑,更有助于深入理解现代SQL开发。本书基于标准化的SQL,使用免费、易用的Oracle Database Express展示代码。此外,本书还带有更多示例和实践练习。 本书以直观、循序渐进的方式展示如何使用数据库结构、对象、查询、表等。读者将学习如何应用高级技术,包括事务、连接,以及使用视图和子查询进行复杂数据检索。 循序渐进的示例引导读者完成最常见的SQL任务。 答疑和实践练习帮助读者测试所学知识并提升技能。 “注意”“提示”“警告”指出学习要点和问题解决方案。 本书主要内容 关系型数据库和SQL的概念 如何理解“数据”这一概念 建立数据库并规划高效的数据库设计 定义实体和关系,建立数据结构,并创建数据库对象 将原始数据库“规范化”为逻辑组织的表格 编辑关系型数据和表格并管理事务 编写有效、高性能的查询 对数据进行分类、汇总、排序、分组和调整 处理日期和时间 在查询中结合表,使用子查询,并组合多个查询 通过索引和其他技术优化性能 管理数据库和用户 保护数据库和数据 目录 第1章 关系型数据库和 SQL 1 1.1 在数据驱动的世界中壮大 2 1.1.1 组织、数据和用户群 2 1.1.2 数据库的定义 3 1.1.3 常见的数据库环境 3 1.1.4 客户机/服务器环境 4 1.1.5 基于 Web 的环境 4 1.2 关系型数据库简介 5 1.2.1 示例数据库简介 5 1.2.2 数据库的逻辑元素和物理元素 8 1.2.3 数据库模式 9 1.3 关系型数据库持续领跑 9 1.4 示例和习题 10 1.5 小结 10 1.6 答疑 10 1.7 实践练习 11 第2章 SQL 语言的组成部分 12 2.1 SQL 的定义和历史 12 2.2 SQL 是一种标准语言 13 2.2.1 ANSI SQL 标准 13 2.2.2 标准的重要性 14 2.2.3 符合 SQL 标准的各种产品 14 2.2.4 本书用到的 SQL 产品 15 2.2.5 为自己和组织选择合适的产品 15 2.3 SQL 会话 15 2.3.1 CONNECT 16 2.3.2 DISCONNECT 和 EXIT 16 2.4 SQL 命令的种类 16 2.4.1 定义数据库结构 16 2.4.2 操作数据 17 2.4.3 获取数据库中的数据 17 2.4.4 数据控制语言 17 2.4.5 数据管理命令的使用 18 2.4.6 事务控制命令的使用 18 2.5 小结 18 2.6 答疑 18 2.7 实践练习 19 第3章 了解自己的数据 20 3.1 BIRD 数据库:本书的示例和习题 20 3.2 如何了解数据 20 3.2.1 鸟类信息 21 3.2.2 组织和用户 21 3.2.3 扩充数据库的机会 22 3.3 实体关系图 22 3.3.1 实体和关系 22 3.3.2 详细的实体/表 23 3.3.3 属性(列)的定义 23 3.3.4 表的命名标准 25 3.4 示例和习题 25 3.5 小结 25 3.6 答疑 25 3.7 实践练习 26 第4章 建立数据库 27 4.1 找到所需脚本文件 27 4.2 为实践练习做准备 27 4.2.1 下载并安装数据库软件 28 4.2.2 其他可选的数据库软件 30 4.2.3 创建具备所需权限的用户 31 4.2.4 为 BIRDS 数据库创建表和数据 32 4.3 各张表的数据清单 34 4.3.1 BIRDS 表的第1 部分 34 4.3.2 BIRDS 表的第2 部分 35 4.3.3 FOOD 表 35 4.3.4 BIRDS_FOOD 表 36 4.3.5 MIGRATION 表 37 4.3.6 BIRDS_MIGRATION 表 37 4.3.7 NESTS 表 38 4.3.8 BIRDS_NESTS 表 38 4.3.9 NICKNAMES 表 39 4.3.10 LOCATIONS 表 39 4.3.11 PHOTOS 表 40 4.4 小结 40 4.5 答疑 40 4.6 实践练习 40 第5章 关系型(SQL)数据库设计的基础知识 42 5.1 理解数据库设计与 SQL 的关系 42 5.2 数据库设计过程 42 5.3 选择数据库设计方法 43 5.4 用简单过程设计 BIRDS 数据库 44 5.4.1 了解数据 44 5.4.2 收集信息:向合适的人提出合适的问题 47 5.4.3 数据建模 47 5.5 逻辑模型与物理设计 49 5.6 数据库的生命周期 49 5.6.1 开发环境 50 5.6.2 测试环境 50 5.6.3 生产环境 50 5.7 小结 51 5.8 答疑 51 5.9 实践练习 51 第6章 定义实体和关系 53 6.1 为数据创建模型 53 6.1.1 数据 53 6.1.2 关系 54 6.1.3 参照完整性 54 6.2 定义关系 56 6.2.1 一对一关系 56 6.2.2 一对多关系 56 6.2.3 多对多关系 56 6.2.4 递归关系 57 6.3 应用参照完整性 57 6.3.1 确定主键 58 6.3.2 确定外键 58 6.4 创建实体关系 59 6.5 小结 60 6.6 答疑 60 6.7 实践练习 61 第7章 数据库的规范化 63 7.1 什么是规范化 63 7.1.1 原始数据库 64 7.1.2 数据库逻辑设计 64 7.2 最常见的范式 65 7.2.1 第一范式(FNF):有主键 65 7.2.2 第二范式(SNF):全主键依赖 66 7.2.3 第三范式(TNF):只有主键依赖 69 7.2.4 命名规范 70 7.2.5 规范化的优点 71 7.2.6 规范化的缺点 72 7.3 数据库的反规范化 72 7.4 把范式应用于数据库 72 7.4.1 把第一范式应用于鸟类救助机构数据 72 7.4.2 把第二范式应用于鸟类救助机构数据 73 7.4.3 把第三范式应用于鸟类救助机构数据 73 7.5 小结 74 7.6 答疑 74 7.7 实践练习 75 第8章 定义数据结构 76 8.1 定义数据 76 8.2 理解基本数据类型 77 8.2.1 定长字符串 78 8.2.2 变长字符串 78 8.2.3 大对象类型 78 8.2.4 数值类型 79 8.2.5 DECIMAL 类型 79 8.2.6 整数 80 8.2.7 浮点数 80 8.2.8 日期和时间类型 80 8.2.9 字符串字面量 81 8.2.10 NULL 数据类型 82 8.2.11 布尔值 82 8.2.12 用户自定义类型 82 8.2.13 域 83 8.3 在 BIRDS 数据库中运用数据类型 83 8.4 小结 84 8.5 答疑 85 8.6 实践练习 85 第9章 数据库对象的创建和管理 87 9.1 数据库对象和模式的关系 87 9.2 表:数据的主要存储对象 88 9.2.1 列 89 9.2.2 行 90 9.2.3 CREATE TABLE 语句 90 9.2.4 命名规范 92 9.2.5 ALTER TABLE 命令的用法 92 9.2.6 由现有表创建新表 96 9.2.7 表的删除操作 98 9.3 完整性约束 99 9.3.1 主键约束 99 9.3.2 专享性约束 100 9.3.3 外键约束 100 9.3.4 NOT NULL 约束 101 9.3.5 检查约束 101 9.3.6 约束的删除操作 102 9.4 小结 102 9.5 答疑 102 9.6 实践练习 103 第10章 操作数据 104 10.1 数据操纵语言概述 104 10.2 用新数据填充表 105 10.2.1 在表中插入数据 105 10.2.2 在表的指定列插入数据 106 10.2.3 由另一张表插入数据 107 10.2.4 插入 NULL 值 108 10.3 更新现有数据 108 10.3.1 更新一列数据 108 10.3.2 更新一条或多条记录的多个列 110 10.4 删除数据 111 10.5 小结 112 10.6 答疑 112 10.7 实践练习 113 第11章 管理数据库事务 114 11.1 事务的定义 114 11.2 事务的控制 115 11.2.1 COMMIT 命令 115 11.2.2 ROLLBACK 命令 117 11.2.3 SAVEPOINT 命令 120 11.2.4 SET TRANSACTION 命令 124 11.3 处理糟糕的事务控制 124 11.4 小结 124 11.5 答疑 124 11.6 实践练习 125 第12章 数据库查询 127 12.1 SELECT 语句的用法 127 12.1.1 理解 SELECT 语句 128 12.1.2 查询唯一值 130 12.1.3 理解 FROM 子句 130 12.1.4 理解 WHERE 子句 131 12.1.5 理解 ORDER BY 子句 133 12.2 大小写敏感性 135 12.3 查询语句编写起步 136 12.3.1 对记录计数 138 12.3.2 查询其他用户的表 139 12.3.3 列别名的用法 140 12.4 小结 141 12.5 答疑 141 12.6 实践练习 141 第13章 用操作符归类数据 143 13.1 SQL 操作符的定义 143 13.2 比较操作符的用法 143 13.2.1 等于 144 13.2.2 不等于 144 13.2.3 小于和大于 145 13.2.4 比较操作符的组合使用 146 13.3 逻辑操作符的用法 147 13.3.1 IS NULL 147 13.3.2 BETWEEN 148 13.3.3 IN 149 13.3.4 LIKE 150 13.3.5 EXISTS 151 13.3.6 ALL、SOME 和 ANY 151 13.4 连接操作符的用法 152 13.4.1 AND 152 13.4.2 OR 153 13.5 取反操作符的用法 154 13.5.1 不等于 155 13.5.2 NOT BETWEEN 155 13.5.3 NOT IN 156 13.5.4 NOT LIKE 156 13.5.5 IS NOT NULL 156 13.5.6 NOT EXISTS 157 13.6 算术操作符的用法 157 13.6.1 加法 158 13.6.2 减法 158 13.6.3 乘法 159 13.6.4 除法 159 13.6.5 算术操作符的组合使用 160 13.7 小结 161 13.8 答疑 161 13.9 实践练习 161 第14章 表连接查询 163 14.1 查询多张表中的数据 163 14.2 理解连接 164 14.2.1 等值连接 164 14.2.2 表的别名 166 14.2.3 不等连接 166 14.2.4 外连接 168 14.2.5 自连接 169 14.2.6 用多个键连接表 172 14.3 表连接的注意事项 173 14.3.1 基表 173 14.3.2 笛卡儿积 174 14.4 小结 176 14.5 答疑 176 14.6 实践练习 177 第15章 调整数据的显示格式 178 15.1 ANSI 字符函数 178 15.2 常用的字符函数 179 15.2.1 CONCAT 函数 179 15.2.2 UPPER 函数 181 15.2.3 LOWER 函数 181 15.2.4 DECODE 函数 182 15.2.5 SUBSTR 函数 183 15.2.6 TRANSLATE 函数 183 15.2.7 REPLACE 函数 184 15.2.8 LTRIM 函数 184 15.2.9 RTRIM 函数 185 15.3 其他字符函数 185 15.3.1 LENGTH 函数 185 15.3.2 COALESCE 函数 186 15.3.3 LPAD 函数 187 15.3.4 RPAD 函数 187 15.3.5 ASCII 函数 187 15.4 数学函数 188 15.5 格式转换函数 188 15.5.1 将数值转换为字符串 189 15.5.2 将字符串转换为数值 189 15.6 字符函数的组合使用 190 15.7 小结 190 15.8 答疑 190 15.9 实践练习 191 第16章 日期和时间 193 16.1 日期的存储方式 193 16.1.1 标准的日期和时间类型 193 16.1.2 DATETIME 的构成元素 194 16.1.3 各种产品的日期类型 194 16.2 日期函数的用法 195 16.2.1 获取当前日期 195 16.2.2 时区的处理 197 16.2.3 日期相加 198 16.2.4 时间相减 199 16.2.5 其他日期函数的用法 200 16.3 日期的格式转换 201 16.3.1 日期格式符的用法 201 16.3.2 将日期转换为字符串 203 16.3.3 将字符串转换为日期 204 16.4 小结 204 16.5 答疑 204 16.6 实践练习 205 第17章 汇总查询结果数据 206 17.1 聚合函数的用法 206 17.1.1 COUNT 函数 207 17.1.2 SUM 函数 208 17.1.3 AVG 函数 209 17.1.4 MAX 函数 210 17.1.5 MIN 函数 210 17.2 数据分组 211 17.3 GROUP BY 子句的用法 211 17.3.1 分组函数 212 17.3.2 对所选数据分组 212 17.3.3 创建分组并使用聚合函数 212 17.4 GROUP BY 和 ORDER BY 的区别 213 17.5 CUBE 和 ROLLUP 表达式的用法 215 17.6 HAVING 子句的用法 217 17.7 小结 218 17.8 答疑 218 17.9 实践练习 219 第18章 用子查询定义未知数据 221 18.1 子查询的定义 221 18.1.1 子查询与 SELECT 语句合作 222 18.1.2 子查询与 CREATE TABLE 语句合作 224 18.1.3 子查询与 INSERT 语句合作 225 18.1.4 子查询与 UPDATE 语句合作 226 18.1.5 子查询与 DELETE 语句合作 227 18.2 嵌套子查询 227 18.3 关联子查询 229 18.4 小结 230 18.5 答疑 230 18.6 实践练习 231 第19章 组合查询 232 19.1 单体查询和组合查询的区别 232 19.2 组合查询操作符的用法 233 19.2.1 UNION 操作符 233 19.2.2 UNION ALL 操作符 236 19.2.3 INTERSECT 操作符 238 19.2.4 EXCEPT 和 MINUS 操作符 239 19.3 组合查询中的 ORDER BY 240 19.4 组合查询中的 GROUP BY 242 19.5 获取准确的数据 243 19.6 小结 244 19.7 答疑 244 19.8 实践练习 244 第20章 视图和同义词 247 20.1 视图的定义 247 20.1.1 利用视图简化数据的访问 248 20.1.2 将视图用作一种安全措施 248 20.1.3 利用视图维护汇总数据 248 20.2 创建视图 249 20.2.1 由单张表创建视图 249 20.2.2 由多张表创建视图 250 20.2.3 由视图创建视图 253 20.2.4 由视图创建表 256 20.2.5 加入 ORDER BY 子句 257 20.3 通过视图更新数据 257 20.4 删除视图 261 20.5 嵌套视图对性能的影响 261 20.6 同义词的定义 261 20.6.1 同义词的创建 262 20.6.2 同义词的删除 263 20.7 小结 263 20.8 答疑 263 20.9 实践练习 263 第21章 管理数据库用户和安全 265 21.1 管理数据库用户 266 21.1.1 用户类型 266 21.1.2 用户管理由谁负责 266 21.1.3 用户在数据库中的位置 267 21.1.4 用户和模式的区别 267 21.2 用户管理过程 268 21.2.1 创建用户 268 21.2.2 模式的创建 271 21.2.3 模式的删除 272 21.2.4 修改用户 273 21.2.5 监控用户会话 273 21.2.6 删除用户权限 274 21.3 充分利用工具软件 274 21.4 数据库安全 275 21.5 赋权 275 21.5.1 系统级权限 276 21.5.2 对象级权限 276 21.5.3 赋予和撤销权限的权限 277 21.6 控制用户访问 277 21.6.1 GRANT 命令 278 21.6.2 REVOKE 命令 279 21.6.3 列级的访问控制 279 21.6.4 PUBLIC 账户 279 21.6.5 权限组 280 21.7 通过角色控制权限 280 21.7.1 CREATE ROLE 语句 281 21.7.2 DROP ROLE 语句 281 21.7.3 SET ROLE 语句 282 21.8 小结 282 21.9 答疑 283 21.10 实践练习 283 第22章 利用索引改善性能 285 22.1 索引的定义 285 22.2 索引的工作原理 286 22.3 CREATE INDEX 命令的用法 286 22.4 索引的类型 287 22.4.1 单列索引 287 22.4.2 专享索引 288 22.4.3 复合索引 289 22.4.4 隐式索引 290 22.5 何时使用索引 290 22.6 何时不用索引 290 22.7 修改索引 292 22.8 删除索引 292 22.9 小结 292 22.10 答疑 292 22.11 实践练习 293 第23章 改善数据库性能 294 23.1 SQL 语句调优的定义 294 23.2 数据库调优和 SQL 语句调优的对比 294 23.3 格式化 SQL 语句 295 23.3.1 格式化语句提升可读性 295 23.3.2 重排 FROM 子句中表的顺序 297 23.3.3 重排表连接条件的顺序 297 23.3.4 最严筛选条件 298 23.4 全表扫描 299 23.5 其他影响性能的因素 300 23.5.1 使用 LIKE 操作符和通配符 300 23.5.2 避免使用 OR 操作符 301 23.5.3 避免使用 HAVING 子句 301 23.5.4 避免大规模排序操作 301 23.5.5 使用存储过程 301 23.5.6 使用视图 302 23.5.7 批量载入数据时禁用索引 302 23.6 基于成本的优化 302 23.7 小结 303 23.8 答疑 303 23.9 实践练习 304 第24章 系统目录的用法 306 24.1 系统目录的定义 306 24.2 创建系统目录 307 24.3 系统目录包含的内容 307 24.3.1 用户数据 308 24.3.2 安全信息 308 24.3.3 数据库设计信息 308 24.3.4 性能统计信息 308 24.4 不同产品的系统目录表 308 24.5 查询系统目录 309 24.6 更新系统目录表对象 312 24.7 小结 313 24.8 答疑 313 24.9 实践练习 313 第25章 更多练习 315 25.1 BIRDS 数据库 315 25.2 鸟类的捕食者 317 25.3 鸟类摄影师 318 25.4 创建新表 321 25.5 实践练习:查看表的信息 323 25.6 实践练习:简单查询 323 25.7 实践练习:新增表 324 25.8 实践练习:操作数据 324 25.9 实践练习:表连接 326 25.10 实践练习:比较操作符 327 25.11 实践练习:逻辑操作符 328 25.12 实践练习:连接操作符 330 25.13 实践练习:算术操作符 330 25.14 实践练习:字符函数 330 25.15 实践练习:聚合数据 333 25.16 实践练习:GROUP BY 和HAVING 334 25.17 实践练习:组合查询 334 25.18 实践练习:由现有表创建表 336 25.19 实践练习:插入来自其他表的数据 337 25.20 实践练习:创建视图 337 25.21 实践练习:嵌入式子查询 338 25.22 实践练习:由子查询创建视图 339 25.23 实践练习:由 SQL 语句创建 SQL 代码 339 25.24 小结 340 25.25 实践练习 340 附录A 常见 SQL 命令 342 附录B 流行供应商的 RDBMS 产品 347 附录C 测试题和习题答案 348 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。