第1章Oracle11g数据库简介 1
1.1主流数据库简介 2
1.1.1主流数据库 2
1.1.2主流数据库的特点 3
1.2 Oracle 11g数据库概述 4
1.2.1企业版 5
1.2.2标准版 5
1.2.3标准版1 5
1.2.4精简版 5
1.3 Oracle 11g的新特性 5
1.3.1数据库管理方面的新特性 6
1.3.2 PL/SQL的新特性 7
1.3.3其他方面的主要新特性 9
1.3.4 Oracle 11g R2的主要新特性 10
1.4上机练习 11
第2章 Oracle 11g数据库的安装和卸载 13
2.1 Oracle 11g的安装准备 14
2.1.1 Oracle 11g安装的硬件需求 14
2.1.2 Oracle 11g安装的软件需求 14
2.2 Oracle 11g数据库的安装 14
2.2.1 Oracle 11g的安装过程 15
2.2.2 Oracle 11g的常用服务 19
2.3 Oracle 11 g常见工具的启动 21
2.3.1 Oracle 11g企业管理器的启动 21
2.3.2 SQL*Plus的启动 22
2.4 Oracle 11g数据库的卸载 23
2.5上机练习 26
第3章 Oracle 11g数据库体系结构 27
3.1 Oracle数据库的物理结构 28
3.1.1数据文件 28
3.1.2控制文件 30
3.1.3重做日志文件 32
3.2 Oracle数据库的逻辑结构 34
3.2.1表空间(Tablespace) 35
3.2.2段(Segment) 39
3.2.3区间(Extent) 41
3.2.4数据块(Data Block) 41
3.3 Oracle数据库的内存结构 42
3.3.1系统全局区 42
3.3.2程序全局区 45
3.4 Oracle数据库的进程 46
3.4.1进程监控进程(PMON) 46
3.4.2系统监控进程(SMON) 46
3.4.3日志写入进程(LGWR) 47
3.4.4归档进程(ARCn) 47
3.4.5检查点进程(CKPT) 47
3.4.6恢复进程(RECO) 48
3.5上机练习 48
第4章 SQL*Plus工具的使用 49
4.1 SQL*Plus概述 50
4.1.1 SQL*Plus的主要功能 50
4.1.2 SQL*Plus的启动 50
4.1.3 SQL*Plus的退出 52
4.2 SQL*Plus的常用命令 52
4.2.1 describe命令 53
4.2.2 prompt命令 54
4.2.3 define和accept命令 54
4.2.4替换变量 56
4.2.5 show命令 58
4.2.6 save命令 59
4.2.7 get命令 60
4.2.8 edit命令 61
4.2.9@命令 61
4.2.10 spool命令 62
4.2.11 start命令 62
4.3 SQL*Plus格式化查询结果命令 63
4.3.1 SQL*Plus环境的设置 63
4.3.2行设置命令linesize 65
4.3.3页面设置命令pagesize 66
4.3.4列设置命令column 66
4.3.5分屏显示控制命令pause 68
4.3.6报表页眉页脚设置命令itle和btitle 68
4.3.7统计计算:break和compute 69
4.4其他缓存区编辑命令 70
4.5上机练习 71
第5章 数据库及数据库对象管理 73
5.1数据库管理 74
5.1.1创建数据库 74
5.1.2删除数据库 83
5.1.3启动数据库 85
5.1.4改变数据库启动模式(状态) 88
5.1.5关闭数据库 88
5.2表管理 91
5.2.1数据类型 91
5.2.2创建表 94
5.2.3修改表 98
5.2.4删除表 99
5.2.5表数据更新 100
5.2.6定义数据完整性 101
5.3视图管理 105
5.3.1创建视图 106
5.3.2应用视图 108
5.3.3修改视图 108
5.3.4删除视图 109
5.4索引管理 110
5.4.1创建索引 110
5.4.2应用索引 112
5.4.3修改索引 112
5.4.4删除索引 112
5.5上机练习 114
第6章SQL语言基础 115
6.1 SQL语言概述 116
6.1.1 SQL语言的功能 116
6.1.2 SQL语言的特点 117
6.1.3 PL/SQL与SQL的关系 118
6.2数据定义 118
6.3数据操纵 118
6.4数据控制 119
6.5基本数据查询 119
6.5.1数据查询基本结构 119
6.5.2简单查询 120
6.5.3使用WHERE子句进行筛选 122
6.5.4使用ORDER BY子句进行查询的排序 124
6.5.5使用GROUP BY子句进行分组查询 124
6.5.6使用HAVING子句对分组进行筛选 125
6.5.7使用INTO子句将查询结果存储到表中 125
6.5.8常见函数的使用 126
6.6高级数据查询 144
6.6.1多表连接查询 144
6.6.2嵌套查询 147
6.6.3集合操作 150
6.7上机练习 150
第7章SQL语句优化 153
7.1 SQL语句使用技巧 154
7.1.1不用“*”代替所有列名 154
7.1.2在确保完整性的情况下多用COMMIT语句 155
7.1.3尽量用WHERE语句代替HAVING 155
7.1.4用TRUNCATE代替DELETE 156
7.1.5尽量使用表连接来代替表的多次查询 157
7.1.6用EXISTS代替IN 158
7.1.7用EXISTS代替DISTINCT 159
7.1.8 使用“<=”代替“<” 160
7.1.9使用指定的详细列名 161
7.2表的连接方法 161
7.2.1选择FROM后表的顺序 161
7.2.2 WHERE子句的连接顺序 162
7.3有效地使用索引 163
7.3.1索引列上操作符的使用 163
7.3.2唯一索引列上不要使用NULL值 164
7.3.3选择复合索引主列 165
7.3.4避免对大表的全表扫描 165
7.3.5监视索引是否被使用 166
7.4上机练习 166
第8章 PL/SQL编程基础 167
8.1 PL/SQL概述 168
8.1.1 PL/SQL的基本结构 168
8.1.2 PL/SQL的结构示例 168
8.1.3 PL/SQL的程序注释 169
8.2 PL/SQL常量和变量的定义 170
8.2.1 PL/SQL的字符集 170
8.2.2数据类型 171
8.3条件语句 177
8.3.1 IF条件语句 177
8.3.2 CASE条件语句 178
8.4循环语句 180
8.4.1 LOOP循环语句 180
8.4.2 WHILE循环语句 182
8.4.3 FOR循环 182
8.5上机练习 183
第9章 PL/SQL高级编程 185
9.1游标 186
9.1.1定义游标 186
9.1.2打开游标 186
9.1.3从游标获取数据 187
9.1.4关闭游标 188
9.1.5游标FOR循环 189
9.1.6隐式游标 190
9.2游标属性 191
9.3包 194
9.3.1创建包 194
9.3.2调用包 196
9.3.3删除包 197
9.4异常信息 197
9.4.1异常处理 197
9.4.2预定义异常 197
9.4.3自定义异常 199
9.5上机练习 200
第10章 存储过程、函数和触发器 201
10.1存储过程 202
10.1.1创建存储过程 202
10.1.2调用过程 206
10.1.3带参数的存储过程 206
10.1.4删除存储过程 211
10.2函数 212
10.2.1创建函数 212
10.2.2调用函数 216
10.2.3删除函数 218
10.3触发器 218
10.3.1触发器概述 218
10.3.2创建触发器 219
10.3.3触发器的维护 225
10.3.4删除触发器 226
10.3.5三种方法的区别与比较 226
10.4上机练习 227
第11章 数据库安全管理 229
11.1 Oracle数据库安全性概述 230
11.1.1 Oracle 11g的安全性体系 230
11.1.2 Oracle 11g的安全性机制 230
11.2用户 231
11.2.1创建用户 231
11.2.2修改用户 235
11.2.3删除用户 237
11.3权限 237
11.3.1系统权限 238
11.3.2对象权限 241
11.4角色 242
11.4.1角色分类 242
11.4.2创建角色 243
11.4.3为角色授权 244
11.4.4为用户授予角色 244
11.4.5管理角色 245
11.4.6与角色相关的数据字典 246
11.5上机练习 247
第12章 备份与恢复 249
12.1备份与恢复概述 250
12.1.1备份的原则和策略 250
12.1.2恢复的原则和策略 250
12.2备份与恢复的分类 251
12.2.1备份分类 251
12.2.2恢复分类 252
12.3备份和恢复的方法 253
12.3.1冷备份的实施 253
12.3.2热备份的实施 254
12.3.3冷备份的恢复 256
12.3.4热备份的恢复 257
12.4上机练习 261
第13章 逻辑备份/数据的导入导出 263
13.1 Data Pump概述 264
13.2创建目录 265
13.3 Data Pump导出数据 266
13.3.1 EXPDP的3种调用接口 266
13.3.2 EXPDP的5种调用模式 267
13.3.3导出参数说明 269
13.4 Data Pump导入数据 271
13.4.1 IMPDP的3种调用接口 271
13.4.2 IMPDP的5种调用模式 271
13.4.3导入参数说明 273
13.5 EXP/IMP导出导入数据 275
13.5.1 EXP导出数据 275
13.5.2 IMP导入数据 277
13.6上机练习 280
第14章 使用RMAN工具 281
14.1 RMAN概述 282
14.1.1 RMAN的特点 282
14.1.2 RMAN的基本概念 282
14.1.3 RMAN中的组件 283
14.2 RMAN备份准备操作 284
14.2.1将数据库设置为归档日志模式 284
14.2.2创建恢复目录使用的表空间 285
14.2.3创建RMAN用户并授权 286
14.2.4创建恢复目录 286
14.2.5连接到目标数据库 287
14.2.6设置RMAN 289
14.2.7通道分配 291
14.3 RMAN备份 292
14.3.1 BACKUP命令 292
14.3.2完全备份 293
14.3.3增量备份 293
14.3.4备份表空间 295
14.3.5备份控制文件 296
14.3.6备份归档日志 96
14.3.7镜像复制 296
14.3.8 BACKUP的冷备份与热备份 297
14.3.9查看备份信息 298
14.4 RMAN恢复数据库 299
14.4.1数据库的非归档恢复 299
14.4.2数据库的归档恢复 303
14.4.3数据块的恢复 304
14.5上机练习 304
第15章 Oracle闪回技术 305
15.1闪回技术概述 306
15.1.1闪回恢复区的作用 306
15.1.2配置闪回恢复区 306
15.2闪回数据库 308
15.2.1闪回数据库的设置 308
15.2.2使用闪回数据库 310
15.3闪回表 313
15.4闪回回收站 315
15.4.1禁用启用回收站 315
15.4.2查看回收站中的信息 316
15.4.3清除回收站中的对象 317
15.4.4闪回回收站中的对象 317
15.5闪回版本查询 318
15.6闪回事务查询 320
15.7闪回数据归档 322
15.7.1闪回数据归档 322
15.7.2闪回数据归档区 323
15.7.3为表指定闪回数据归档区 325
15.7.4使用闪回数据归档区 326
15.7.5清除闪回数据归档区数据 326
15.8上机练习 327
第16章 Oracle数据库的连接 329
16.1 ADO.NET概述 330
16.2 ADO.NET中的对象 330
16.2.1 Connection对象 332
16.2.2 Command对象 334
16.2.3 DataReader对象 337
16.2.4 DataAdapter对象 338
16.2.5 DataSet对象 338
16.2.6 DataTable对象 340
16.3数据绑定技术 341
16.3.1数据绑定简介 341
16.3.2简单数据绑定示例 341
16.3.3复杂数据绑定示例 345
16.4存储过程应用案例 349
16.4.1存储过程简介 349
16.4.2存储过程的应用 350
16.5上机练习 354
第17章 仓库管理信息系统 355
17.1系统要求 356
17.2需求分析 356
17.3系统设计 358
17.4数据库设计 359
17.4.1数据库概念结构设计 359
17.4.2数据库逻辑结构设计 361
17.4.3数据库物理结构设计 363
17.5系统设计与实现 365
17.5.1开发工具和环境 365
17.5.2关键代码 365
17.6本章小结 381
第18章 图书馆管理系统 383
18.1系统概述 384
18.2需求分析 384
18.3数据库分析与设计 386
18.3.1 E-R图分析 387
18.3.2数据库的逻辑设计 388
18.4程序结构框图 389
18.5详细设计 390
18.5.1登录窗口 390
18.5.2主界面 392
18.5.3图书管理 395
18.5.4读者管理 409
18.5.5图书流通管理 418
18.5.6系统管理 427
18.6本章小结 435