第1章 数据库的基本概念 1
1.1 数据库 1
1.1.1 数据库、数据库管理系统和数据库系统 1
1.1.2 数据模型 1
1.1.3 关系型数据库语言 4
1.2 数据库设计 4
1.2.1 概念结构设计 4
1.2.2 逻辑结构设计 6
1.2.3 物理结构设计 7
1.3 数据库应用系统 7
1.3.1 C/S架构的应用系统 8
1.3.2 B/S架构的应用系统 8
第2章 数据库的基本结构和安装 10
2.1 Oracle数据库的基本结构 10
2.1.1 内部结构 10
2.1.2 外部结构 12
2.1.3 数据库实例 13
2.2 Oracle 11g安装 16
2.3 Oracle 11g数据库工具 20
第3章 界面创建和操作数据库 25
3.1 使用数据库配置向导创建数据库 25
3.2 SQL Developer操作数据库 31
3.2.1 表结构和数据类型 31
3.2.2 表数据操作 37
3.2.3 执行SQL命令 40
3.3 表空间 40
3.3.1 创建表空间 41
3.3.2 管理表空间 43
3.3.3 删除表空间 44
第4章 命令操作数据库表 46
4.1 创建表结构 46
4.1.1 创建表 46
4.1.2 修改表 49
4.1.3 删除表 52
4.2 操作表记录 52
4.2.1 插入记录 52
4.2.2 删除记录 56
4.2.3 修改记录 57
第5章 数据库的查询和视图 60
5.1 数据库的查询 60
5.1.1 选择列 60
5.1.2 选择行 64
5.1.3 查询对象 71
5.1.4 连接 72
5.1.5 统计汇总分组 75
5.1.6 排序 79
5.1.7 合并 80
5.2 数据库视图 81
5.2.1 创建视图 81
5.2.2 查询视图 84
5.2.3 更新视图 85
5.2.4 修改视图的定义 87
5.2.5 删除视图 88
5.3 含替换变量的查询 88
5.3.1 &替换变量 88
5.3.2 &&替换变量 90
5.3.3 变量定义 91
第6章 索引与数据完整性 93
6.1 索引 93
6.1.1 索引的分类 93
6.1.2 使用索引的原则 94
6.1.3 创建索引 95
6.1.4 维护索引 98
6.1.5 删除索引 99
6.2 数据完整性 100
6.2.1 数据完整性的分类 100
6.2.2 域完整性的实现 102
6.2.3 实体完整性的实现 105
6.2.4 参照完整性的实现 109
第7章 PL/SQL编程 113
7.1 PL/SQL概述 113
7.1.1 PL/SQL的组成 113
7.1.2 PL/SQL的特点 115
7.1.3 PL/SQL的开发和运行环境 116
7.2 PL/SQL字符集 116
7.2.1 合法字符 116
7.2.2 运算符 117
7.2.3 其他符号 119
7.3 PL/SQL变量、常量和数据类型 119
7.3.1 变量 119
7.3.2 常量 121
7.3.3 常用数据类型 122
7.3.4 对象类型 122
7.3.5 数据类型转换 124
7.4 PL/SQL基本程序结构和语句 124
7.4.1 PL/SQL程序块 125
7.4.2 条件结构 126
7.4.3 循环结构 129
7.4.4 选择和跳转语句 131
7.4.5 异常 133
7.5 系统内置函数 137
7.6 用户定义函数 141
7.6.1 创建函数 141
7.6.2 调用函数 144
7.6.3 删除函数 144
7.7 游标 145
7.7.1 显式游标 145
7.7.2 隐式游标 147
7.7.3 游标FOR循环 148
7.7.4 游标变量 150
7.8 包 152
7.8.1 包的创建 152
7.8.2 包的初始化 155
7.8.3 重载 156
7.8.4 Oracle11g内置包 157
7.9 集合 157
7.9.1 联合数组 158
7.9.2 嵌套表 159
7.9.3 可变数组 160
7.9.4 集合的属性和方法 161
第8章 存储过程和触发器 165
8.1 存储过程 165
8.1.1 存储过程的创建 165
8.1.2 存储过程的调用 167
8.1.3 存储过程的修改 169
8.1.4 存储过程的删除 170
8.2 触发器 170
8.2.1 命令创建触发器 171
8.2.2 界面创建触发器 176
8.2.3 启用和禁用触发器 177
8.2.4 触发器的删除 177
第9章 高级数据类型 178
9.1 Oracle数据库与大对象数据 178
9.1.1 大对象数据类型 178
9.1.2 Oracle数据库中导入大对象数据 179
9.2 Oracle数据库与XML 181
9.2.1 XML概述 182
9.2.2 Oracle XMLDB概述 184
9.2.3 Oracle数据库中导入XML数据 185
9.2.4 XQuery的基本用法 187
第10章 备份和恢复 192
10.1 备份/恢复 192
10.1.1 备份概述 192
10.1.2 恢复 195
10.2 导出/导入 196
10.2.1 导出 196
10.2.2 导入 198
10.3 脱机备份 202
10.4 联机备份 203
10.4.1 以ARCHIVELOG方式运行数据库 203
10.4.2 执行数据库联机备份 204
10.5 数据泵 205
10.5.1 数据泵概述 205
10.5.2 EXPDP导出 205
10.5.3 IMPDP导入 207
第11章 系统安全管理 209
11.1 用户 209
11.1.1 创建用户 209
11.1.2 管理用户 215
11.2 权限管理 216
11.2.1 权限概述 216
11.2.2 系统权限管理 217
11.2.3 对象权限管理 223
11.2.4 安全特性 224
11.3 角色管理 226
11.3.1 角色概述 226
11.3.2 创建用户角色 227
11.3.3 管理用户角色 228
11.4 概要文件和数据字典视图 229
11.4.1 创建概要文件 229
11.4.2 修改概要文件 231
11.4.3 数据字典视图 231
11.5 审计 234
11.5.1 登录审计 234
11.5.2 操作审计 235
11.5.3 对象审计 236
11.5.4 权限审计 237
第12章 事务、锁、闪回和Undo表空间 239
12.1 事务 239
12.1.1 事务的概念 239
12.1.2 事务处理 240
12.1.3 自治事务 244
12.2 锁 246
12.2.1 锁机制和死锁 247
12.2.2 锁的类型 247
12.2.3 表锁和事务锁 248
12.3 闪回操作 249
12.3.1 基本概念 249
12.3.2 查询闪回 250
12.3.3 表闪回 251
12.3.4 删除闪回 253
12.3.5 数据库闪回 255
12.3.6 归档闪回 259
12.4 Undo表空间 260
12.4.1 自动Undo管理 261
12.4.2 Undo表空间的优点 261
12.4.3 Undo表空间管理参数 261
12.4.4 创建和管理Undo表空间 262
第13章 同义词、链接、快照和序列 265
13.1 同义词 265
13.1.1 创建同义词 265
13.1.2 使用同义词 266
13.1.3 删除同义词 267
13.2 数据库链接 268
13.2.1 创建数据库链接 268
13.2.2 使用数据库链接 269
13.2.3 删除数据库链接 270
13.3 快照 271
13.3.1 创建快照 271
13.3.2 修改快照 275
13.3.3 删除快照 276
13.4 序列 277
13.4.1 创建序列 277
13.4.2 修改序列 279
13.4.3 删除序列 279
第14章 实验和练习 280
14.1 实验1创建数据库和表 280
14.1.1 界面创建数据库和表 280
14.1.2 界面操作表记录 280
14.1.3 操作表空间 281
14.2 实验2创建数据库和表 281
14.2.1 命令创建表结构 281
14.2.2 命令创建学生表(xsb)记录 281
14.2.3 命令创建课程表(kcb)和成绩表(cjb)记录 282
14.3 实验3数据库的查询和视图 282
14.3.1 数据库的查询 282
14.3.2 数据库视图 283
14.3.3 含替换变量的查询 283
14.4 实验4索引和数据完整性 284
14.4.1 索引 284
14.4.2 数据完整性 284
14.5 实验5 PL/SQL编程 285
14.6 实验6存储过程和触发器 285
14.6.1 存储过程 285
14.6.2 触发器 286
14.7 实验7高级数据类型 286
14.8 实验8系统安全管理 287
第15章 综合应用实践数据准备 288
15.1 数据库与基本表 288
15.2 视图 289
15.3 触发器与完整性约束 290
15.4 存储过程 291
15.5 综合应用实习功能 292
第16章 Visual Basic.NET/Oracle 11g学生成绩管理系统 293
16.1 Visual Basic.NET环境的使用 293
16.1.1 切换到Visual Basic.NET开发环境 293
16.1.2 创建Visual Basic.NET项目 296
16.1.3 Visual Basic.NET连接Oracle 296
16.2 学生成绩管理系统的实现 302
16.2.1 主窗体设计 302
16.2.2 学生信息查询 303
16.2.3 学生信息管理 307
16.2.4 学生成绩录入 312
第17章 Visual C#/Oracle 11g 学生成绩管理系统 317
17.1 ADO.NET模型 317
17.1.1 ADO.NET模型简介 317
17.1.2 重定目标到.NET 4 319
17.2 Visual C#操作Oracle数据库 320
17.2.1 连接数据库 320
17.2.2 执行SQL命令 320
17.2.3 使用OracleDataReader对象访问数据 323
17.2.4 使用DataSet对象访问数据 324
17.2.5 执行存储过程 325
17.3 使用Visual C#开发学生成绩管理系统 326
17.3.1 创建学生成绩管理系统 326
17.3.2 父窗体设计 328
17.3.3 学生信息查询 330
17.3.4 学生信息管理 334
17.3.5 学生成绩录入 340
第18章 ASP.NET(C#)/Oracle 11g 学生成绩管理系统 346
18.1 使用ASP.NET操作Oracle数据库 346
18.1.1 将数据库连接字符串写入配置文件 346
18.1.2 操作Oracle数据库 349
18.2 使用ASP.NET开发学生成绩管理系统 350
18.2.1 创建学生成绩管理网站 350
18.2.2 设计母版页 352
18.2.3 设计显示照片页面 354
18.2.4 学生信息查询 355
18.2.5 学生信息管理 363
18.2.6 学生成绩录入 369
第19章 PHP(Apache)/Oracle 11g学生成绩管理系统 376
19.1 开发环境的搭建 376
19.1.1 Apache的下载与安装 376
19.1.2 PHP的安装与配置 379
19.1.3 Eclipse开发工具 381
19.1.4 PHP连接Oracle 11g 385
19.2 PHP操作Oracle数据库 388
19.2.1 连接数据库 388
19.2.2 执行PL/SQL命令 389
19.2.3 访问数据 390
19.2.4 执行存储过程 392
19.2.5 插入图片 393
19.3 学生成绩管理系统的实现 393
19.3.1 主程序界面设计 393
19.3.2 学生信息查询 395
19.3.3 学生信息管理 400
19.3.4 学生成绩录入 406
第20章 Jave EE(Struts 2)/Oracle 11g学生成绩管理系统 411
20.1 认识Struts 2 411
20.2 Java EE开发平台搭建 412
20.3 基于Struts 2的架构设计 424
20.4 设计系统主界面 426
20.5 Java EE应用访问Oracle 430
20.6 学生信息录入 435
20.7 学生信息查询、修改和删除 439
20.8 学生成绩录入 453
附录A XSCJ数据库样本数据 459