第1篇 数据库基础
第1章 数据库简介(教学视频:18分钟) 2
1.1 数据库简介 2
1.1.1 数据库的发展历史 2
1.1.2 主流数据库简介 3
1.1.3 oracle数据库的特点 4
1.2 安装及配置oracle数据库 4
1.2.1 oracle数据库的版本变迁 4
1.2.2 oracle数据库的安装环境 5
1.2.3 oracle数据库的安装步骤 5
1.3 本章小结 8
1.4 本章习题 8
第2章 实体-联系模型(教学视频:35分钟) 9
2.1 实体和联系的概念 9
2.1.1 实体 9
2.1.2 联系 10
2.2 e-r图 10
2.2.1 实体联系符号 10
2.2.2 e-r图示例 11
2.3 e-r模型到关系模型 12
2.3.1 实体集转换为关系 12
2.3.2 联系转换为关系 12
2.3.3 总结联系转换为关系 14
2.4 范式 15
2.4.1 第一范式 15
2.4.2 第二范式 15
2.4.3 第三范式 16
2.4.4 bcnf范式 16
2.5 数据库设计工具 17
2.5.1 powerdesigner 17
2.5.2 erwin 19
2.6 本章小结 20
2.7 本章习题 20
第3章 oracle数据库与数据表(教学视频:60分钟) 21
3.1 创建oracle数据库 21
3.2 配置/管理oracle数据库 24
3.2.1 网络配置助手工具——net configuration assistant 24
3.2.2 网络管理员工具——net manager 32
3.2.3 oracle自带的客户端工具——sqlplus/sqlplusw 36
3.2.4 开发利器——pl/sql developer 40
3.2.5 toad for oracle 47
3.3 oracle表空间 47
3.3.1 创建oracle表空间 47
3.3.2 表空间的使用 49
3.3.3 表空间的重命名及删除 50
3.4 oracle数据表 52
3.4.1 创建oracle数据表 52
3.4.2 数据表的相关操作 53
3.4.3 删除数据表 55
3.5 特殊的数据表dual 55
3.6 本章实例1——非1521端口监听程序的使用 56
3.7 本章实例2——根据列名获得表名 61
3.8 本章小结 62
3.9 本章习题 62
第2篇 pl/sql编程
第4章 sql查询(教学视频:54分钟) 64
4.1 基本查询 64
4.1.1 查询命令select 64
4.1.2 指定过滤条件——where子句 65
4.1.3 获取唯一记录——distinct 68
4.1.4 分组——group by子句 68
4.1.5 过滤分组——having子句 70
4.1.6 排序——order by子句 71
4.1.7 order by与group by子句 72
4.1.8 order by与distinct 74
4.2 子查询 75
4.2.1 查询条件中的子查询 75
4.2.2 建表语句中的子查询 76
4.2.3 插入语句中的子查询 77
4.3 联合语句 77
4.3.1 求并集(记录唯一)——union运算 77
4.3.2 求并集——union all运算 79
4.3.3 求交集——intersect运算 80
4.3.4 求差集——minus运算 80
4.3.5 联合语句的混合运算 81
4.4 连接 82
4.4.1 自然连接 82
4.4.2 内连接 84
4.4.3 外连接 86
4.5 层次化查询 91
4.5.1 树状模型 91
4.5.2 层次化查询 92
4.5.3 层次化查询的相关函数 94
4.5.4 总结一条记录衍生出多条记录 95
4.6 本章实例 97
4.7 本章小结 98
4.8 本章习题 98
第5章 sql更新数据(教学视频:18分钟) 99
5.1 插入数据——insert操作 99
5.1.1 单条插入 99
5.1.2 批量插入 101
5.1.3 注意事项与技巧 101
5.2 更新数据——update操作 103
5.2.1 update更新单列 103
5.2.2 update更新多列 104
5.2.3 注意事项 105
5.3 删除数据——delete操作 106
5.3.1 delete操作 106
5.3.2 delete操作与truncate table操作 107
5.4 本章实例 108
5.5 本章小结 110
5.6 本章习题 111
第6章 oracle中的字符型及处理方法(教学视频:34分钟) 112
6.1 字符型简介 112
6.1.1 固定长度字符串——char(n) 112
6.1.2 varchar(n) 113
6.1.3 varchar2(n) 113
6.2 字符型分析 114
6.2.1 varchar2(n)与char(n)的区别 114
6.2.2 varchar2(n)与char(n)的选择 115
6.2.3 变量声明中的字符串类型 115
6.3 字符型处理 116
6.3.1 向左补全字符串——lpad ()函数 116
6.3.2 向右补全字符串——rpad ()函数 116
6.3.3 返回字符串的小写形式——lower()函数 117
6.3.4 返回字符串的大写形式——upper()函数 117
6.3.5 单词首字符大写——initcap()函数 118
6.3.6 返回字符串长度——length()函数 119
6.3.7 截取字符串——substr()函数 119
6.3.8 获得字符串出现的位置——instr()函数 120
6.3.9 删除字符串左侧空格——ltrim()函数 121
6.3.10 删除字符串右侧空格——rtrim()函数 121
6.3.11 删除字符串两侧空格——trim()函数 121
6.3.12 串联字符串——concat()函数 122
6.3.13 翻译字符串——translate()函数 122
6.3.14 反转字符串——reverse()函数 123
6.4 本章实例 124
6.5 本章小结 124
6.6 本章习题 124
第7章 oracle中的数值型及处理方法(教学视频:26分钟) 125
7.1 oracle中的数值型 125
7.1.1 如何理解精度 125
7.1.2 精度与小数位数 125
7.2 oracle中的数值处理 127
7.2.1 返回数字的绝对值——abs ()函数 127
7.2.2 返回数字的“四舍五入”值——round ()函数 128
7.2.3 向上取整——ceil()函数 128
7.2.4 向下取整——floor()函数 129
7.2.5 取模操作——mod ()函数 129
7.2.6 返回数字的正负性——sign()函数 130
7.2.7 返回数字的平方根——sqrt()函数 130
7.2.8 乘方运算——power()函数 131
7.2.9 截取数字——trunc()函数 131
7.2.10 将ascii码转换为字符——chr()函数 132
7.2.11 格式化数值——to_char()函数 133
7.3 本章实例 137
7.4 本章小结 138
7.5 本章习题 138
第8章 oracle中的日期型及处理方法(教学视频:30分钟) 139
8.1 oracle中的日期型 139
8.2 oracle中的日期处理 139
8.2.1 获得当前日期——sysdate()函数 139
8.2.2 为日期加上特定月份——add_months()函数 140
8.2.3 返回特定日期所在月的最后一天——last_day()函数 141
8.2.4 返回两个日期所差的月数——months_between ()函数 141
8.2.5 返回特定日期之后的一周内的日期——next_day()函数 142
8.2.6 截取日期——trunc()函数 142
8.2.7 返回当前会话时区的当前日期——current_date()函数 144
8.2.8 返回当前会话时区的时间戳——current_timestamp()函数 144
8.2.9 返回日期的某个域——extract()函数 144
8.2.10 将日期转换为字符串——to_char()函数 145
8.3 本章实例 147
8.4 本章小结 149
8.5 本章习题 149
第9章 oracle中的复杂数据处理(教学视频:88分钟) 150
9.1 利用聚合函数统计数据 150
9.1.1 求最大值——max()函数 150
9.1.2 求最小值——min()函数 151
9.1.3 求平均值——avg()函数 152
9.1.4 求和——sum()函数 152
9.1.5 统计记录数——count()函数 152
9.2 oracle中的常用技巧 155
9.2.1 多值判断——decode()函数 155
9.2.2 空值处理——nvl()函数 156
9.2.3 结果集的行号——rownum()函数 157
9.2.4 强制转换数据类型——cast()函数 160
9.3 oracle中的运算 161
9.3.1 数学运算 162
9.3.2 逻辑运算 164
9.3.3 按位运算 165
9.3.4 列的乘积 167
9.4 oracle中的特殊判式 169
9.4.1 between——范围测试 170
9.4.2 in——集合成员测试 171
9.4.3 like——模糊匹配 171
9.4.4 is null——空值判断 173
9.4.5 exists——存在性判断 174
9.4.6 all、some、any——集合判断 174
9.5 oracle中的分析函数与窗口函数 176
9.5.1 分析函数与窗口函数简介 176
9.5.2 排名函数 177
9.5.3 默认窗口 179
9.5.4 分区窗口 180
9.5.5 窗口子句 182
9.5.6 常用分析函数 185
9.6 本章实例 189
9.7 本章小结 190
9.8 本章习题 190
第10章 oracle中的控制语句(教学视频:17分钟) 191
10.1 oracle中的条件语句 191
10.1.1 流程控制——if else判断 191
10.1.2 流程控制——case when分支 193
10.2 oracle中的循环语句 194
10.2.1 无条件循环 194
10.2.2 while循环 196
10.2.3 for循环 197
10.3 本章实例 198
10.4 本章小结 198
10.5 本章习题 199
第3篇 oracle数据库对象
第11章 视图(教学视频:70分钟) 202
11.1 视图简介 202
11.1.1 什么是视图 202
11.1.2 为什么使用视图 203
11.2 创建和使用关系视图 204
11.2.1 创建关系视图 205
11.2.2 使用关系视图 206
11.2.3 修改/删除视图 210
11.2.4 只读视图 211
11.2.5 联接视图 212
11.2.6 强制创建视图 213
11.2.7 创建视图约束 214
11.3 使用内嵌视图 217
11.3.1 内嵌视图简介 217
11.3.2 使用内嵌视图 217
11.3.3 内嵌视图小结 219
11.4 使用对象视图 220
11.4.1 对象简介 220
11.4.2 对象视图 225
11.5 物化视图 227
11.5.1 物化视图简介 227
11.5.2 使用物化视图 227
11.5.3 延迟载入 231
11.5.4 数据刷新 232
11.5.5 查询重写 234
11.6 本章小结 236
11.7 本章习题 236
第12章 约束(教学视频:100分钟) 237
12.1 主键约束 237
12.1.1 为什么要使用主键约束 237
12.1.2 主键约束简介 238
12.1.3 创建主键约束 239
12.1.4 修改主键约束 245
12.1.5 主键与索引 247
12.1.6 总结 249
12.2 外键约束 250
12.2.1 为什么要使用外键约束 250
12.2.2 外键约束简介 250
12.2.3 创建外键约束 251
12.2.4 级联更新与级联删除 254
12.2.5 外键约束的相关操作 257
12.2.6 总结 260
12.3 唯一性约束 260
12.3.1 为什么要使用唯一性约束 260
12.3.2 唯一性约束简介 260
12.3.3 创建唯一性约束 261
12.3.4 修改唯一性约束 263
12.3.5 总结 265
12.4 检查约束 265
12.4.1 为什么要使用检查约束 265
12.4.2 检查约束简介 266
12.4.3 创建检查约束 266
12.4.4 修改检查约束 269
12.4.5 总结 270
12.5 默认值约束 270
12.5.1 为什么要使用默认值约束 271
12.5.2 默认值约束简介 271
12.5.3 创建默认值约束 271
12.5.4 修改默认值约束 273
12.5.5 总结 273
12.6 非空约束 274
12.6.1 为什么要使用非空约束 274
12.6.2 非空约束简介 274
12.6.3 创建非空约束 274
12.6.4 修改非空约束 277
12.6.5 总结 278
12.7 本章小结 278
12.8 本章习题 278
第13章 游标(教学视频:38分钟) 279
13.1 游标简介 279
13.1.1 为什么使用游标 279
13.1.2 游标简介 279
13.2 显式游标 280
13.2.1 声明显式游标 280
13.2.2 使用显式游标 282
13.2.3 游标属性 285
13.3 隐式游标 285
13.3.1 sql隐式游标的使用 285
13.3.2 cursor for游标的使用 288
13.3.3 总结显式游标和隐式游标 289
13.4 动态游标 289
13.4.1 强类型动态游标 289
13.4.2 弱类型动态游标 290
13.5 本章小结 292
13.6 本章习题 292
第14章 触发器(教学视频:51分钟) 293
14.1 触发器简介 293
14.1.1 什么是触发器 293
14.1.2 为什么需要触发器 293
14.2 语句触发器 294
14.2.1 创建语句触发器 294
14.2.2 触发器的作用对象与触发时机 295
14.2.3 多个激活动作 296
14.2.4 触发器谓词 297
14.2.5 总结语句触发器 300
14.3 行触发器 300
14.3.1 创建和使用行触发器 300
14.3.2 行触发器的变量引用 302
14.3.3 变量引用与referencing 304
14.3.4 多个触发器的执行顺序 305
14.3.5 触发器的条件限制 306
14.4 instead of触发器 307
14.4.1 创建和使用instead of触发器 307
14.4.2 instead of触发器中的变量引用 310
14.5 系统事件与用户事件触发器 311
14.5.1 系统事件触发器 311
14.5.2 用户事件触发器 313
14.6 触发器的相关操作 315
14.6.1 为什么要禁用触发器 315
14.6.2 禁用触发器——disable 316
14.6.3 启用触发器——enable 316
10.6.4 在数据字典中查看触发器信息 317
14.7 本章实例 318
14.8 本章小结 319
14.9 本章习题 319
第15章 序列(教学视频:26分钟) 320
15.1 自动生成序号 320
15.1.1 什么是自动生成序号 320
15.1.2 主流数据库的自动生成序号策略 320
15.2 创建和使用序列 321
15.2.1 创建序列 321
15.2.2 使用序列 322
15.2.3 指定序列初始值 324
15.3 序列属性 325
15.3.1 设置序列的最大值和最小值——minvalue和maxvalue属性 326
15.3.2 设置序列的增长步长——increment by属性 327
15.3.3 设置序列循环取值——cycle属性 329
15.3.4 设置序列缓存大小——cache属性 330
15.4 本章实例 332
15.5 本章小结 333
15.6 本章习题 333
第16章 用户、角色与权限控制(教学视频:36分钟) 334
16.1 用户 334
16.1.1 oracle中的用户概况 334
16.1.2 利用系统用户创建新的用户 335
16.1.3 用户的对象集合——模式 336
16.1.4 系统用户——system与sys 338
16.2 权限 339
16.2.1 系统权限 340
16.2.2 对象权限 346
16.3 角色 352
16.3.1 利用角色进行权限分配 352
16.3.2 角色的延伸——继承 355
16.3.3 禁用/启用角色 356
16.4 本章实例 358
16.5 本章小结 359
16.6 本章习题 359
第17章 函数与存储过程(教学视频:57分钟) 360
17.1 自定义函数 360
17.1.1 创建自定义函数 360
17.1.2 函数的参数 362
17.1.3 利用函数的确定性提高数据库效率 364
17.1.4 典型函数——行转列 365
17.2 存储过程 366
17.2.1 创建存储过程 366
17.2.2 “只进不出的参数”——in参数 369
17.2.3 “只出不进的参数”——out参数 371
17.2.4 “可进可出的参数”——in out参数 372
17.2.5 调试存储过程 373
17.3 程序包 377
17.3.1 程序包的规范 377
17.3.2 程序包的主体 379
17.3.3 调用程序包中的函数/存储过程 381
17.4 本章实例 381
17.5 本章小结 382
17.6 本章习题 382
第4篇 oracle数据库设计与优化
第18章 数据库性能优化(教学视频:52分钟) 384
18.1 在物理层面上提高oracle性能 384
18.1.1 修改sga 384
18.1.2 修改pga 390
18.1.3 异常情况 391
18.2 索引的使用 392
18.2.1 索引简介 392
18.2.2 索引的创建与使用 392
18.2.3 索引的开销 394
18.2.4 索引的使用场景 395
18.3 优化sql语句 396
18.3.1 sql语句的命中率 396
18.3.2 exists与in 397
18.3.3 where条件的合理利用 398
18.3.4 利用with子句重用查询 400
18.4 本章小结 401
18.5 本章习题 401
第19章 数据一致性与事务管理(教学视频:37分钟) 402
19.1 数据一致性和事务 402
19.1.1 oracle中的数据一致性 402
19.1.2 oracle中的事务 402
19.2 oracle中的事务处理 403
19.2.1 利用commit命令界定事务 403
19.2.2 利用rollback命令界定事务 407
19.2.3 oracle事务的属性和隔离级别 407
19.3 事务处理原则 412
19.3.1 事务的原子性——atomicity 413
19.3.2 事务的一致性——consistency 413
19.3.3 事务的隔离性——isolation 413
19.3.4 事务的持久性——durablity 414
19.4 本章实例 414
19.5 本章小结 416
19.6 本章习题 416
第20章 并发控制(教学视频:30分钟) 417
20.1 并发与锁定 417
20.1.1 并发与锁定举例 417
20.1.2 死锁 418
20.2 悲观锁定与乐观锁定 421
20.2.1 oracle中的悲观锁定 421
20.2.2 oracle中的乐观锁定 422
20.3 锁定转换 425
20.3.1 一般数据库中的锁定升级 425
20.3.2 oracle中的锁定转换 425
20.4 本章小结 430
20.5 本章习题 430
第5篇 oracle应用开发
第21章 oracle在开发中的应用(教学视频:22分钟) 432
21.1 oracle在java开发中的应用 432
21.1.1 利用jdbc操作oracle数据库 432
21.1.2 preparedstatement的使用 440
21.2 oracle在c#开发中的应用 442
21.2.1 在c#中连接oracle数据库 442
21.2.2 在c#中操作oracle数据库 443
21.2.3 在c#中使用oracle数据库事务 446
21.3 本章小结 448
21.4 本章习题 448
第22章 oracle+hibernate应用实例(教学视频:25分钟) 449
22.1 创建项目实例 449
22.2 建立映射关系 450
22.3 hibernate配置文件 451
22.4 加载hibernate文件 452
22.5 查询操作 454
22.6 更新操作 457
22.7 插入操作 458
22.8 本章小结 460
22.9 本章习题 460
· · · · · · (
收起)