SQL入门经典(第7版)

SQL入门经典(第7版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Ryan Stephens)
2024-08
版次: 1
ISBN: 9787115624413
定价: 89.80
装帧: 其他
开本: 16开
页数: 392页
字数: 628千字
  • 本书详细介绍了 SQL 语言的基本语法、基本概念,说明了各种 SQL 实现与 ANSI 标准之间的差别。书中包含大量的示例,直观地说明了如何使用 SQL 对数据进行处理,还通过真实示例和实践练习介绍如何践行 SQL 标准。本书配有针对性很强的测试题和习题,能够帮助读者更好地理解和掌握学习的内容。在附录里还给出了常见 SQL 命令和流行供应商的RDBMS 产品,以及测试题和习题的答案。
      本书内容层次清晰,针对性强,非常适合初学者作为入门教材。 Ryan Stephens 是一位企业家,他的职业生涯和他的多家 IT 公司都是围绕 SQL、数据和关系型数据库发展的。他与世界各地的机构、学生和 IT 专业人士分享知识和经验。他参与创立的两家公司—Perpetual Technologies, Inc.(PTI)和 Indy Data Partners(IDP),已为政府和大型商业客户提供了超过 25 年的专业数据库和 IT 服务。Ryan 为 Pearson 撰写过多本书,其中包括《SQL 入门经典(第 6 版)》。他的部分作品已被翻译并在国际上出版。此外,Ryan 曾在大型机构工作,并在 SQL、数据库设计、数据库管理和项目管理领域提供咨询服务。他为印第安纳大学与普渡大学印第安纳波利斯联合分校(Indiana University?CPurdue University in Indianapolis,IUPUI)设计并讲授数据库管理课程,目前也在为 Pearson Education 讲授 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
  • 内容简介:
    本书详细介绍了 SQL 语言的基本语法、基本概念,说明了各种 SQL 实现与 ANSI 标准之间的差别。书中包含大量的示例,直观地说明了如何使用 SQL 对数据进行处理,还通过真实示例和实践练习介绍如何践行 SQL 标准。本书配有针对性很强的测试题和习题,能够帮助读者更好地理解和掌握学习的内容。在附录里还给出了常见 SQL 命令和流行供应商的RDBMS 产品,以及测试题和习题的答案。
      本书内容层次清晰,针对性强,非常适合初学者作为入门教材。
  • 作者简介:
    Ryan Stephens 是一位企业家,他的职业生涯和他的多家 IT 公司都是围绕 SQL、数据和关系型数据库发展的。他与世界各地的机构、学生和 IT 专业人士分享知识和经验。他参与创立的两家公司—Perpetual Technologies, Inc.(PTI)和 Indy Data Partners(IDP),已为政府和大型商业客户提供了超过 25 年的专业数据库和 IT 服务。Ryan 为 Pearson 撰写过多本书,其中包括《SQL 入门经典(第 6 版)》。他的部分作品已被翻译并在国际上出版。此外,Ryan 曾在大型机构工作,并在 SQL、数据库设计、数据库管理和项目管理领域提供咨询服务。他为印第安纳大学与普渡大学印第安纳波利斯联合分校(Indiana University?CPurdue University in Indianapolis,IUPUI)设计并讲授数据库管理课程,目前也在为 Pearson Education 讲授 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
查看详情
12
相关图书 / 更多
SQL入门经典(第7版)
SQL Server 2008 数据库项目教程
童威;彭勇
SQL入门经典(第7版)
SQLSerVer数据操作与查询项目实践+SQLSerVer数据操作与查询技术进阶 发货一套共两册
湖北美和易思教育科技有限公司 编著;邹庆川 主编
SQL入门经典(第7版)
SQL Server 数据库编程与开发教程
编者:武相军,崔占鹏,李辰,明廷堂
SQL入门经典(第7版)
SQL职场必备
[美]金伯利·a.韦斯;[美]海瑟姆·巴尔蒂
SQL入门经典(第7版)
SQL初学教程(第3版)
[美]拉里·洛克夫
SQL入门经典(第7版)
SQL Server2022数据库技术项目教程(高职高专计算机类专业教材)/软件开发系列
胡伏湘
SQL入门经典(第7版)
SQL Server实用教程(第6版SQL Server2008版新工科建设之路计算机类创新教材普通高等教育十一五国家级规划教材)
郑阿奇 编者
SQL入门经典(第7版)
SQLServer2012数据库应用教程(第3版)
邱李华、付森 著
SQL入门经典(第7版)
SQL
作者
SQL入门经典(第7版)
SQL Server2019数据库技术及应用
应新洋
SQL入门经典(第7版)
SQL Server数据库管理与应用项目化教程陶情逸轩
徐书欣 主编;王永乐
SQL入门经典(第7版)
SQL Server完全自学教程
明日科技 编著
您可能感兴趣 / 更多
SQL入门经典(第7版)
数学旅行家 文教科普读物 (美)卡尔文・c.克劳森
[美]卡尔文・c.克劳森
SQL入门经典(第7版)
向世界好的医院力
[美]理查德·温特斯(RichardWinters)
SQL入门经典(第7版)
像作家一样阅读:提升读写能力的10堂课
[美]艾琳·M.普希曼
SQL入门经典(第7版)
黑的眼睛不看光明 心理学
[美]玛利亚娜·亚历山德里
SQL入门经典(第7版)
觉醒 外国现当代文学
[美]凯特·肖邦
SQL入门经典(第7版)
从众陷阱 成功学 (美)托德·罗斯(todd rose)
[美]托德·罗斯(toddrose)
SQL入门经典(第7版)
海洋全书:国家地理新探索
[美]西尔维娅·A.厄尔
SQL入门经典(第7版)
吃的勇气:365天告别饮食内耗,与食物和解
[美]伊芙琳·特里波尔(EvelynTribole)