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

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Judith S.Bowman等著;康博译
  • 出 版 社:北京市:清华大学出版社
  • 出版年份:2002
  • ISBN:7900641645
  • 页数:339 页
图书介绍:

目录 1

第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.7NULI 10

1.9完整性 11

1.8安全性 11

1.10SQL函数 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

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

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

2.5小结 34

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

3.1从理论到实践 35

3.1.1区分SOL示例和语法 36

3.1.2应对失败情况 37

3.2使用数据库 38

3.2.1开始 38

3.2.2识别角色 39

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

3.3创建简单的表 40

3.2.4选择数据库 40

3.3.1选择数据类型 42

3.3.2指定NULL和NOTNULL 44

3.3.3计划表 45

3.3.4定义bookbiz数据库中的表 46

3.4创建索引 46

3.4.1CREATEINDEX语句 47

3.4.2同索引相关的事务 48

3.5.1概述约束 49

3.5使用SQL-92约束创建表 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.7添加、修改和删除数据 56

3.6.5删除索引 56

3.7.1添加新行:INSERT 57

3.7.2改变现有数据:LPDATE 60

3.7.3删除数据:DELETE 63

3.8小结 63

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

4.1SELECT概述和语法 65

4.1.1基本的SELECT语法 65

4.1.2完整的SELECT语法 68

4.2选取列:SELECT子句 69

4.2.1选择所有的列:SEIECT 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和NOTBETWEEN) 90

4.5.1列表(IN和NOTIN) 92

4.5.2选择空值 93

4.5.3匹配字符串:LIKE 95

4.5.4IN与LIKE相同吗 99

4.6小结 101

4.5.5三者之间的比较 101

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

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

5.2排序查询结果ORDERBY 102

5.2.1ORDERBY语法格式 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.1DISTINCT语法格式 113

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

5.3.3DISTINCT和非选择列表ORDERBY 115

5.4聚集函数 116

5.5小结 125

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

6.1数据分组及聚集 126

6.2GROUPBY子句 126

6.2.1GROUPBY语法 126

6.2.2注意事项及限制条件 128

6.2.3Null及组 132

6.2.4GROUPBY:聚集交互作用 134

6.2.5带有WHERE子句的GROUPBY 137

6.2.6GROUPBY和ORDERBY 138

6.3HAVING子句 139

6.3.1普通的HAVING 140

6.3.2WHERE,GROUPBY,HAVING和ORDERBY语句 143

6.4关于NULL的介绍 143

6.4.1NULL和数据库设计 144

6.4.2涉及NULL的比较 144

6.4.3NULL及运算 145

6.4.4默认选择NULL值 146

6.4.5NULL共同使用的函数 146

6.5小结 147

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

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

7.1定义连接 149

7.2需要连接的原因 149

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

7.2.2提供灵活性 150

7.3获得良好的连接 151

7.3.1FROM/WHERE连接语法 152

7.3.2SOL-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.1UNION 171

7.8.2INTERSECT和MINUS 175

7.9小结 176

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

8.1子查询的含义 177

8.2子查询的工作过程 178

8.2.1简单的子查询过程 179

8.2.2关联子查询过程 180

8.3.1子查询 181

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

8.2.3简单一关联子查询性能问题 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由NOTIN引入的子查询 186

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

8.6返回单独值的子查询 194

8.6.1保证单值的聚集函数 195

8.6.2GROUPBY和HAVING返回单个值 195

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

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

8.7.1NOTEXISTS查询空集 199

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

8.7.3EXISTS的替代查询方法 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.1使用ViewTowardFlexibility 207

9.2视图命令 207

第9章 创建和使用视图 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.1用户身份和特定的用户 232

10.2数据安全性 232

10.2.2GRANT和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.6小结 249

10.5.4存储过程和触发器 249

第11章 解决业务问题 251

11.1在工作中使用SQL 251

11.2考虑有条件的情况 252

11.2.1CASE/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.6小结 276

11.5.3查找第一项 276

A.1本附录内容 278

A.2格式 278

A.3语法约定 278

附录A 本书所使用的关于SQL的语法总结 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.3.1publishers表 297

D.3表图 297

附录D bookbiz样例数据库 297

D.2数据库详述 297

D.1本附录内容 297

D.3.2authors表 298

D.3.3titles表 298

D.3.4titleauthors表 302

D.3.5sales表 303

D.3.6salesdetails表 304

D.3.7editors表 305

D.3.8titleditors表 305

D.3.9roysched表 306

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

D.5INSERT语句 319

D.6CREATEVIEW语句 335

附录E 资源 339