《SQL实用参考手册 第4版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:Judith S.Bowman,Sandra L.Emerson,Marcy Darnovsky著;康博译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7900641645
  • 页数:339 页
图书介绍:

第1章 SQL和关系型数据库管理系统 1

1.1 关系型数据库管理系统 1

1.2 关系模型:关系就是表 2

1.3 独立性 3

1.4 高级语言 4

1.4.1 数据操纵 4

1.4.2 数据定义 5

1.4.3 数据管理 5

1.5 关系操作 6

1.5.1 投影 6

1.5.2 选择 7

1.5.3 连接 7

1.6 查看数据的另一种方法 9

1.7 NULL 10

1.8 安全性 11

1.9 完整性 11

1.10 SQL函数 12

1.11 小结 13

第2章 设计数据库 14

2.1 设计考虑因素 14

2.1.1 是否需要专家指导 15

2.1.2 数据定义和定制 15

2.1.3 如何进行数据库设计 15

2.1.4 介绍样例数据库 18

2.2 数据实体和关系 19

2.2.1 实体:独立存在的事物 19

2.2.2 一对多关系 22

2.2.3 多对多关系 24

2.2.4 一对一关系 25

2.2.5 实体-关系方法总结 25

2.3 规范化准则 26

2.3.1 第一范式 27

2.3.2 第二范式 28

2.3.3 第三范式 29

2.3.4 第四范式 30

2.4 回顾数据库设计 31

2.4.1 总结bookbiz数据库 33

2.4.2 测试您的数据库设计方案 33

2.4.3 定义数据库的其他考虑问题 34

2.5 小结 34

第3章 创建和填充数据库 35

3.1 从理论到实践 35

3.1.1 区分SQL示例和语法 36

3.1.2 应对失败情况 37

3.2 使用数据库 38

3.2.1 开始 38

3.2.2 识别角色 39

3.2.3 为数据库对象预留存储空间 39

3.2.4 选择数据库 40

3.3 创建简单的表 40

3.3.1 选择数据类型 42

3.3.2 指定NULL和NOT NULL 44

3.3.3 计划表 45

3.3.4 定义bookbiz数据库中的表 46

3.4 创建索引 46

3.4.1 CREATE INDEX语句 47

3.4.2 同索引相关的事务 48

3.5 使用SQL-92约束创建表 49

3.5.1 概述约束 49

3.5.2 在单列上实现约束 51

3.5.3 实现多列约束 52

3.6 修改、删除数据库和对象 54

3.6.1 修改数据库 54

3.6.2 修改表定义 54

3.6.3 删除数据库 55

3.6.4 删除表 55

3.6.5 删除索引 56

3.7 添加、修改和删除数据 56

3.7.1 添加新行:INSERT 57

3.7.2 改变现有数据:UPDATE 60

3.7.3 删除数据:DELETE 63

3.8 小结 63

第4章 从数据库中选择数据 65

4.1 SELECT概述和语法 65

4.1.1 基本的SELECT语法 65

4.1.2 完整的SELECT语法 68

4.2 选取列:SELECT子句 69

4.2.1 选择所有的列:SELECT 69

4.2.2 选择特定的列 70

4.2.3 多个列名 71

4.3 指定表:FROM子句 79

4.3.1 使用表别名 80

4.3.2 忽略FROM 80

4.4 选择行:WHERE子句 81

4.4.1 比较运算符 82

4.4.2 带有逻辑运算符的连接条件 84

4.5 限制范围(BETWEEN和NOT BETWEEN) 90

4.5.1 列表(IN和NOT IN) 92

4.5.2 选择空值 93

4.5.3 匹配字符串:LIKE 95

4.5.4 IN与LIKE相同吗 99

4.5.5 三者之间的比较 101

4.6 小结 101

第5章 数据排序及其他选择技术 102

5.1 一批新的SELECT语句中的子句 102

5.2 排序查询结果ORDER BY 102

5.2.1 ORDER BY语法格式 102

5.2.2 字符集和顺序排序 104

5.2.3 排序中的排序 105

5.2.4 升序排序和降序排序 107

5.2.5 编写更复杂些的表达式 107

5.2.6 如何对空值排序 110

5.3 删除复制行:DISTINCT和ALL 111

5.3.1 DISTINCT语法格式 113

5.3.2 带有多个SELECT列表项的DISTINCT 113

5.3.3 DISTINCT和非选择列表ORDER BY 115

5.4 聚集函数 116

5.5 小结 125

第6章 对数据分组并形成报表 126

6.1 数据分组及聚集 126

6.2 GROUP BY子句 126

6.2.1 GROUP BY语法 126

6.2.2 注意事项及限制条件 128

6.2.3 Null及组 132

6.2.4 GROUP BY:聚集交互作用 134

6.2.5 带有WHERE子句的GROUP BY 137

6.2.6 GROUP BY和ORDER BY 138

6.3 HAVING子句 139

6.3.1 普通的HAVING 140

6.3.2 WHERE,GROUP BY,HAVING和ORDER BY语句 143

6.4 关于NULL的介绍 143

6.4.1 NULL和数据库设计 144

6.4.2 涉及NULL的比较 144

6.4.3 NULL及运算 145

6.4.4 默认选择NULL值 146

6.4.5 与NULL共同使用的函数 146

6.4.6 NULL函数和“what-if”运算 147

6.5 小结 147

第7章 连接表用于综合数据分析 149

7.1 定义连接 149

7.2 需要连接的原因 149

7.2.1 将各个单独表中的数据联系在一起 150

7.2.2 提供灵活性 150

7.3 获得良好的连接 151

7.3.1 FROM/WHERE连接语法 152

7.3.2 SQL-92连接语法 152

7.3.3 分析连接 154

7.4 提高连接结果的可读性 155

7.4.1 避免重复 155

7.4.2 限制显示的宽度 156

7.4.3 在FROM子句的表/视图列表中使用别名 157

7.5 指定连接条件 158

7.5.1 基于相等的连接 158

7.5.2 不基于相等的连接 160

7.5.3 多于两个表的连接 161

7.6 研究特殊连接 161

7.6.1 与自身连接的表:自连接 162

7.6.2 显示背景:外部连接 164

7.7 避免常见错误 168

7.7.1 理解笛卡尔积 168

7.7.2 使用笛卡尔积 169

7.7.3 约束笛卡尔积 170

7.8 其他运算UNION、INTERSECT、MINUS 170

7.8.1 UNION 171

7.8.2 INTERSECT和MINUS 175

7.9 小结 176

第8章 使用子查询构造查询 177

8.1 子查询的含义 177

8.2 子查询的工作过程 178

8.2.1 简单的子查询过程 179

8.2.2 关联子查询过程 180

8.2.3 简单-关联子查询性能问题 181

8.3 使用联合还是使用子查询 181

8.3.1 子查询 181

8.3.2 连接 182

8.3.3 子查询与自连接 183

8.3.4 哪一种更好 183

8.4 子查询规则 184

8.5 返回0或更多值的子查询 184

8.5.1 由IN引入的子查询 184

8.5.2 由NOT IN引入的子查询 186

8.5.3 由IN引入的关联子查询 187

8.6 返回单独值的子查询 194

8.6.1 保证单值的聚集函数 195

8.6.2 GROUP BY和HAVING返回单个值 195

8.6.3 使用比较运算符进行关联子查询 196

8.7 子查询测试数据的存在性 197

8.7.1 NOT EXISTS查询空集 199

8.7.2 使用EXISTS查找交集和差集 200

8.7.3 EXISTS的替代查询方法 201

8.8 多个嵌套层中的子查询 201

8.9 在UPDATE,DELETE和INSERT语句中的子查询 202

8.10 在FROM和SELECT子句中的子查询 203

8.10.1 在FROM子句中的子查询 203

8.10.2 在SELECT子句中的子查询 205

8.11 小结 206

第9章 创建和使用视图 207

9.1 使用View Toward Flexibility 207

9.2 视图命令 207

9.2.1 创建视图 208

9.2.2 通过视图显示数据 209

9.2.3 删除视图 210

9.3 视图的优点 210

9.3.1 显示、简化和定制 214

9.3.2 安全性 214

9.3.3 独立性 214

9.4 视图的工作方式 215

9.4.1 命名视图列 216

9.4.2 使用多个优先对象创建视图 218

9.4.3 分解视图 220

9.5 使用视图修改数据 224

9.6 创建数据副本 228

9.7 小结 229

第10章 安全性、事务、性能和完整性 231

10.1 实际的数据库管理 231

10.2 数据安全性 232

10.2.1 用户身份和特定的用户 232

10.2.2 GRANT和REVOKE命令 234

10.2.3 作为安全性机制的视图 237

10.3 事务 238

10.3.1 事务和并行处理 238

10.3.2 事务和恢复 239

10.3.3 用户定义事务 239

10.4 性能 241

10.4.1 基准测试 241

10.4.2 设计和进行索引 242

10.4.3 优化查询 242

10.4.4 监控和提高性能的其他工具 245

10.5 数据完整性 247

10.5.1 域约束 247

10.5.2 实体完整性 248

10.5.3 参照完整性 248

10.5.4 存储过程和触发器 249

10.6 小结 249

第11章 解决业务问题 251

11.1 在工作中使用SQL 251

11.2 考虑有条件的情况 252

11.2.1 CASE/DECODE 252

11.2.2 改变NULL显示 255

11.3 格式化数据和显示数据 257

11.3.1 将一列显示为两列 257

11.3.2 将两列显示为一列 259

11.3.3 将数据从一种类型转换为另一种类型 261

11.4 使用模式 263

11.4.1 匹配大写和小写字母 264

11.4.2 当您不知道值时在一定范围内查找数据 265

11.4.3 查找日期数据 267

11.4.4 按时间单位显示数据 270

11.5 避免错误 271

11.5.1 区别DISTINCT 271

11.5.2 删除副本 274

11.5.3 查找第一项 276

11.6 小结 276

附录A 本书所使用的关于SQL的语法总结 278

A.1 本附录内容 278

A.2 格式 278

A.3 语法约定 278

A.4 语句列表 279

附录B 业界的SQL版本 280

B.1 本附录内容 280

B.2 比较 280

B.3 命名约定比较 280

B.4 数据类型比较 281

B.5 函数比较 282

B.5.1 字符函数 282

B.5.2 条件函数 283

B.5.3 日期和时间函数 283

附录C 术语表 285

附录D bookbiz祥例数据库 297

D.1 本附录内容 297

D.2 数据库详述 297

D.3 表图 297

D.3.1 publishers表 297

D.3.2 authors表 298

D.3.3 titles表 298

D.3.4 titleauthors表 302

D.3.5 sales表 303

D.3.6 salesdetails表 304

D.3.7 editors表 305

D.3.8 titleditors表 305

D.3.9 roysched表 306

D.4 bookbiz数据库的CREATE语句 308

D.5 INSERT语句 319

D.6 CREATE VIEW语句 335

附录E 资源 339