Chapter01数据库技术学习准备 2
1.1数据库的基本概念 2
1.1.1数据管理的发展历程 2
1.1.2相关术语 6
1.1.3数据模型 7
1.2数据库系统结构 10
1.2.1数据库的三级模式结构 10
1.2.2数据库的体系结构 12
1.3数据库的规范化 14
1.3.1数据依赖 14
1.3.2相关概念 15
1.3.3范式 15
1.4数据库设计 18
1.4.1需求分析 18
1.4.2概念结构设计 19
1.4.3逻辑结构设计 19
1.4.4数据库物理设计 20
1.4.5数据库的实施 20
1.5主流数据库简介 21
Chapter02初识Oracle数据库 26
2.1 Oracle数据库概述 26
2.1.1 Oracle简介 26
2.1.2 Oracle特性 27
2.2 Oracle的安装准备 29
2.2.1硬件要求 29
2.2.2软件要求 30
2.3 Oracle数据库的安装 30
2.3.1 Oracle安装过程 31
2.3.2 Oracle常用服务 36
2.4 Oracle数据库的卸载 37
Chapter03 SQL语言基础 42
3.1 SOL语言概述 42
3.1.1 SQL语言的功能 42
3.1.2 SQL语言的特点 43
3.2表管理 44
3.2.1数据类型 44
3.2.2创建表 47
3.2.3修改表 51
3.2.4删除表 53
3.2.5表数据更新 54
3.2.6定义数据完整性 55
3.3视图管理 60
3.3.1创建视图 60
3.3.2应用视图 62
3.3.3修改视图 62
3.3.4删除视图 63
3.4索引管理 63
3.4.1创建索引 63
3.4.2应用索引 65
3.4.3删除索引 66
3.5同义词 66
3.6序列 67
3.7数据定义 69
3.8数据操纵 70
3.9数据控制 70
3.10基本数据查询 71
3.10.1数据查询基本结构 71
3.10.2简单查询 71
3.10.3使用WHERE子句进行筛选 74
3.10.4使用ORDER BY子句进行查询的排序 76
3.10.5使用GROUP BY子句进行分组查询 76
3.10.6使用HAVING子句对分组进行筛选 77
3.10.7使用Create子句将查询结果存储到表中 77
3.11多表连接查询 78
3.11.1多表连接查询 78
3.11.2嵌套查询 81
3.11.3集合操作 84
Chapter04数据库管理 88
4.1用户模式 88
4.1.1模式和模式对象 88
4.1.2模式实例SCOTT 88
4.2数据库管理 89
4.2.1创建数据库 89
4.2.2删除数据库 99
4.2.3启动数据库 101
4.2.4改变数据库启动模式(状态) 104
4.2.5关闭数据库 104
Chapter05 Oracle数据库体系结构 110
5.1 Oracle体系结构概述 110
5.2 Oracle数据库逻辑结构 110
5.2.1表空间(Tablespace ) 111
5.2.2段(Segment) 115
5.2.3数据区(Extent) 117
5.2.4数据块 117
5.3 Oracle数据库物理结构 118
5.3.1数据文件 118
5.3.2控制文件 121
5.3.3重做日志文件 122
5.4 Oracle数据库内存结构 125
5.4.1系统全局区(System Global Area) 126
5.4.2程序全局区(Program Global Area) 128
5.5 Oracle数据库进程 129
5.5.1进程监控进程(PMON) 129
5.5.2系统监控进程(SMON) 130
5.5.3日志写入进程(LGWR) 130
5.5.4归档进程(ARCn ) 130
5.5.5检查点进程(CKPT) 131
5.5.6恢复进程(RECO ) 131
Chapter06 SQL*Plus工具 134
6.1 SOL*Plus概述 134
6.1.1 SQL*Plus的主要功能 134
6.1.2 SQL*Plus的启动 134
6.1.3 SQL*Plus的退出 136
6.2 SQL*Plus常用命令 137
6.2.1 describe命令 137
6.2.2 prompt命令 139
6.2.3 define和accept命令 139
6.2.4替换变量 141
6.2.5 show命令 143
6.2.6 save命令 144
6.2.7 get命令 146
6.2.8 edit命令 146
6.2.9@命令 147
6.2.10 spool命令 147
6.2.11 start命令 148
6.2.12 help命令 148
6.3 SQL*Plus格式化查询结果命令 149
6.3.1 SQL*Plus环境的设置 149
6.3.2 linesize命令 152
6.3.3 pagesize命令 153
6.3.4 column命令 153
6.3.5 pause命令 155
6.3.6 ttitle和btitle命令 155
6.3.7 break和computer命令 156
6.4其他缓存区编辑命令 157
Chapter07 PL/SQL编程基础 161
7.1 PL/SQL概 述 161
7.1.1 PL/SQL与SQL的关系 161
7.1.2 PL/SQL基本结构 161
7.1.3 PL/SQL结构示例 161
7.1.4 PL/SQL程序注释 162
7.2 PL/SQL常量和变量定义 163
7.2.1 PL/SQL字符集 163
7.2.2数据类型 164
7.2.3定义变量和常量 171
7.3条件语句 172
7.3.1 IF条件语句 172
7.3.2 CASE条件语句 173
7.4循环语句 175
7.4.1 LOOP循环语句 175
7.4.2 WHILE循环语句 177
7.4.3 FOR循环 178
Chapter08 游标和 异常处理 181
8.1游标 181
8.1.1定义游标 181
8.1.2打开游标 182
8.1.3从游标获取数据 182
8.1.4关闭游标 183
8.1.5游标FOR循环 185
8.1.6隐式游标 186
8.2游标属性 187
8.3 PL/SQL异常处理 191
8.3.1自定义异常处理 191
8.3.2预定义异常 191
8.3.3自定义异常 193
Chater09 存储过程、函数、触发器和包 197
9.1存储过程 197
9.1.1创建存储过程 197
9.1.2调用过程 200
9.1.3带参数的存储过程 200
9.1.4删除存储过程 205
9.2函数 206
9.2.1创建函数 207
9.2.2调用函数 210
9.2.3删除函数 211
9.3触发器 211
9.3.1触发器概述 211
9.3.2创建触发器 212
9.3.3维护触发器 216
9.3.4删除触发器 217
9.3.5三种方法的区别与比较 218
9.4包 218
9.4.1创建包 218
9.4.2调用包 221
9.4.3删除包 221
Chapter10 Oracle系统优化 224
10.1 SQL语句调优 224
10.1.1不用星号(*)代替所有列名 224
10.1.2在确保完整性的情况下多用COMMIT语句 225
10.1.3用WHERE语句代替HAVING语句 225
10.1.4用TRUNCATE语句代替DELETE语句 226
10.1.5用表连接代替表的多次查询 228
10.1.6用EXISTS代替IN 230
10.1.7用EXISTS代替DISTINCT 231
10.1.8用<=代替< 231
10.1.9使用指定的详细列名 232
10.2表连接的优化 233
10.2.1选择FROM后表的顺序 233
10.2.2 WHERE子句的连接顺序 234
10.3合理使用索引 234
10.3.1何时使用索引 234
10.3.2索引列上操作符的使用 235
10.3.3唯索引列上不要使用NULL值 235
10.3.4选择复合索引主列 235
10.3.5避免对大表的全表扫描 236
10.3.6监视索引是否被使用 236
Chapter11 Oracle数据库备份与恢复 239
11.1备份与恢复概述 239
11.1.1备份的原则和策略 239
11.1.2恢复的原则和策略 239
11.2备份与恢复的分类 240
11.2.1备份分类 240
11.2.2恢复分类 241
11.3备份和恢复的方法 242
11.3.1冷备份的实施 242
11.3.2热备份的实施 243
11.3.3冷备份的恢复 245
11.3.4热备份的恢复 246
Chater12 数据的导入/导出 253
12.1 Data Pump概述 253
12.2创建目录 254
12.3 Data Pump导出数据 255
12.3.1 EXPDP的三种调用接口 256
12.3.2 EXPDP的五种导出模式 256
12.3.3导出参数说明 259
12.4 Data Pump导入数据 261
12.4.1 IMPDP的三种调用接口 261
12.4.2 IMPDP的五种调用模式 261
12.4.3导入参数说明 263
12.5 EXP/IMP导出/导入数据 265
12.5.1 EXP导出数据 265
12.5.2 IMP导入数据 268
Chapter13 数据库安全管理 273
13.1 Oracle数据库的安全性 273
13.2用户 274
13.2.1创建用户 274
13.2.2修改用户 278
13.2.3删除用户 281
13.3用户权限 281
13.3.1系统权限 282
13.3.2对象权限 283
13.4角色 285
13.4.1角色分类 285
13.4.2创建角色 286
13.4.3为角色授权 286
13.4.4管理角色 287
Chapter14 R M A N工具的应用 290
14.1初识RMAN 290
14.1.1 RMAN相关概念 290
14.1.2 RMAN常用组件 290
14.1.3备份前的准备操作 291
14.2 RMAN备份 296
14.2.1 BACKUP命令 296
14.2.2完全备份 296
14.2.3增量备份 297
14.2.4备份表空间 298
14.2.5备份控制文件 299
14.2.6备份归档日志 299
14.2.7镜像复制 300
14.2.8查看备份信息 300
14.3 RMAN恢复数据库 301
14.3.1数据库非归档恢复 302
14.3.2数据库归档恢复 305
14.3.3数据块恢复 306
Chapter15 闪回技术 309
15.1认识闪回技术 309
15.1.1闪回恢复区的作用 309
15.1.2配置闪回恢复区 309
15.2闪回查询技术 311
15.2.1闪回版本查询 311
15.2.2闪回事务查询 311
15.3闪回错误操作技术 312
15.3.1闪回数据库 312
15.3.2闪回表 314
15.3.3闪回回收站 314
Chapter16 Oracle数据库的连接 318
16.1 JDBC简介 318
16.2 JDBC的工作原理 319
16.3 JDBC的操作 320
16.4 ADO.NET简介 323
16.5 ADO.NET中的对象 324
16.5.1 Connection对象 326
16.5.2 Command对象 328
16.5.3 DataReader对象 331
16.5.4 DataAdapter对象 332
16.5.5 DataSet对象 333
16.5.6 DataTable对象 335
Chapter17 学生选课管理系统开发案例 338
17.1需求分析 338
17.2系统要求 338
17.3系统数据库设计 339
17.3.1需求分析 339
17.3.2数据库概念结构设计 340
17.3.3数据库逻辑结构设计 341
17.3.4数据库物理结构设计 341
17.4系统设计与实现 342
17.4.1开发工具与语言 342
17.4.2关键代码 342
附录 353
附录A 353
附录B 360