《21天学通Oracle(第3版)》是2014年1月出版的图书,作者是张朝明。
基本介绍
- 书名:21天学编程系列 21天学通Oracle(第3版)
- 作者:张朝明 等 编
- ISBN:978-7-121-22122-4
- 页数:412页
- 定价:59.80元
- 出版时间:2014年1月出版
- 开本:16开
内容简介
Oracle是目前全球套用最广泛、功能最强大的关係型资料库。《21天学通Oracle(第3版)》结合大量实例,详细讲述了Oracle 12c资料库各方面的知识。全书内容包括Oracle安装配置、Oracle常用工具、SQL Plus和PL/SQL、Oracle资料库、Oracle数据表对象、约束、视图、函式与存储过程、游标、触发器、序列、用户角色与许可权控制、Oracle中的控制语句、SQL查询、SQL更新数据、资料库速度最佳化与数据完整性、数据一致性与事务管理、并发控制、Oracle中的正则表达式、Oracle在Java开发中的套用、Oracle在C#开发中的套用、常见面试习题。为了便于读者学习与掌握,在每章都使用了单独的小节来展示实例,并给出习题和答案。同时,《21天学通Oracle(第3版)》最后配以面试常见问题,帮助读者更好地应对企业面试。
《21天学通Oracle(第3版)》光碟附带书中所涉及的源档案资料库脚本和配套的全程视频,以便读者更好地掌握本书内容。
《21天学通Oracle(第3版)》适合Oracle资料库开发人员、基于Oracle资料库的软体程式设计师、Oracle资料库管理员、大专院校学生,以及对Oracle开发有兴趣的人员。《21天学通Oracle(第3版)》浅显易懂、实例丰富,尤其适合广大程式设计师自学。
基本介绍
“21天学编程系列”自2009年1月上市以来一直受到广大读者的青睐。该系列中的大部分图书从一上市就登上了编程类图书销售排行榜的前列,很多大中专院校也将该系列中的一些图书作为教材使用,目前这些图书已经多次印刷、改版。可以说,“21天学编程系列”是自2009年以来国内原创计算机编程图书最有影响力的品牌之一。
本书有何特色
1.细緻体贴的讲解
为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用準确的语言总结概念用直观的图示演示过程用详细的注释解释代码用形象的比方帮助记忆。
2.实用超值的DVD光碟
为了帮助读者比较直观地学习,本书附带DVD光碟,内容包括多媒体视频、电子教案(PPT)和实例原始码等。
3.提供完善的技术支持
目录
第一篇 Oracle管理配置
第1章 Oracle安装配置
1.1 Oracle简介 1
1.1.1 资料库术语 1
1.1.2 主流资料库简介 2
1.1.3 Oracle资料库的特点 2
1.2 安装Oracle资料库 3
1.2.1 Oracle资料库的版本变迁及安装环境 3
1.2.2 安装过程 4
1.2.3 安装中需要注意的问题 9
1.3 本章小结 9
1.4 习题 9
第2章 Oracle常用工具
2.1 Net Configuration Assistant(网路配置助手) 10
2.1.1 监听程式配置 10
2.1.2 命名方法配置 13
2.1.3 本地网路服务名配置 15
2.2 Net Manager(网路管理员) 17
2.3 本章实例 19
2.4 本章小结 21
2.5 习题 21
第3章 SQL Plus和PL/SQL
3.1 SQL Plus与PL/SQL简介 22
3.2 使用SQL Plus 23
3.2.1 登录SQL Plus 23
3.2.2 SQL Plus输出结果的格式化 24
3.2.3 SQL Plus小结 29
3.3 PL/SQL 29
3.3.1 PL/SQL常用开发工具 29
3.3.2 开发一个简单的PL/SQL程式 30
3.4 本章实例 31
3.5 本章小结 32
3.6 习题 32
第二篇 Oracle资料库对象
第4章 Oracle资料库
4.1 创建Oracle资料库 33
4.2 Oracle资料库的相关术语 35
4.2.1 资料库 35
4.2.2 资料库实例和SID 36
4.2.3 ORACLE_SID 37
4.3 Oracle资料库的备份与恢复 37
4.3.1 逻辑备份/恢复(导出/导入) 37
4.3.2 物理备份/恢复 38
4.3.3 利用SQL Developer备份资料库 39
4.4 本章实例 41
4.5 本章小结 41
4.6 习题 42
第5章 Oracle数据表对象
5.1 Oracle表空间 43
5.1.1 Oracle表空间简介 43
5.1.2 创建Oracle表空间 44
5.1.3 查看錶空间 47
5.1.4 修改资料库默认表空间 47
5.1.5 修改表空间名称 48
5.1.6 删除表空间 49
5.2 创建Oracle数据表 50
5.2.1 利用工具创建数据表 50
5.2.2 利用工具查看数据表 51
5.2.3 利用命令创建数据表 52
5.2.4 利用命令查看錶结构 52
5.3 修改Oracle数据表结构 53
5.3.1 利用工具修改数据表结构 53
5.3.2 利用命令修改数据表结构 54
5.4 删除数据表 56
5.4.1 利用工具删除数据表 56
5.4.2 利用SQL语句删除数据表 56
5.5 备份/恢複数据表 57
5.5.1 利用工具备份/恢複数据表 57
5.5.2 利用命令备份/恢複数据表 60
5.6 临时表 61
5.6.1 临时表简介 61
5.6.2 会话级临时表 61
5.6.3 事务级临时表 62
5.6.4 查看临时表在资料库中的信息 63
5.6.5 临时表的套用场景 64
5.7 特殊的表dual 64
5.7.1 分析dual表 65
5.7.2 dual表的套用场景 65
5.7.3 修改dual表对查询结果的影响 66
5.8 本章实例 66
5.9 本章小结 67
5.10 习题 67
第6章 约束
6.1 主键约束 68
6.1.1 主键简介 68
6.1.2 创建主键约束 69
6.1.3 修改表的主键约束 71
6.1.4 主键套用场景 73
6.2 外键约束 74
6.2.1 外键简介 74
6.2.2 创建外键约束 74
6.2.3 级联更新与级联删除 77
6.2.4 修改外键属性 79
6.2.5 外键使用 81
6.3 唯一性约束 82
6.3.1 唯一性约束简介 82
6.3.2 创建唯一性约束 82
6.3.3 修改唯一性约束 83
6.3.4 唯一性约束的使用 84
6.4 检查约束 85
6.4.1 检查约束简介 85
6.4.2 创建检查约束 85
6.4.3 修改检查约束 87
6.4.4 检查约束的使用 88
6.5 默认值约束 88
6.5.1 默认值约束简介 88
6.5.2 创建默认值约束 88
6.5.3 修改默认值约束 90
6.6 本章实例 91
6.7 本章小结 92
6.8 习题 92
第7章 视图
7.1 关係视图 93
7.1.1 建立关係视图 93
7.1.2 修改/删除视图 94
7.1.3 连线视图 96
7.1.4 编译视图 98
7.1.5 使用force选项强制创建视图 100
7.1.6 利用视图更新数据表 101
7.1.7 with check option选项 103
7.1.8 关係视图小结 104
7.2 内嵌视图 104
7.2.1 内嵌视图简介 105
7.2.2 内嵌视图的使用 105
7.2.3 内嵌视图小结 107
7.3 对象视图 107
7.3.1 对象视图简介 107
7.3.2 对象视图的创建与使用 107
7.4 物化视图 109
7.4.1 物化视图简介 109
7.4.2 物化视图的使用 109
7.4.3 物化视图的数据载入 111
7.4.4 物化视图的数据更新 111
7.4.5 查询重写 112
7.5 本章实例 113
7.6 本章小结 113
7.7 习题 113
第8章 函式与存储过程
8.1 函式 114
8.1.1 函式简介 114
8.1.2 创建函式 114
8.1.3 函式中的括弧 116
8.1.4 函式的参数 117
8.1.5 函式的确定性 118
8.1.6 典型函式举例 119
8.2 存储过程 120
8.2.1 存储过程简介 120
8.2.2 创建存储过程 120
8.2.3 存储过程的参数——IN参数 122
8.2.4 存储过程的参数——OUT参数 123
8.2.5 存储过程的参数——IN OUT参数 125
8.2.6 存储过程的参数——参数顺序 125
8.2.7 存储过程的参数——参数的默认值 128
8.2.8 存储过程的参数——参数顺序总结 129
8.3 程式包 129
8.3.1 规範 129
8.3.2 主体 131
8.3.3 调用程式包中的函式/存储过程 133
8.3.4 程式包中的变数 134
8.4 本章实例 135
8.5 本章小结 137
8.6 习题 137
第9章 游标
9.1 游标简介 138
9.2 显式游标 138
9.2.1 声明游标 138
9.2.2 使用游标 140
9.3 隐式游标 142
9.3.1 sql隐式游标 143
9.3.2 cursor for游标 144
9.3.3 隐式游标和显式游标 145
9.4 游标属性 145
9.5 动态游标 147
9.5.1 强类型动态游标 147
9.5.2 弱类型动态游标 149
9.5.3 比较两种动态游标 152
9.6 本章实例 152
9.7 本章小结 153
9.8 习题 153
第10章 触发器
10.1 触发器简介 154
10.2 创建和使用触发器 154
10.2.1 创建触发器 155
10.2.2 触发器的作用级别 156
10.2.3 在多个事件上定义触发器 157
10.2.4 为同一事件定义多个触发器 158
10.2.5 触发器限制 159
10.3 语句触发器 160
10.3.1 创建语句触发器 160
10.3.2 触发器谓词 162
10.3.3 触发时机 164
10.3.4 触发器级联 164
10.4 行触发器 165
10.4.1 行触发器与引用 166
10.4.2 触发时机与引用 168
10.4.3 触发时机与瞬态 169
10.5 instead of触发器 171
10.5.1 创建和使用instead of触发器 171
10.5.2 instead of触发器与引用 174
10.6 系统事件与用户事件触发器 175
10.6.1 系统事件触发器 175
10.6.2 用户事件触发器 176
10.7 启用和禁用触发器 178
10.7.1 启用和禁用触发器的场景 178
10.7.2 禁用触发器 178
10.7.3 启用触发器 179
10.7.4 触发器信息 180
10.8 本章实例 180
10.9 本章小结 182
10.11 习题 182
第11章 序列
11.1 创建和使用序列 183
11.1.1 创建序列 183
11.1.2 使用序列 184
11.1.3 序列初始值start with 185
11.2 修改序列属性 186
11.2.1 修改minvalue和maxvalue 186
11.2.2 修改increment by 187
11.2.3 修改cycle 188
11.2.4 修改cache 189
11.3 本章实例 190
11.4 本章小结 191
11.5 习题 191
第12章 用户角色与许可权控制
12.1 用户 192
12.1.1 Oracle中的用户 192
12.1.2 创建新用户 193
12.1.3 用户与模式(Schema) 194
12.1.4 系统用户sys和system 194
12.2 许可权 195
12.2.1 系统许可权 195
12.2.2 对象许可权 197
12.3 角色 201
12.3.1 创建和使用角色 201
12.3.2 继承角色 203
12.3.3 禁用和启用角色 204
12.4 本章实例 205
12.5 本章小结 206
12.6 习题 206
第三篇 Oracle中的SQL
第13章 Oracle数据类型
13.1 Oracle中的数据类型 207
13.1.1 字元型 207
13.1.2 数值型 208
13.1.3 日期时间型 208
13.1.4 lob类型 209
13.2 Oracle中的特殊数据 209
13.2.1 rowid 209
13.2.2 null与空字元串 210
13.2.3 单引号与双引号 211
13.3 本章实例 213
13.4 本章小结 215
13.5 习题 215
第14章 Oracle中的函式与表达式
14.1 Oracle中的字元串函式 216
14.1.1 lpad()函式 216
14.1.2 rpad()函式 217
14.1.3 lower()函式——返回小写字元串 217
14.1.4 upper()函式——返回大写字元串 217
14.1.5 initcap ()函式——单词首字母大写 218
14.1.6 length()函式——返回字元串长度 218
14.1.7 substr()函式——截取字元串 219
14.1.8 instr()函式——获得字元串出现的位置 219
14.1.9 ltrim()函式——删除字元串首部空格 220
14.1.10 rtrim()函式——删除字元串尾部空格 220
14.1.11 trim()函式——删除字元串首尾空格 220
14.1.12 to_char()函式——将其他类型转换为字元类型 221
14.1.13 chr()函式——将ASCII码转换为字元串 223
14.1.14 translate()函式——替换字元 223
14.2 Oracle中的数学函式 224
14.2.1 abs ()函式——返回数字的绝对值 224
14.2.2 round ()函式——返回数字的“四捨五入”值 224
14.2.3 ceil()函式——向上取整 225
14.2.4 floor()函式——向下取整 225
14.2.5 mod ()函式——取模操作 226
14.2.6 sign()函式——返回数字的正负性 226
14.2.7 sqrt()函式——返回数字的平方根 226
14.2.8 power()函式——乘方运算 227
14.2.9 trunc()函式——截取数字 227
14.2.10 vsize()函式——返回数据的存储空间 227
14.2.11 to_number()函式——将字元串转换为数值类型 228
14.3 Oracle中的日期函式 228
14.3.1 to_date()函式——将字元串转换为日期型 228
14.3.2 add_months()函式——为日期加上特定月份 229
14.3.3 last_day()函式——返回特定日期所在月的最后一天 230
14.3.4 months_between ()函式——返回两个日期所差的月数 230
14.3.5 current_date()函式——返回当前会话时区的当前日期 230
14.3.6 current_timestamp()函式——返回当前会话时区的 当前时间戳 231
14.3.7 extract()函式——返回日期的某个域 231
14.4 Oracle中的聚合函式 232
14.4.1 max()函式——求最大值 233
14.4.2 min()函式——求最小值 233
14.4.3 avg()函式——求平均值 234
14.4.4 sum()函式——求和 234
14.4.5 count()函式——获得记录数 235
14.5 Oracle中的其他函式 236
14.5.1 decode()函式——多值判断 236
14.5.2 nvl()函式——处理空值 237
14.5.3 cast()函式——强制转换数据类型 238
14.6 Oracle中的运算表达式 239
14.6.1 数学运算 240
14.6.2 逻辑运算 241
14.6.3 位运算 242
14.7 Oracle中的特殊判式 242
14.7.1 between——範围测试 243
14.7.2 in——集合成员测试 244
14.7.3 like——模式匹配 244
14.7.4 is null——空值判断 244
14.7.5 exists——存在性判断 245
14.7.6 all、some和any——数量判断 245
14.8 Oracle高级函式——分析函式与视窗函式 246
14.8.1 排名 246
14.8.2 分区视窗 248
14.8.3 视窗子句 250
14.8.4 主要的分析函式 253
14.9 本章实例 256
14.10 本章小结 257
14.11 习题 258
第15章 Oracle中的控制语句
15.1 Oracle中的条件语句 259
15.1.1 利用if else进行条件判断 259
15.1.2 利用case when进行分支判断 260
15.2 Oracle中的循环语句 262
15.2.1 无条件循环 262
15.2.2 while循环 263
15.2.3 for循环 264
15.3 本章实例 265
15.4 本章小结 265
15.5 习题 266
第16章 SQL查询
16.1 基本查询 267
16.1.1 select语句查询执行步骤 267
16.1.2 where子句 269
16.1.3 利用distinct获得唯一性记录 270
16.1.4 order by子句 270
16.1.5 group by子句 271
16.1.6 having子句 274
16.2 子查询 275
16.2.1 理解子查询 275
16.2.2 子查询使用实例 275
16.3 联合语句 277
16.3.1 union查询 277
16.3.2 union all查询 278
16.3.3 intersect查询 280
16.3.4 minus查询 280
16.4 连线 281
16.4.1 自然连线 281
16.4.2 内连线 282
16.4.3 外连线——左连线 283
16.4.4 外连线——右连线 285
16.4.5 外连线——完全连线 287
16.5 层次化查询 289
16.5.1 利用connect by进行层次化查询 290
16.5.2 connect by的使用场景 291
16.5.3 sys_connect_by_path()函式的使用 292
16.6 本章实例 293
16.7 本章小结 295
16.8 习题 295
第17章 SQL更新数据
17.1 插入数据 296
17.1.1 insert语句向表中插入数据 296
17.1.2 利用子查询批量插入数据 297
17.1.3 insert语句与默认值 298
17.1.4 insert语句与唯一性约束 298
17.1.5 insert语句与外键约束 298
17.2 修改数据 299
17.2.1 利用update修改单列的值 299
17.2.2 利用update修改多列的值 300
17.2.3 利用where子句限制修改範围 300
17.3 删除数据 301
17.3.1 利用delete命令删除数据 301
17.3.2 利用truncate命令删除数据 302
17.4 数据提交与回滚 302
17.4.1 回滚动作 302
17.4.2 提交动作 303
17.4.3 SQL Developer中的回滚与提交 304
17.5 本章实例 305
17.6 本章小结 307
17.7 习题 307
第四篇 Oracle编程高级套用
第18章 资料库速度最佳化与数据完整性
18.1 利用索引加快数据引用 308
18.1.1 索引的原理 308
18.1.2 利用索引提高资料库性能 309
18.1.3 索引对DML的影响 311
18.1.4 索引的使用时机 312
18.2 利用约束保持数据完整性 312
18.2.1 资料库完整性的重要性 313
18.2.2 保持资料库完整性的重要方面 313
18.2.3 利用约束保持数据完整性 313
18.3 本章实例 314
18.3.1 使用比较运算符不当 314
18.3.2 函式的使用 315
18.3.3 联合索引 315
18.4 本章小结 316
18.6 习题 316
第19章 数据一致性与事务管理
19.1 什幺是数据一致性和事务 317
19.1.1 数据一致性 317
19.1.2 事务 317
19.2 Oracle中的事务处理 318
19.2.1 commit命令 318
19.2.2 rollback命令 319
19.2.3 savepoint和rollback to savepoint命令 319
19.2.4 事务的属性和隔离级别 321
19.3 事务处理原则 325
19.3.1 原子性 325
19.3.2 一致性 326
19.3.3 隔离性 328
19.3.4 持久性 329
19.4 本章实例 329
19.5 本章小结 331
19.6 习题 331
第20章 并发控制
20.1 并发与锁定 332
20.2 数据锁定 335
20.2.1 悲观锁定 335
20.2.2 乐观锁定 336
20.2.3 悲观锁定与乐观锁定的比较 338
20.2.4 锁定转换 338
20.3 并发控制的其他方法 339
20.4 本章实例 339
20.5 本章小结 343
20.6 习题 343
第21章 Oracle中的正则表达式
21.1 正则表达式简介 344
22.1.1 正则表达式与通配符 344
22.1.2 正则表达式与程式语言 344
21.2 正则表达式基础知识 345
21.2.1 元字元和普通字元 345
21.2.2 量词 345
21.2.3 字元转义与字元类 345
21.2.4 字元组的使用 346
21.2.5 正则表达式分支 346
21.2.6 Oracle中正则表达式的特殊性 346
21.3 正则表达式在Oracle中的套用 347
21.3.1 regexp_like()的使用 347
21.3.2 regexp_instr()的使用 347
21.3.3 regexp_substr()的使用 348
21.3.4 regexp_ replace ()的使用 348
21.4 本章实例 349
21.5 本章小结 349
21.6 习题 350
第五篇 Oracle与程式语言综合使用实例
第22章 Oracle在Java开发中的套用
22.1 通过JDBC使用Oracle 351
22.1.1 JDBC简介 351
22.1.2 準备工作 351
22.1.3 JDBC连线Oracle 352
22.1.4 利用JDBC查询数据 354
22.1.5 利用JDBC更新数据 355
22.1.6 总结JDBC运算元据库 357
22.2 通过Hibernate操作Oracle资料库 357
22.2.1 準备工作 357
22.2.2 配置Hibernate 358
22.2.3 利用Hibernate查询数据 361
22.2.4 利用Hibernate更新数据 362
22.2.5 利用Hibernate插入数据 364
22.3 本章小结 365
22.4 习题 365
第23章 Oracle在C#开发中的套用
23.1 在C#中连线Oracle资料库 366
23.2 在C#中操作Oracle资料库 367
23.3 在C#中使用Oracle资料库事务 369
23.4 本章小结 371
23.5 习题 372
第六篇 应试指南
第24章 常见面试习题
24.1 简历準备 373
24.2 简历投递及面试 374
24.3 常见资料库理论问题 375
24.4 常见PL/SQL相关面试问题 375
24.5 常见Oracle维护相关面试问题 377
24.6 常见Oracle套用开发相关面试问题 379
前言
“21天学编程系列”自2009年1月上市以来一直受到了广大读者的青睐。该系列丛书中的大部分图书从一上市就登上了编程类图书销售排行榜的前列,很多大中专院校也将该系列丛书中的一些图书作为教材使用,目前这些图书已经多次印刷、改版。可以说,“21天学编程系列”是自2009年以来国内原创计算机编程图书最有影响力的品牌之一。
为了使该系列图书能紧跟技术和教学的发展,更加适合读者学习和学校教学,编者结合最新技术和读者的建议,对该系列图书进行了改版(即第3版)。本书便是该系列丛书中的Oracle分册。
本书有何特色
1.细緻体贴的讲解
为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用準确的语言总结概念用直观的图示演示过程用详细的注释解释代码用形象的比方帮助记忆。效果如下:
知识点介绍 準确、清晰是其显着特点,一般放在每一节开始位置,让零基础的读者了解相关概念,顺利入门。
範例 书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。
範例代码 与範例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程式,均在每行代码前设定编号,便于读者学习。
运行结果 对範例给出运行结果和对应图示,帮助读者更直观地理解範例代码。
代码解析 将範例代码中的关键代码行逐一解释,有助于读者掌握相关概念和知识。
综合练习 为了便于读者巩固所学内容,本书每章中均提供了综合练习,并给出了操作提示和结果,配合读者自己动手实践。
习题 每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握,题目的提示或答案放在光碟中。
常见面试题 本书最后一章配有常见面试题及应对提示。
贴心的提示 为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下。
提示:通常是一些贴心的提醒,让读者加深印象或提供建议,或者解决问题的方法。
注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
警告:对操作不当或理解偏差将会造成的灾难性后果做警示,以加深读者印象。
经作者多年的培训和授课证明,以上讲解方式是最适合初学者学习的方式,读者按照这种方式学习,会非常轻鬆、顺利地掌握本书知识。
2.实用超值的DVD光碟
为了帮助读者比较直观地学习,本书附带DVD光碟,内容包括多媒体视频、电子教案(PPT)、各章习题答案和实例原始码等。
多媒体视频
本书配有长达14小时的教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。
电子教案(PPT)
本书可以作为高校相关课程的教材或课外辅导书,所以作者特别为本书製作了电子教案(PPT),以方便老师教学使用。
3.提供完善的技术支持
本书技术支持论坛,读者可以在上面提问、交流。另外,论坛上还有一些教程、视频动画和各种技术文章,可帮助读者提高开发水平。
推荐的学习计画
本书从初学者角度出发,结合其对学习阶段的认识,归纳了最适合初学者的学习模式,并为读者总结了合理的学习时间分配方式,列表如下:
本书适合哪些读者阅读
本书非常适合以下人员阅读:
Oracle资料库开发人员;
Oracle资料库管理员;
基于Oracle资料库的软体程式设计师;
大专院校学生;
其他编程爱好者。
本书主要由张朝明编写。参与编写的其他人员有张燕、杜海梅、孟春燕、吴金艳、鲍凯、庞雁豪、杨锐丽、鲍洁、王小龙、李亚杰、张彦梅、刘媛媛、李亚伟、张昆(笔名:张增强),在此表示感谢。
作 者