图书目录

目录

第1篇  Oracle基础知识

第1章  数据库简介( 教学视频:19分钟) 2

1.1  Oracle数据库简介 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数据库 6

1.2.4  检查Oracle数据库的安装 11

1.2.5  Oracle服务 12

1.3  本章小结 13

1.4  本章习题 13

第2章  创建数据库与数据表( 教学视频:38分钟) 14

2.1  创建Oracle数据库 14

2.2  管理Oracle数据库工具集 17

2.2.1  网络配置助手工具 18

2.2.2  网络管理员工具 25

2.2.3  客户端工具 29

2.2.4  开发软件SQL Developer 31

2.3  使用Oracle表空间 33

2.3.1  创建Oracle表空间 33

2.3.2  重命名表空间 35

2.3.3  删除表空间 35

2.4  创建Oracle数据表 36

2.4.1  界面化创建数据表 36

2.4.2  使用SQL语句创建表 38

2.4.3  数据表的相关操作 38

2.4.4  删除数据表 40

2.4.5  特殊的数据表dual 40

2.5  使用非1521端口监听程序 41

2.6  本章小结 43

2.7  本章习题 43

第2篇  Oracle数据查询

第3章  查询数据表( 教学视频:42分钟) 46

3.1  基本查询方式 46

3.1.1  安装示例数据库脚本 46

3.1.2  查询关键词select 48

3.1.3  带条件的查询——where子句 49

3.1.4  去除查询结果中的重复记录——distinct 51

3.1.5  分组——group by子句 51

3.1.6  过滤分组——having子句 53

3.1.7  排序——order by子句 55

3.1.8  order by与group by子句 56

3.1.9  order by与distinct 56

3.2  子查询 57

3.3  联合语句 58

3.3.1  求并集 58

3.3.2  求原始并集 59

3.3.3  求交集 60

3.3.4  求差集 60

3.3.5  混合运算 61

3.4  连接查询 62

3.4.1  自然连接查询 62

3.4.2  内连接查询 64

3.4.3  外连接查询 65

3.5  层次化查询 69

3.5.1  树状模型 69

3.5.2  层次化查询 70

3.5.3  层次化查询的相关函数 72

3.6  本章小结 73

3.7  本章习题 73

第4章  更新数据表( 教学视频:16分钟) 75

4.1  插入数据 75

4.1.1  插入单条记录 75

4.1.2  批量插入记录 76

4.1.3  插入记录的技巧 77

4.2  更新数据 79

4.2.1  更新记录单列数据 79

4.2.2  更新记录多列数据 80

4.2.3  更新数据的技巧 81

4.3  删除数据 82

4.3.1  删除数据语法 82

4.3.2  delete和truncate table 83

4.4  本章小结 83

4.5  本章习题 83

第5章  处理字符型数据( 教学视频:32分钟) 85

5.1  字符型简介 85

5.1.1  构建固定长度的字符串类型 85

5.1.2  构建可变长度的字符串类型 86

5.1.3  构建可变长度的字符串新类型 86

5.2  对比三种字符串数据类型 86

5.2.1  varchar2(n)和char(n) 87

5.2.2  总结varchar2(n)和char(n)的不同 87

5.2.3  构建变量中的字符串类型 87

5.3  常见字符串操作 88

5.3.1  向左补全字符串 88

5.3.2  向右补全字符串 89

5.3.3  字符串转化为小写形式 90

5.3.4  字符串转化为大写形式 90

5.3.5  单词首字符大写 91

5.3.6  获取字符串长度 92

5.3.7  截取字符串 93

5.3.8  查询子字符串 94

5.3.9  删除左侧空格 95

5.3.10  删除右侧空格 96

5.3.11  删除两侧空格 96

5.3.12  连接字符串 97

5.3.13  翻译字符串 97

5.4  本章小结 98

5.5  本章习题 98

第6章  处理数值型数据( 教学视频:28分钟) 100

6.1  数值型简介 100

6.1.1  精度定义 100

6.1.2  精度与小数位数的关系 100

6.2  常见数值处理 102

6.2.1  计算绝对值 102

6.2.2  求四舍五入值 102

6.2.3  向上取整 103

6.2.4  向下取整 103

6.2.5  取模 104

6.2.6  判断数值的正负 105

6.2.7  求平方根 105

6.2.8  乘方 106

6.2.9  截取数字 106

6.2.10  按照ASCII码转换为字符 107

6.2.11  格式化数值 108

6.3  本章小结 112

6.4  本章习题 113

第7章  处理日期型数据( 教学视频:19分钟) 114

7.1  日期型简介 114

7.2  常见日期数据处理 114

7.2.1  获得当前日期 114

7.2.2  为日期加上特定月份 115

7.2.3  求日期所在月的最后一天 116

7.2.4  计算两个日期所差的月数 117

7.2.5  计算日期之后的一周之内的日期 117

7.2.6  截取日期 118

7.2.7  获取当前时区的当前日期 120

7.2.8  获取当前时区的时间戳 120

7.2.9  获取日期的某个域 120

7.2.10  将日期转换为字符串 121

7.2.11  在where子句中使用日期数据 123

7.3  本章小结 123

7.4  本章习题 124

第8章  数据的复杂处理( 教学视频:68分钟) 125

8.1  统计数据 125

8.1.1  求最大值 126

8.1.2  求最小值 127

8.1.3  求平均值 127

8.1.4  求和 127

8.1.5  统计记录数 128

8.2  Oracle中常用技巧 129

8.2.1  空值处理——nvl()函数 130

8.2.3  结果集的行号——rownum()函数 131

8.2.4  强制转换数据类型——cast()函数 132

8.3  常见数据运算 134

8.3.1  数学运算 134

8.3.2  逻辑运算 136

8.3.3  按位运算 136

8.4  特殊数据运算 139

8.4.1  范围测试 139

8.4.2  集合成员测试 140

8.4.3  模糊匹配 141

8.4.4  空值判断 143

8.4.5  存在性判断 143

8.4.6  集合判断 144

8.5  分析函数与窗口函数 146

8.5.1  分析函数与窗口函数简介 146

8.5.2  排名函数 146

8.5.3  默认窗口 149

8.5.4  分区窗口 149

8.5.5  窗口子句 151

8.5.6  常用分析函数 154

8.6  本章小结 157

8.7  本章习题 157

第9章  流程控制( 教学视频:16分钟) 159

9.1  Oracle中的条件语句 159

9.1.1  if else判断 159

9.1.2  case when分支判断 161

9.2  循环控制 163

9.2.1  无条件循环 163

9.2.2  while循环 165

9.2.3  for循环 166

9.3  本章小结 167

9.4  本章习题 167

第10章  使用视图( 教学视频:61分钟) 168

10.1  视图简介 168

10.1.1  视图定义 168

10.1.2  为什么使用视图 169

10.2  关系视图 170

10.2.1  创建关系视图 170

10.2.2  使用关系视图 172

10.2.3  修改/删除视图 176

10.2.4  构建只读视图 178

10.2.5  构建联接视图 179

10.2.6  强制创建视图 180

10.2.7  创建视图约束 181

10.3  内嵌视图 183

10.3.1  什么是内嵌视图 183

10.3.2  使用内嵌视图 184

10.4  对象视图 185

10.4.1  什么是对象 186

10.4.2  使用对象视图 190

10.5  物化视图 192

10.5.1  什么是物化视图 192

10.5.2  使用物化视图 193

10.5.3  延迟载入 196

10.5.4  刷新数据 197

10.5.5  查询重写 199

10.6  本章小结 201

10.7  本章习题 201

第3篇  Oracle数据维护

第11章  使用约束( 教学视频:92分钟) 204

11.1  使用主键约束 204

11.1.1  为什么要使用主键 204

11.1.2  什么是主键 205

11.1.3  创建主键约束 206

11.1.4  修改主键约束 211

11.1.5  主键与索引 213

11.2  使用外键约束 215

11.2.1  为什么要使用外键 215

11.2.2  什么是外键 216

11.2.3  创建外键约束 217

11.2.4  级联更新与级联删除 220

11.2.5  外键的相关操作 222

11.2.6  外键使用总结 225

11.3  使用唯一性约束 225

11.3.1  为什么要使用唯一性约束 225

11.3.2  什么是唯一性约束 225

11.3.3  创建唯一性约束 226

11.3.4  修改唯一性约束 228

11.4  使用检查约束 230

11.4.1  为什么要使用检查约束 230

11.4.2  创建检查约束 230

11.4.3  修改检查约束 233

11.5  使用默认值约束 234

11.5.1  为什么要使用默认值约束 234

11.5.2  创建默认值约束 235

11.5.3  修改默认值约束 236

11.6  使用非空约束 237

11.6.1  为什么要使用非空约束 237

11.6.2  创建非空约束 238

11.6.3  修改非空约束 241

11.7  本章小结 241

11.8  本章习题 242

第12章  游标( 教学视频:42分钟) 243

12.1  游标简介 243

12.1.1  为什么使用游标 243

12.1.2  什么是游标 243

12.2  显式游标 243

12.2.1  声明显式游标 244

12.2.2  使用显式游标 245

12.2.3  游标属性 249

12.3  隐式游标 250

12.3.1  使用sql隐式游标 250

12.3.2  使用cursor for游标 252

12.3.3  显式游标和隐式游标 253

12.4  动态游标 253

12.4.1  强类型动态游标 253

12.4.2  弱类型动态游标 255

12.5  本章小结 257

12.6  本章习题 257

第13章  触发器( 教学视频:53分钟) 259

13.1  什么是触发器 259

13.1.1  触发器简介 259

13.1.2  引入触发器 259

13.2  使用语句触发器 260

13.2.1  创建语句触发器 260

13.2.2  触发器的作用对象与触发类型 261

13.2.3  使用多个激活动作 262

13.2.4  触发器谓词 263

13.3  使用行触发器 265

13.3.1  创建行触发器 265

13.3.2  变量引用 267

13.3.3  变量引用与referencing 269

13.3.4  触发器执行顺序 271

13.3.5  触发器的条件限制 271

13.4  使用instead of触发器 272

13.5  使用系统事件与用户事件触发器 275

13.5.1  系统事件触发器 275

13.5.2  用户事件触发器 277

13.6  触发器的常用操作 279

13.6.1  为什么要禁用触发器 279

13.6.2  禁用触发器 279

13.6.3  启用触发器 280

13.6.4  查看触发器信息 280

13.7  本章小结 281

13.8  本章习题 281

第14章  序列( 教学视频:32分钟) 282

14.1  自动生成序号 282

14.2  创建和使用序列 283

14.2.1  创建序列 283

14.2.2  使用序列 284

14.2.3  指定序列初始值 286

14.3  序列属性 287

14.3.1  设置序列的最大值和最小值 287

14.3.2  设置序列的增长步长 288

14.3.3  设置序列循环取值 290

14.3.4  设置序列缓存大小 292

14.4  本章小结 293

14.5  本章习题 293

第15章  用户、角色与权限控制( 教学视频:57分钟) 295

15.1  用户 295

15.1.1  查看Oracle用户信息 295

15.1.2  创建新的用户 296

15.1.3  使用模式 297

15.1.4  系统用户system与sys 298

15.2  管理权限 300

15.2.1  管理系统权限 300

15.2.2  管理对象权限 305

15.3  使用角色 312

15.3.1  利用角色进行权限分配 312

15.3.2  角色的传递 314

15.3.3  管理角色 316

15.3.4  内置角色 317

15.4  本章小结 318

15.5  本章习题 319

第16章  自定义函数与存储过程( 教学视频:34分钟) 320

16.1  使用自定义函数 320

16.1.1  创建自定义函数 320

16.1.2  使用函数的参数 322

16.1.3  利用函数的确定性提高数据库效率 324

16.1.4  自定义函数典型应用 325

16.2  使用存储过程 326

16.2.1  创建存储过程 326

16.2.2  使用传入参数 328

16.2.3  使用传出参数 330

16.2.4  使用传入/传出参数 331

16.2.5  存储过程调试 332

16.3  使用程序包 334

16.3.1  程序包的构成 334

16.3.2  程序包的主体 336

16.3.3  调用程序包 337

16.4  本章小结 337

16.5  本章习题 338

第17章  数据库控制( 教学视频:34分钟) 339

17.1  数据一致性和事务 339

17.2  Oracle中的事务处理 339

17.2.1  利用commit提交事务 340

17.2.2  利用rollback回滚事务 343

17.2.3  Oracle事务的属性和隔离级别 344

17.3  事务处理原则 349

17.3.1  事务的原子性——Atomicity 349

17.3.2  事务的一致性——Consistency 349

17.3.3  事务的隔离性——Isolation 349

17.3.4  事务的持久性——Durablity 350

17.4  并发与锁定 350

17.4.1  并发与锁定举例 350

17.4.2  死锁 351

17.5  悲观锁定与乐观锁定 353

17.5.1  悲观锁定 353

17.5.2  乐观锁定 354

17.6  本章小结 356

17.7  本章习题 356

  ??

  

  ??

  

  ??

  

  ??

  

零点起飞学Oracle

  

目    录

  

·XII·

  

  

·XIII·