新書推薦:
《
那本书是(吉竹伸介与又吉直树 天才联动!)
》
售價:HK$
102.4
《
传播的跃迁:人工智能如何革新人类的交流
》
售價:HK$
113.9
《
纯粹·古代中国的历史与制度
》
售價:HK$
64.4
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:HK$
59.8
《
一个英国军事顾问眼中的二战
》
售價:HK$
285.2
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:HK$
69.0
《
瘦肝
》
售價:HK$
102.4
《
股票大作手回忆录
》
售價:HK$
57.3
|
內容簡介: |
本书由浅入深,全面、系统地介绍了Oracle 11g R2 数据库中的PLSQL 开发技术。同时,本书提供了大量实例,供读者实战演练。
本书共分4 篇。第1 篇介绍Oracle 和PLSQL 基础知识;第2 篇介绍数据表的创建和操作、表中数据的操作、数据的基本查询、查询中函数的使用、查询中特殊的转换函数、数据表的高级查询等技术;第3 篇介绍索引和视图的使用、序列的使用、数据类型和流程控制、游标的使用、存储过程和函数的使用、触发器的使用、在使用PLSQL 编程时异常的处理、事务和锁、安全管理、PLSQL 代码的管理以及PLSQL 语句优化、备份和恢复访问技术;第4 篇介绍在.NET 和Java 中连接Oracle 的方法,以提高读者实战水平。
本书涉及面广,从基本操作到高级技术和核心原理,再到项目开发,几乎涉及PLSQL 应用的所有重要知识。本书适合所有想全面学习PLSQL 语言的人员阅读,也适合使用PLSQL 进行开发的各种工程技术人员使用。对于经常使用PLSQL 做开发的人员,更是一本不可多得的案头必备参考书。
|
目錄:
|
第1篇 PLSQL简介
第1章 走进Oracle 2
1.1 数据库系统与数据模型 2
1.1.1 基本术语 2
1.1.2 数据库技术的发展 3
1.1.3 数据模型 5
1.2 数据库系统的体系结构 6
1.2.1 数据库系统的三级模式 6
1.2.2 数据库管理系统 7
1.2.3 数据库系统的工作流程 8
1.3 关系数据库的简单介绍 9
1.3.1 关系数据库的基本特性 10
1.3.2 关系数据库的设计规范 10
1.4 认识Oracle 11g R2 11
1.4.1 什么是Oracle 11g R2 11
1.4.2 Oracle的发展历程 12
1.4.3 Oracle 11g R2的新特性 13
1.5 小结 13
第2章 认识PLSQL 14
2.1 SQL语言概述 14
2.2 什么是PLSQL 19
2.3 PLSQL在SQL*Plus中的使用 26
2.3.5 SQL*Plus删除命令 31
2.3.6 SQL*Plus清除缓冲区命令 32
2.3.7 SQL*Plus显示缓冲区内容命令 33
2.3.8 SQL*Plus保存命令 34
2.3.9 查询结果的格式化 36
2.3.10 注释的使用 43
2.3.11 在SQL*Plus中编辑语句 44
2.4 PLSQL在SQL Developer中的使用 45
2.5 小结 47
第2篇 PLSQL基础
第3章 数据表的基本操作 50
3.1 创建表 50
3.1.3 创建表实例 52
3.2 约束 54
3.2.1 约束的类型 55
3.2.2 创建一个带检查约束的表 55
3.2.3 创建一个带非空约束的表 56
3.2.4 创建一个带唯一约束的表 57
3.2.5 创建一个带外键约束的表 58
3.2.6 创建一个含多个约束的表 61
3.3 修改表 62
3.3.2 给表添加约束 65
3.3.3 删除表中的约束 66
3.4 删除表 67
3.5 重命名表 67
3.6 使用企业管理器操作表 67
3.6.1 启用企业管理器 68
3.6.2 使用企业管理器创建表 69
3.6.4 使用企业管理器删除表 74
3.7 小结 75
第4章 表中数据的基本操作 76
4.1 查询数据表 76
4.1.1 查询表中的数据 76
4.1.2 使用SQL Developer工具查询表中的数据 77
4.2 添加数据 79
4.2.1 添加操作的基本语法 79
4.2.2 直接向表中添加数据 80
4.2.3 数据中NULL值的处理 82
4.2.4 插入值是默认值的处理 84
4.2.5 插入值是唯一值的处理 85
4.2.6 使用INSERT...SELECT插入数据 86
4.2.7 使用SQL Developer工具添加数据 87
4.3 修改数据 88
4.3.1 修改操作的基本语法 88
4.3.2 使用UPDATE语句更新数据行 89
4.3.3 根据条件修改表中的数据 91
4.3.4 使用SQL Developer工具修改数据 91
4.4 删除数据 91
4.4.1 删除操作的基本语法 91
4.4.2 删除表中的数据 92
4.4.3 有关TRUNCATE的使用 92
4.4.4 使用SQL Developer工具删除数据 94
4.5 小结 94
第5章 数据的基本查询 95
5.1 查询语句的基础 95
5.1.1 查询语句语法 95
5.1.2 查询各关键词的顺序及功能 96
5.1.3 查询语句执行顺序 96
5.2 最容易理解的查询 97
5.2.1 增加实验数据 97
5.2.2 查询表中列的数据 99
5.2.3 查询所有列 101
5.2.4 去除查询结果中的重复记录 102
5.2.5 返回查询的部分数据 104
5.3 带条件的查询 104
5.3.1 单一的条件查询 105
5.3.2 查询中使用比较表达式 106
5.3.3 使用简单逻辑表达式 108
5.3.4 有关NULL值的判断 114
5.3.5 有关模糊查询 115
5.3.6 指定数据范围 120
5.3.7 如何限制检索数据范围 122
5.3.8 定义转义符 123
5.4 排序查询结果 125
5.4.1 基本排序 125
5.4.2 多列排序 129
5.5 PLSQL中的运算符 131
5.5.1 算术运算符 132
5.5.2 比较运算符 132
5.5.3 逻辑运算符 132
5.5.4 字符串连接符 133
5.5.5 赋值运算符 133
5.5.6 运算符的优先级 133
5.6 查询中表达式的使用 134
5.6.1 使用连接符连接列 134
5.6.2 算术表达式的使用 136
5.7 小结 137
第6章 查询中函数的使用 138
6.1 常用的单行函数 138
6.1.1 字符处理函数 138
6.1.2 数值处理函数 143
6.1.3 日期处理函数 146
6.1.4 转换函数 149
6.1.5 替换NULL值函数 151
6.1.6 排除指定条件函数 152
6.2 聚合函数 152
6.2.1 聚合函数的种类 152
6.2.2 计数函数 153
6.2.3 求和函数 155
6.2.4 均值函数 156
6.2.5 最大值最小值函数 158
6.2.6 统计函数 160
6.2.7 聚合函数的重值处理 161
6.3 分组查询 162
6.3.1 简单分组 162
6.3.2 多列分组 163
6.3.3 分组查询中NULL值的处理 164
6.3.4 汇总数据运算符 165
6.3.5 筛选分组结果 168
6.4 其他函数 170
6.4.1 返回登录名函数 170
6.4.2 返回SESSIONID和
LANGUAGE函数 170
6.4.3 数据匹配函数 171
6.5 小结 172
第7章 查询中特殊的转换函数 173
7.1 基本的转换函数 173
7.1.1 数据类型的自动转换 173
7.1.2 关于自动转换的注意事项 176
7.2 特殊的转换函数 177
7.3 变换函数 178
7.3.1 TRANSLATE函数 178
7.3.2 DECODE函数 180
7.4 小结 182
第8章 数据表的高级查询 183
8.1 理解什么是多表连接 183
8.1.1 什么是连接 183
8.1.2 连接的类型与实现 184
8.2 简单的多表查询 184
8.2.1 创建实例表 185
8.2.2 如何实现多表查询 186
8.2.3 指定连接条件 187
8.2.4 使用别名作为表名的简写 188
8.2.5 自连接表进行查询 189
8.3 表的连接查询 192
8.3.1 基本连接语法 193
8.3.2 内部连接 193
8.3.3 自然连接 196
8.3.4 外部连接 198
8.3.5 交叉连接 203
8.3.6 连接中空值问题 204
8.3.7 表的连接与聚合分析 206
8.4 集合运算 208
8.4.1 集合运算的种类 208
8.4.2 UNION的使用 208
8.4.3 有关多表的UNION操作 211
8.4.4 UNION与JOIN的区别 212
8.4.5 MINUS与INTERSECT的使用 213
8.5 子查询的使用 217
8.5.1 认识子查询 217
8.5.2 非相关子查询与相关子查询 217
8.5.3 子查询的组成 219
8.5.4 子查询的使用方式及限制 220
8.6 在子查询中使用各种限制条件 220
8.6.1 比较运算符引入子查询 221
8.6.2 子查询中的聚合函数 223
8.6.3 在子查询中使用IN 224
8.7 在子查询中使用EXISTS 227
8.7.1 使用EXISTS的子查询 228
8.7.2 EXISTS子查询的使用 229
8.7.3 使用EXISTS子查询检查表中的重复行 230
8.8 子查询的其他应用 231
8.8.1 在子查询中使用ROWNUM关键词 231
8.8.2 在SELECT子句中使用子查询 234
8.8.3 在HAVING子句中使用子查询 235
8.8.4 在数据操纵语言(DML)中使用子查询 236
8.9 小结 238
第3篇 PLSQL高级技术
第9章 索引和视图的使用 240
9.1 索引及其操作 240
9.1.1 什么是索引 240
9.1.2 索引的种类及语法 240
9.1.3 索引的创建 241
9.1.4 创建索引的注意事项 246
9.1.5 索引的管理 246
9.2 视图及其应用 250
9.2.1 什么是视图 250
9.2.2 视图的作用 251
9.3 创建视图 251
9.3.1 视图的语法 251
9.3.2 创建单表视图 252
9.3.3 创建多表视图 253
9.3.4 视图的视图 254
9.3.5 无源表视图 255
9.3.6 设置视图只读 255
9.3.7 设置视图的检查约束 257
9.3.8 内嵌视图的使用 259
9.3.9 查询视图的定义和相关信息 259
9.4 修改、删除视图 260
9.4.1 修改视图内容 260
9.4.2 删除视图 261
9.5 小结 262
第10章 序列 263
10.1 创建序列 263
10.2 使用序列 265
10.3 序列属性 269
10.3.1 创建序列的注意事项 269
10.3.2 指定序列的初始值 269
10.3.3 序列的最大值和最小值 270
10.3.4 序列的步长 271
10.3.5 序列的循环取值 272
10.3.6 序列的缓存大小 273
10.4 小结 274
第11章 数据类型、流程控制和游标 275
11.1 PLSQL数据类型 275
11.1.1 标量类型 275
11.1.2 复合类型 276
11.2 变量和常量 284
11.2.1 变量的声明语法 284
11.2.2 常量的声明语法 285
11.3 程序流控制语句 285
11.3.1 IF...ELSE条件选择结构 286
11.3.2 CASE条件控制语句 291
11.3.3 LOOP循环控制语句 295
11.4 游标 300
11.4.1 游标的概念 301
11.4.2 显式游标的定义和操作 302
11.4.3 显式游标的属性 306
11.4.4 隐式游标 308
11.5 小结 311
第12章 存储过程、函数 312
12.1 理解存储过程 312
12.1.1 认识存储过程 312
12.1.2 存储过程的优点 312
12.1.3 存储过程的语法 313
12.2 存储过程的创建和执行 313
12.2.1 存储过程的执行 313
12.2.2 创建无参数的存储过程 314
12.2.3 带有输入参数的存储过程 318
12.2.4 带有输出参数的存储过程 321
12.3 存储过程的管理 323
12.3.1 查看存储过程 323
12.3.2 查看存储过程的错误 324
12.3.3 修改存储过程 326
12.3.4 存储过程的重新编译 326
12.3.5 删除存储过程 327
12.4 函数 327
12.4.1 函数的组成和语法 327
12.4.2 创建无参数函数 328
12.4.3 创建有参数函数 330
12.4.4 查看函数 335
12.4.5 修改函数 336
12.4.6 重新编译函数 337
12.4.7 删除函数 338
12.5 小结 338
第13章 程序包 339
13.1 程序包简介 339
13.2 构建程序包的规则 339
13.2.1 程序包规范 339
13.2.2 程序包主体 341
13.3 调用程序包中的函数存储过程 343
13.4 删除程序包 343
13.5 小结 344
第14章 触发器 345
14.1 触发器的基本概念 345
14.1.1 触发器简介 345
14.1.2 触发器的类型 345
14.1.3 触发器的作用及使用 346
14.1.4 触发器的执行环境 346
14.2 触发器的创建和使用 347
14.2.1 触发器的语法和组成 347
14.2.2 创建DML触发器 349
14.2.3 替代类型触发器 360
14.2.4 复合类型触发器 362
14.2.5 DDL类型触发器 364
14.3 触发器管理 366
14.3.1 查看触发器 366
14.3.2 修改触发器 367
14.3.3 删除触发器 369
14.4 小结 370
第15章 异常处理 371
15.1 理解异常 371
15.1.1 异常的分类 371
15.1.2 异常的结构 372
15.2 异常的应用 372
15.2.1 预定义异常 373
15.2.2 非预定义异常 377
15.2.3 自定义异常 379
15.3 小结 380
第16章 事务和锁 381
16.1 事务控制的基本概念 381
16.1.1 事务控制的必要性 381
16.1.2 事务的ACID特性及实现 382
16.1.3 事务的状态 382
16.1.4 PLSQL中事务的执行 383
16.2 PLSQL中事务的实现 384
16.2.1 事务的类型 384
16.2.2 提交事务 385
16.2.3 设置事务的保存点 387
16.3 并发控制及其实现 388
16.3.1 并发访问的常见问题 389
16.3.2 什么是锁 390
16.3.3 锁的分类 390
16.3.4 事务隔离级别 392
16.3.5 事务阻塞及其解决方法 394
16.3.6 死锁 396
16.4 小结 398
第17章 安全管理 399
17.1 用户管理 399
17.1.1 什么是用户 399
17.1.2 创建用户 399
17.1.3 修改用户 405
17.1.4 删除用户 407
17.2 权限管理 409
17.2.1 授予权限 409
17.2.2 权限回收 413
17.2.3 查看权限 415
17.3 角色管理 416
17.3.1 理解角色 416
17.3.2 创建角色 417
17.3.3 角色的管理设置 419
17.3.4 修改、删除角色 420
17.4 概要文件(PROFILE) 421
17.4.1 理解概要文件 421
17.4.2 创建概要文件 421
17.4.3 修改、删除概要文件 424
17.4.4 查询概要文件 425
17.5 小结 426
第18章 动态SQL和动态PLSQL 427
18.1 动态SQL 427
18.1.1 EXECUTE IMMEDIATE语句 427
18.1.2 OPEN FOR语句 428
18.1.3 4种动态SQL方法 429
18.2 动态PLSQL 431
18.3 小结 431
第19章 管理PLSQL代码 432
19.1 管理数据库中的代码 432
19.1.1 数据字典视图概述 432
19.1.2 显示存储对象的信息 433
19.1.3 源代码的显示和搜索 434
19.1.4 通过数据字典视图查看编译器属性 434
19.1.5 通过视图分析和更改触发器的状态 436
19.1.6 分析参数信息 437
19.2 依赖关系的管理和代码的重编译 437
19.2.1 通过数据字典视图查看依赖关系 437
19.2.2 失效的程序单元的重编译 438
19.3 编译时警告 439
19.4 PLSQL程序的执行和调试 441
19.4.1 PLSQL程序的执行 441
19.4.2 PLSQL程序的调试 442
19.4.3 调试技巧和策略 442
19.5 IO操作与PLSQL 446
19.5.1 显示信息 446
19.5.2 启用DBMS_OUTPUT 446
19.6 应用安全与PLSQL 448
19.7 小结 449
第20章 PLSQL语句优化 450
20.1 一般的SQL技巧 450
20.1.1 在查询中尽量不使用“*” 450
20.1.2 多表查询时多使用别名 450
20.1.3 条件查询多使用WHERE 451
20.1.4 计算时不用索引列 451
20.1.5 指定查询范围时多使用IN 452
20.1.6 使用TRUNCATE清空表中记录 453
20.1.7 及时提交事务 453
20.1.8 DECODE函数的使用 454
20.1.9 多使用EXISTS语句判断条件 455
20.1.10 其他技巧 455
20.2 Oracle优化器 456
20.2.1 Oracle优化器的分类 456
20.2.2 Oracle优化器的模式 457
20.2.3 查看Oracle执行计划 457
20.3 SQL性能指导 458
20.3.1 ADDM 458
20.3.2 SQL访问指导 458
20.3.3 SQL优化指导 462
20.4 小结 462
第21章 备份与恢复 463
21.1 备份与恢复简介 463
21.1.1 备份 463
21.1.2 恢复 463
21.2 逻辑备份与恢复 463
21.2.1 使用expdp和impdp工具进行逻辑备份与恢复 463
21.2.2 使用OEM进行逻辑备份与恢复 466
21.3 脱机备份与恢复 475
21.3.1 脱机备份 475
21.3.2 脱机恢复 476
21.4 联机备份与恢复 476
21.4.1 使用RMAN管理备份与恢复 477
21.4.2 恢复 479
21.5 小结 482
第4篇 Oracle应用开发
第22章 在.NET中连接Oracle数据库 484
22.1 ADO.NET概述 484
22.1.1 什么是ADO.NET 484
22.1.2 ADO.NET中的对象 484
22.2 使用绑定的方式连接Oracle数据库 485
22.2.1 数据控件概述 485
22.2.2 使用DataGridView控件绑定Oracle数据库 486
22.3 使用代码的方式连接Oracle数据库 492
22.3.1 使用Command对象操作Oracle数据库 492
22.3.2 使用DataSet对象存储查询结果 494
22.3.3 商品信息存储实例 495
22.4 小结 499
第23章 在Java中连接Oracle数据库 500
23.1 JDBC与ODBC简介 500
23.1.1 什么是JDBC 500
23.1.2 什么是ODBC 501
23.2 使用Thin方式连接Oracle数据库 502
23.3 使用JDBC-ODBC桥连接Oracle数据库 510
23.3.1 配置ODBC数据源 510
23.3.2 连接Oracle数据库 513
23.4 小结 513
|
內容試閱:
|
Oracle 11g R2是一款优秀的关系型数据库,广泛地应用在各行各业中。Oracle数据库产品具有较好的安全性、稳定性和优异的性能,占领了数据库市场的大部分份额。要使用Oracle设计应用程序,就要学习Oracle自己的语言——PLSQL语言。PLSQL语言不仅能在Oracle内部使用,还能在自己的应用程序中使用。多种Oracle操作工具如SQL Developer、SQL*Plus中都可以使用PLSQL语言。尤其是在编写应用程序时如果使用Oracle数据库,则学习PLSQL更是至关重要的。
作者结合多年的Oracle开发经验和心得体会,花费了一年多的时间写作本书,希望各位读者能在本书的引领下学习PLSQL语言。本书全面、系统、深入地介绍了PLSQL语言的开发技术,并以大量实例贯穿于全书的讲解之中,还详细介绍了如何对数据库进行管理、备份与恢复以及性能优化,最后讲解了Oracle的应用系统项目案例。学习完本书后,读者应该可以更加全面地掌握PLSQL语言。
本书特色
1.涵盖PLSQL编程的各种语法
本书涵盖了使用PLSQL建表、操作表中的数据、PLSQL的流程控制语句、存储过程和函数、触发器、游标、用户管理等PLSQL编程语法的讲解。
2.示例驱动,学习性强
本书每章都提供了大量的示例,在完成这些示例的同时读者也能更快地学习和掌握PLSQL语言的使用。此外,这些示例全部在真实环境中演练过并截取效果图,使读者学习起来很方便。
3.讲解由浅入深,循序渐进,适合各个层次的读者阅读
本书从PLSQL的基础开始讲解,逐步深入到PLSQL的高级开发技术及应用,内容梯度从易到难,讲解由浅入深,循序渐进,适合各个层次的读者阅读,并均有所获。
4.详解典型项目案例开发,提高实战水平
本书详细介绍了在.NET中连接Oracle和在Java中连接Oracle项目案例的开发。通过这两个项目案例,可以让读者理解在案例开发中如何连接数据库。
本书内容及体系结构
第1篇 PLSQL简介(第1~2章)
本篇主要内容包括:走进Oracle、认识PLSQL等。通过本篇的学习,读者可以掌握Oracle开发环境和PLSQL语言的入门知识。
第2篇 PLSQL基础(第3~8章)
本篇主要内容包括:数据表的创建和操作、表中数据的操作、数据的基本查询、查询中函数的使用、查询中特殊的转换函数、数据表的高级查询等内容。通过本篇的学习,读者可以掌握使用PLSQL语句查询数据表中的数据,添加、删除、修改数据等内容,以及相关的函数。
第3篇 PLSQL高级技术(第9~21章)
本篇主要内容包括:索引和视图的使用、序列的使用、数据类型和流程控制、游标的使用、存储过程和函数的使用、触发器的使用、在使用PLSQL编程时异常的处理、事务和锁、安全管理、PLSQL代码的管理以及PLSQL语句优化、备份和恢复访问技术等。通过本篇的学习,读者可以掌握如何使用PLSQL语言进行编程和优化PLSQL语句。
第4篇 Oracle应用开发(第22~23章)
本篇主要内容包括:在.NET中连接Oracle,在Java中连接Oracle等。通过本篇的学习,读者可以掌握真正的项目开发中的数据库连接技术。
学习建议
? 书中列举了很多实际的例子,希望这些例子对大家有所帮助。
? 坚持编程:编程需要大量的练习。
? 学习本书时,需要从总体框架掌握Oracle的脉络,而不只是学习PLSQL语句。
本书读者对象
? 需要全面学习PLSQL开发技术的人员;
? 使用各种语言的软件程序员;
? Oracle数据库管理员;
? 专业培训机构的学员;
? 软件开发项目经理;
? 社会培训班学员;
? 需要案头必备一本PLSQL查询手册的人员。
致谢
本书主要由赵越(渤海大学)编写。由于时间匆忙,编写中难免有所疏漏和不妥之处,敬请不吝指正。
编者
|
|