《从实践中学习Oracle/SQL》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:何明编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:730207951X
  • 页数:417 页
图书介绍:本书以具体的商业环境为背景,勾画出了Oracle在商业中的种种应用,直接告诉读者有关SQL语句能够实现哪些商业行为,从而实现从理论到应用的真正跨越。本书语言轻松诙谐,浅显易懂。操作步骤简单、明确、实用,是一本初学Oracle的科普式读物。

目 录 1

导读 1

第1章简单查询语句 4

1.1最简单的查询语句 4

1.2在查询语句中如何选择特定的列 5

1.3如何书写查询语句 7

1.4列标题和数据的默认显示格式 9

1.5如何在SQL语句中使用算术表达式 10

1.6怎样在SQL语句中使用列的别名 12

1.7连接运算符 13

1.8 DISTINCT运算符 15

1.9基本查询语句的格式 17

1.10应该掌握的内容 17

2.1如何限制所选择的数据行 18

第2章限制性查询和数据的排序 18

2.2比较运算符(operators) 19

2.3 如何使用BETWEEN AND比较运算符(operators) 19

2.4在SQL语句中使用字符串和日期 21

2.5使用IN比较运算符(operators) 22

2.6使用LIKE比较运算符(operators) 23

2.7如何使用转义(escape)操作符 25

2.8 ORDERBY子句 27

2.9在ORDERBY子句中使用别名或表达式 28

2.10在ORDER BY子句中使用列号 30

2.11在ORDERBY子句中使用多列 31

2.12在ORDER BY子句中使用在SELECT列表中没有的列 31

2.13扩充后的查询语句的格式 32

2.14应该掌握的内容 33

第3章常用的SQL*PLUS命令 34

3.1 DESC[RIBE]命令 34

3.2 SETLINE[SIZE]{80|n}命令 35

3.3 L(LIST)命令和n text命令 36

3.4 ‘/’(RUN)命令 38

3.5 n(设置当前行)命令和A[PPEND](附加)命令 38

3.6 del命令 41

3.7 C[HANGE]命令 42

3.8如何生成脚本文件 45

3.9如何编辑脚本文件 47

3.10如何直接运行脚本文件 49

3.11 SPOOL命令 49

3.12应该掌握的内容 50

第4章单行函数 52

4.1什么是函数 52

4.2单行函数简介 52

4.3单行字符型函数 53

4.4使用单行字符型函数的实例 58

4.5数字型函数 59

4.6 日期型数据的处理 62

4.7 日期函数 65

4.8 ROUND和TRUNC函数用于日期型数据 68

4.9不同数据类型之间的隐含转换 71

4.10不同数据类型之间的显式转换 71

4.11应该掌握的内容 79

第5章NULL值的处理、逻辑操作和函数嵌套 80

5.1 什么是空值(NULL) 80

5.2含有空值(NULL)的表达式的运算 81

5.3 空值(NULL)的排序 83

5.4逻辑表达式和逻辑运算符 85

5.5运算符的优先级 88

5.6 用AND和OR替代BETWEEN AND和IN运算符 89

5.7 NVL函数 91

5.8 DECODE函数 93

5.9单值函数的嵌套 94

5.10 Oracle9i新增加的单值函数和表达式 96

5.11 应该掌握的内容 101

第6章综合数据和分组函数 102

6.1五个常用的分组函数 102

6.2 COUNT函数 102

6.3 AVE和SUM函数 103

6.4 MIN和MAX函数 104

6.5 GROUP BY子句的应用 105

6.6改变GROUP BY子句的排序次序 105

6.7 GROUP BY子句的特殊用法 106

6.8 分组函数与GROUP BY子句的非法操作 107

6.9 HAVING子句的使用 108

6.11 分组函数的空值问题 110

6.10分组函数的嵌套 110

6.12 NVL函数在分组函数中的使用 111

6.13 是否在分组函数中使用NVL函数的商业背景 112

6.14其他的分组函数和分组函数的小结 113

6.15应该掌握的内容 113

第7章多表查询 114

7.1数据库的规范化(Normalization) 114

7.2主键(Primary Key)和实体完整性(Entity Integrity) 115

7.3第一范式(1NF) 115

7.4消除部分依赖 116

7.5 外键(Foreign Key)和引用完整性(Referential Integrity) 117

7.6第二范式(2NF) 118

7.7第三范式(3NF) 118

7.8规范化过程小结 120

7.9多表连接 120

7.10相等连接 120

7.11 连接中表别名的使用 122

7.12笛卡尔乘积(乘积连接) 123

7.13 自连接(Selfioin) 125

7.14两个以上的表的连接 126

7.15 不等连接 127

7.16外连接 129

7.17 SQL:1999语法的连接 130

7.18 SQL:1999语法的自然连接 130

7.19使用USING子句的连接 131

7.20使用ON子句的连接 132

7.21 使用ON子句的多表连接和附加条件 132

7.22左外连接 134

7.23右外连接 135

7.24全外连接 136

7.25 应该掌握的内容 139

8.1 为什么引入单行子查询 140

第8章子查询 140

8.2 WHERE子句中的单行子查询 141

8.3 HAVING子句中的单行子查询 144

8.4 FROM子句中的单行子查询 145

8.5多行子查询 145

8.6使用IN操作符的多行子查询 146

8.7使用ALL操作符的多行子查询 147

8.8使用ANY操作符的多行子查询 148

8.9子查询中的空值(NULL)问题 150

8.10多列子查询 152

8.11成对比较(Pairwise Comparison)的多列子查询 152

8.12非成对比较(Nonpairwise Comparison)的多列子查询 153

8.13小结 154

8.14应该掌握的内容 155

9.1控制SQL*PLUS的环境 156

9.2 SQL*PLUS的环境变量ECHO 156

第9章控制SQL*PLUS的环境和数据字典简介 156

9.3 SQL*PLUS的环境变量FEEDBACK 159

9.4 SQL*PLUS其他常用的环境变量 160

9.5 SQL*PLUS的COLUMN格式化命令 160

9.6 SQL*PLUS的其他格式化命令 166

9.7数据字典和数据字典视图 169

9.8格式化数据字典视图的输出 171

9.9如何使用数据字典视图 173

9.10小结 177

9.11应该掌握的内容 177

第10章创建表 179

10.1创建表的语句和例子 179

10.2命名和引用规则 180

10.3列的数据类型和默认值 183

10.4创建表的例子 185

10.5利用子查询来创建表 186

10.6修改表的结构 188

10.7改变对象的名字 195

10.8为表和列加注释 197

10.9截断表和删除表 199

10.10小结 202

10.11应该掌握的内容 206

第11章替代变量 207

11.1 替代变量引入的原因 207

11.2 以&开始的替代变量 207

11.3字符型和日期型替代变量 210

11.4以&&开始的替代变量 213

11.5替代变量可以出现的地方 215

11.6使用DEFINE定义替代变量 216

11.7使用ACCEPT定义替代变量 218

11.8如何使用ACCEPT命令的HIDE的选项 221

11.9ACCEPT命令的格式和选项 224

11.10小结 224

11.11应该掌握的内容 224

第12章数据的维护 226

12.1准备工作 226

12.2 INSERT语句 227

12.3 INSERT语句中的空值(NULL)问题 229

12.4如何向表中插入特殊的值 232

12.5如何利用子查询向表中插入数据 233

12.6如何利用替代变量向表中插入数据和将INSERT语句存入脚本文件 234

12.7利用ACCEPT在INSERT语句中产生用户友好的系统提示 236

12.8 UPDATE语句 238

12.9基于另一个表来修改记录 241

12.10利用多列子查询来修改记录 243

12.11 DELETE语句 245

12.12在使用DELETE时可能出现的问题 247

12.13基于另一个表来删除行 248

12.14引入事务(Transactions)处理的原因 249

12.15什么是Oracle数据库的事务(Transactions) 250

12.16利用COMMIT和ROLLBACK语句进行事务控制 250

12.17利用DDL和DCL语句进行事务控制 252

12.18非正常退出和正常退出SQL*PLUS对事务控制的影响 255

12.19利用AUTOCOMMIT进行事务控制 257

12.20有关事务处理应注意的一些问题 258

12.21应该掌握的内容 259

第13章索引与约束(Indexes and Constraints) 260

13.1 为什么引入索引 260

13.2如何建立索引 260

13.3如何查看索引 262

13.4使用索引时应注意的问题 264

13.5基于函数的索引 265

13.6怎样确认Oracle系统是否使用了索引 267

13.7怎样删除索引 269

13.8 为什么要引入约束及如何定义约束 272

13.9 非空(NOT NULL)约束 273

13.10查看有关约束的信息 276

13.11 惟一(UNIQUE)约束 278

13.12 条件(CHECK)约束 281

13.13 主键(PRIMARY KEY)约束 285

13.14 外键(FOREIGN KEY)约束 289

13.15 外键(FOREIGN KEY)约束对INSERT语句的影响 293

13.16外键(FOREIGN KEY)约束对DELETE语句的影响 294

13.17 外键(FOREIGN KEY)约束对UPDATE语句的影响 295

13.18外键(FOREIGN KEY)约束对DDL语句的影响 298

13.19 外键(FOREIGN KEY)的ON DELETE SETNULL和ON DELETE CASCADE子句 300

13.20约束的维护 306

13.21 约束小结 311

13.22应该掌握的内容 312

第14章视图(Views) 314

14.1为什么引入视图(Views) 314

14.2使用视图(Views)的好处 315

14.3如何创建视图(Views) 317

14.4如何修改视图(Views) 320

14.5 Oracle系统如何管理视图(Views) 321

14.6如何使用视图(Views)来进行DML操作 322

14.7 怎样使用视图(Views)的WITH CHECK OPTION子句 323

14.8 为什么要使用WITH READ ONLY子句 326

14.9如何删除视图(Views) 328

14.10内嵌式视图(Inline Views) 330

14.11前n行查询/分析(Top n queries/analysis) 331

14.12应该掌握的内容 332

15.2创建序列号(Sequence)语句的格式 334

15.1序列号(Sequence)的引入 334

第15章序列号(Sequence)和同义词(Synonym) 334

15.3怎样创建序列号(Sequence) 335

15.4怎样使用创建序列号(Sequence) 337

15.5使用序列号(Sequence)的实例 340

15.6 NEXTVAL和CURRVAL虚(伪)列介绍和它们的使用规则 343

15.7序列号(Sequence)的修改 346

15.8删除序列号(Sequence) 349

15.9引入同义词(Synonym)的原因 350

15.10怎样创建同义词(Synonym) 351

15.11创建公用同义词(Synonym) 353

15.12删除同义词(Synonym) 355

15.13应该掌握的内容 356

第16章用户管理 358

16.1控制用户对数据库的访问 358

16.2创建用户及给用户赋口令 358

16.3 Oracle数据库管理系统中的权限 361

16.4怎样将系统权限授予用户 362

16.5怎样查看用户具有的系统权限 367

16.6引入角色(Role)的原因 369

16.7角色(Role)的创建和使用 370

16.8对象的权限和授权语句 374

16.9对象权限授权实例 375

16.10权限的回收 387

16.11 改变用户的口令 392

16.12删除用户 394

16.13 CONNECT和RESOURCE角色 397

16.14应该掌握的内容 402

附录 403

参考文献 413

结束语 415

鸣谢 417