oracle数据库系统电子版,Oracle数据库系统原理(第2版)

Oracle数据库系统原理(第2版)是由作者李爱武所编著的一本书。通过本书,讲述了Oracle数据库的基本理论,以及系统知识,让你有更加深层次的理解。

简介:

本书包括数据库基本理论以及Oracle数据库系统知识两部分。主要包括关系模型基本理论、ER图及范式理论、安装Oracle 12c软件、SQL语言、Oracle的逻辑存储空间、索引原理、Oracle数据库体系结构、事务处理与锁、网络连接配置、用户和权限管理等内容。强调在学习各种技能的同时,理解关系型数据库理论的一些本质内容,能够对Oracle数据库的体系结构及运作原理有深层次的理解。

本书可以作为高校计算机各专业的数据库教材或参考书,也可以供相关Oracle数据库管理员或编程人员参考。

目录:

第1章数据库技术基础1

1.1数据库应用的场合1

1.2常用术语1

1.3数据库系统的构成1

1.3.1硬件2

1.3.2软件2

1.3.3人员2

第2章关系模型理论的发展及主要产品4

2.1数据处理的历史4

2.2数据模型的概念5

2.3网状模型与层次模型简介5

2.3.1网状模型5

2.3.2层次模型6

2.3.3层次模型和网状模型的贡献及缺陷6

2.4关系模型的提出和成熟6

2.4.1关系数据模型要解决的问题7

2.4.2关系模型的提出与完善7

2.4.3IBM的System R项目7

2.4.4加州大学伯克利分校的Ingres项目8

2.5关系数据模型的三个要素9

2.5.1关系数据模型的数据结构9

2.5.2关系数据模型的数据操作方式10

2.5.3关系数据模型中的完整性约束(integrity constraint)11

2.5.4关系型数据库的特点11

2.6常用关系型数据库产品介绍12

2.6.1关系型数据库产品的主要类型12

2.6.2Oracle13

2.6.3DB213

2.6.4SQL Server13

2.6.5Sybase和Informix13

2.6.6MySQL与PostgreSQL开源数据库13

第3章ER模型15

3.1数据库设计的主要步骤15

3.2ER模型的主要概念15

3.3ER图的表示方法16

3.4联系的映射约束16

3.4.1一对一联系17

3.4.2一对多联系17

3.4.3多对多联系17

3.5ER图如何转化为表18

3.5.1一对一联系转化为表18

3.5.2一对多联系转化为表18

3.5.3多对多联系转化为表19

第4章规范化理论20

4.1引入范式理论的原因20

4.1.1Insertion异常21

4.1.2Deletion异常21

4.1.3Update异常21

4.2第一范式22

4.3第二范式23

4.4第三范式23

第5章获得Oracle 12c安装文件及帮助文件25

5.1注册OTN账号25

5.2下载Oracle 12c安装文件26

5.3获得Oracle 12c文档26

5.3.1下载文档26

5.3.2检索文档27

5.3.3三个重要文档介绍28

5.3.4查询Oracle的错误信息28

第6章安装Oracle 12c并创建数据库30

6.1安装Oracle 12c30

6.2创建数据库36

6.3删除Oracle 12c软件44

第7章配置和使用SQLPlus46

7.1启动数据库服务46

7.2启动和关闭数据库46

7.3可用数据库用户48

7.4常用SQLPlus操作48

7.4.1使用SQLPlus连接到本地数据库48

7.4.2切换连接用户49

7.4.3切换数据库50

7.4.4查看当前连接的数据库名称50

7.4.5执行SQL命令50

7.4.6describe命令查询表的结构51

7.4.7修改执行过的SQL命令以重新执行51

7.4.8执行SQL脚本文件51

7.5设置SQLPlus环境52

7.5.1设置每行容纳的字符数52

7.5.2设置查询结果的列宽52

7.5.3自定义SQL提示符53

7.5.4修改ED命令默认使用的编辑器53

7.5.5使用glogin.sql文件保存SQLPlus环境配置53

7.5.6获得SQLPlus环境设置帮助信息54

第8章SQL查询语句56

8.1SQL概述56

8.1.1SQL的历史56

8.1.2SQL的发音57

8.1.3SQL查询的特点57

8.1.4SQL标准57

8.2SQL语言的主要类型59

8.3常用数据类型60

8.4数值类型60

8.5字符串数据类型60

8.5.1早期字符编码方式61

8.5.2Unicode编码方式61

8.5.3数据库字符集与国家字符集61

8.5.4char(n)与varchar2(n)63

8.5.5nchar(n)和nvarchar2(n)63

8.6日期时间数据类型63

8.7Oracle中的关键字64

8.8简单的SQL查询语句64

8.8.1最简单的查询——只指定表64

8.8.2指定列65

8.8.3指定列别名65

8.8.4指定查询条件66

8.8.5使用order by子句对查询结果排序67

8.9常用数值函数68

8.10字符数据的处理69

8.10.1字符串常量条件69

8.10.2字符串模糊查询70

8.10.3查询特殊字符71

8.10.4常用字符串函数72

8.10.5利用正则表达式搜索字符串75

8.11日期型数据的处理78

8.11.1获得当前日期时间78

8.11.2日期型常量78

8.11.3显示日期型列值79

8.11.4使用extract()函数抽取日期的指定部分80

8.11.5获取时间差81

8.12空值的处理81

8.13分组汇总查询83

8.13.1单独使用分组函数84

8.13.2与group by子句结合使用分组函数85

8.13.3having子句87

8.13.4order by子句88

8.13.5分组汇总查询小结88

8.14子查询89

8.14.1where子句中使用子查询89

8.14.2select子句中使用子查询90

8.14.3from子句中使用子查询91

8.14.4非相关子查询与相关子查询91

8.14.5in与not in94

8.14.6exists与not exists97

8.15集合运算98

8.15.1求并集union与union all98

8.15.2求交集intersect98

8.15.3求差集minus99

8.16多表连接查询100

8.16.1交叉连接100

8.16.2内连接101

8.16.3两种连接标准:SQL86与SQL92103

8.16.4外连接104

8.17如何构造复杂的查询语句106

8.18SQL查询的等效转换109

8.18.1内连接与子查询109

8.18.2in,exists,内连接,intersect109

8.18.3not in,not exist,外连接110

第9章数据修改语句112

9.1delete112

9.2update112

9.3insert113

9.4构造涉及多个表的数据修改语句113

9.4.1附带复杂条件的update语句114

9.4.2修改的新值与其他表相关114

第10章表及约束115

10.1创建简单的表115

10.2约束115

10.2.1约束的种类116

10.2.2创建表时附加约束116

10.2.3对表增加约束119

10.2.4删除约束120

10.2.5禁用和启用约束120

10.2.6查询约束的信息121

10.3修改表的结构122

10.3.1修改列的数据类型122

10.3.2添加及删除列123

10.3.3修改列名123

10.3.4修改表名123

10.3.5清空表:truncate table123

10.3.6删除表124

10.4回收站功能124

10.4.1与回收站有关的数据字典视图124

10.4.2查询被删除表中的数据125

10.4.3恢复被删除的表126

10.4.4如何不开启回收站功能127

10.4.5清空回收站中的对象127

10.4.6关于回收站功能的几点注意事项128

10.4.7恢复与表相关的索引对象128

10.5DDL语句的背后129

第11章管理表空间和数据文件130

11.1表空间130

11.1.1表空间是什么130

11.1.2如何创建表空间130

11.1.3如何把表创建于指定表空间131

11.1.4把表的数据移至另外一个表空间131

11.1.5查询表所在的表空间131

11.1.6表的数据存储于多个数据文件的原因132

11.1.7查询表空间或数据文件的系统信息132

11.2表空间的类型及其功能133

11.3存储空间如何分配135

11.3.1数据块、段和区135

11.3.2指定非默认的块大小136

11.3.3指定表空间的空间分配方式136

11.3.4观察空间分配的过程137

11.3.5对表分配指定大小的空间139

11.4删除数据时空间是否释放139

11.5修改表空间和数据文件的属性141

11.6与存储空间相关的系统信息查询144

第12章B树索引148

12.1一个使用索引的例子148

12.2如何创建索引150

12.3B树索引能把查询速度提高多少151

12.4B树索引的结构153

12.4.1如何表示表中记录的地址153

12.4.2B树索引的叶节点内容155

12.4.3B树索引的分支节点内容156

12.4.4Oracle如何利用索引进行查询156

12.4.5实验探究:验证索引叶节点及分支节点内容157

12.4.6哪些情况需要创建索引159

12.5如何知道一个查询是否使用了索引159

12.5.1设置SQLPlus查看执行计划159

12.5.2通过查看执行计划确认是否使用索引161

12.5.3哪些情况不会使用索引162

12.6DML语句对索引的影响162

12.6.1insert语句对索引的影响162

12.6.2delete语句对索引的影响163

12.6.3update语句对索引的影响163

12.7基于函数的B树索引163

12.8设置索引的可见性(visible/invisible)164

12.9约束与索引164

12.10与B树索引有关的数据字典视图165

第13章位图索引168

13.1位图索引的功能168

13.2位图索引能把查询速度提高多少168

13.3位图索引占用多少空间169

13.4位图索引的结构170

13.5实验探究:验证位图索引的内容170

第14章管理数据库的各种文件173

14.1参数文件173

14.1.1参数文件的作用173

14.1.2pfile和spfile173

14.1.3修复spfile174

14.1.4参数文件的存储位置175

14.1.5修改参数值176

14.1.6如何查询参数值177

14.1.7有关初始化参数的帮助178

14.2跟踪文件179

14.2.1跟踪文件的位置179

14.2.2跟踪文件的种类180

14.2.3警告文件180

14.2.4当前会话跟踪文件182

14.3控制文件183

14.3.1控制文件的内容183

14.3.2控制文件的安全性保证措施185

14.4重做文件188

14.4.1重做文件的内容188

14.4.2实例恢复与介质恢复189

14.4.3重做文件组189

14.4.4查询重做文件信息192

14.4.5管理联机重做文件192

14.4.6移动重做文件194

14.4.7数据库归档模式195

14.4.8查询数据库归档模式199

14.4.9查询联机重做文件组及重做文件信息199

14.4.10查询归档日志文件信息201

第15章实例203

15.1内存构成部分203

15.1.1SGA203

15.1.2PGA203

15.1.3UGA203

15.2SGA构成部分204

15.2.1固定区域(fixed area)204

15.2.2数据缓冲区(database buffer cache)204

15.2.3Java池(Java pool)206

15.2.4大池(large pool)206

15.2.5重做缓冲区(redo buffer)206

15.2.6共享池(shared pool)207

15.3PGA的构成208

15.3.1私有SQL区域208

15.3.2SQL工作区域208

15.4内存管理与配置209

15.4.1内存自动管理209

15.4.2自动管理SGA210

15.4.3手工管理SGA212

15.5进程212

15.5.1服务器进程215

15.5.2后台进程217

第16章事务处理与锁220

16.1事务概念220

16.1.1事务应用实例1:银行转账220

16.1.2事务应用实例2:超市收银221

16.2事务的ACID属性221

16.2.1Atomicity——原子性221

16.2.2Consistency——一致性221

16.2.3Isolation——隔离性222

16.2.4Durability——持久性223

16.3事务控制命令223

16.4并发控制要解决的问题224

16.5解决并发问题的锁和多版本数据技术226

16.5.1Oracle中锁的种类226

16.5.2Oracle自动附加的锁227

16.5.3DML锁227

16.5.4死锁229

16.5.5锁的升级和转换230

16.5.6多版本数据技术230

16.5.7总结:Oracle解决三个并发控制问题的方法232

16.6实例恢复232

16.6.1checkpoint与实例恢复的关系233

16.6.2前滚(rollforward)233

16.6.3回滚(rollback)233

第17章网络连接234

17.1网络连接的几个术语234

17.1.1服务器与客户端234

17.1.2数据库服务名234

17.1.3监听器235

17.1.4专用服务器模式及专用服务器进程237

17.1.5共享服务器模式和共享服务器进程237

17.1.6服务注册238

17.2简单的网络连接配置239

17.2.1服务器端操作239

17.2.2客户端配置240

17.3共享服务器模式及专用服务器模式配置248

17.3.1配置共享服务器模式248

17.3.2在客户端指定共享或专用连接方式253

17.4使用非默认端口连接数据库254

17.4.1设置监听器254

17.4.2设置local_listener参数静态注册数据库服务至监听器256

17.4.3配置客户端连接至数据库256

第18章用户和权限管理258

18.1一个用户及权限管理的简单示例258

18.2用户管理259

18.2.1用户属性259

18.2.2创建用户260

18.2.3模式的概念260

18.2.4修改用户属性260

18.2.5删除用户261

18.2.6查询数据库中的用户名称261

18.2.7查询用户属性262

18.2.8数据库中的预定义用户263

18.2.9预置管理用户263

18.3权限管理264

18.3.1Oracle中的权限种类264

18.3.2系统权限265

18.3.3unlimited tablespace权限265

18.3.4sysdba和sysoper权限265

18.3.5数据库中的所有系统权限265

18.3.6对象权限266

18.3.7赋予系统权限267

18.3.8赋予对象权限267

18.3.9撤销用户权限268

18.3.10查询用户的权限信息269

18.4角色271

18.4.1public角色271

18.4.2角色相关信息查询271

18.4.3connect、resource、dba角色272

参考文献273

oracle数据库系统电子版,Oracle数据库系统原理(第2版)_第1张图片

密码: k235

你可能感兴趣的:(oracle数据库系统电子版)