登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

『簡體書』Oracle数据库应用案例课堂

書城自編碼: 2701634
分類: 簡體書→大陸圖書→計算機/網絡數據庫
作者: 刘玉红、郭广新
國際書號(ISBN): 9787302422136
出版社: 清华大学出版社
出版日期: 2015-12-01
版次: 1 印次: 1
頁數/字數: 408/620000
書度/開本: 16开 釘裝: 平装

售價:NT$ 481

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
李安访谈录(守望者·访谈)
《 李安访谈录(守望者·访谈) 》

售價:NT$ 354.0
九色鹿·追本塑源:元朝的开国故事
《 九色鹿·追本塑源:元朝的开国故事 》

售價:NT$ 410.0
几何之美
《 几何之美 》

售價:NT$ 723.0
马尔克斯传
《 马尔克斯传 》

售價:NT$ 307.0
给年轻人的安顿之书(全2册)
《 给年轻人的安顿之书(全2册) 》

售價:NT$ 707.0
彼美淑令:北朝女性的个体生命史
《 彼美淑令:北朝女性的个体生命史 》

售價:NT$ 374.0
旧纸边上
《 旧纸边上 》

售價:NT$ 354.0
奥匈帝国命运三部曲:曙光乍现
《 奥匈帝国命运三部曲:曙光乍现 》

售價:NT$ 406.0

編輯推薦:
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“数据库基础知识→数据库基本操作→SQL查询语句→数据库高级管理→项目开发实战”的讲解模式,深入浅出地讲解Oracle的各项技术及实战技能。

本书第1篇“Oracle数据库基础”主要讲解初识Oracle12c、Oracle的安装与环境配置等;第2篇“Oracle数据库基本操作”主要讲解数据库和数据表的基本操作,数据类型和运算符,视图的操作,插入、更新与删除数据等;第3篇“SQL查询语句”主要讲解Oracle函数、查询数据、PLSQL编程、存储过程、Oracle触发器、游标的应用等;第4篇“Oracle数据库高级管理”主要讲解事务与锁、管理表空间和数据文件、Oracle的安全管理、控制文件和日志、数据备份与还原、性能优化、SQL
Plus工具详解;第5篇“Oracle开发与案例设计”主要讲解Java操作Oracle数据库、设计论坛管理系统数据库、设计新闻发布系统数据库、设计公司人事管理系统数据库、设计学生信息管理系统数据库。

在DVD光盘中赠送了丰富的资源,诸如Oracle案例源码命令、教学幻灯片、本书精品教学视频、Ora
內容簡介:
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“数据库基础知识→数据库基本操作→SQL查询语句→数据库高级管理→项目开发实战”的讲解模式,深入浅出地讲解Oracle的各项技术及实战技能。
本书第1篇“Oracle数据库基础”主要讲解初识Oracle 12c、Oracle的安装与环境配置等;第2篇“Oracle数据库基本操作”主要讲解数据库和数据表的基本操作,数据类型和运算符,视图的操作,插入、更新与删除数据等;第3篇“SQL查询语句”主要讲解Oracle函数、查询数据、PLSQL编程、存储过程、Oracle触发器、游标的应用等;第4篇“Oracle数据库高级管理”主要讲解事务与锁、管理表空间和数据文件、Oracle的安全管理、控制文件和日志、数据备份与还原、性能优化、SQL Plus工具详解;第5篇“Oracle开发与案例设计”主要讲解Java操作Oracle数据库、设计论坛管理系统数据库、设计新闻发布系统数据库、设计公司人事管理系统数据库、设计学生信息管理系统数据库。
在DVD光盘中赠送了丰富的资源,诸如Oracle案例源码命令、教学幻灯片、本书精品教学视频、Oracle常用命令速查手册、数据库工程师职业规划、数据库工程师面试技巧、数据库工程师常见面试题、Oracle常见错误及解决方案、Oracle数据库经验及技巧大汇总等。另外光盘中还包含20小时的全程同步教学录像。
本书适合任何想学习Oracle的人员,无论您是否从事计算机相关行业,或者您是否接触过Oracle,通过学习均可快速掌握Oracle的管理方法和技巧。
目錄
目 录
第1篇 Oracle数据库基础
第1章 初识Oracle 12c3
1.1 数据库基础4
1.1.1 什么是数据库4
1.1.2 表4
1.1.3 数据类型5
1.1.4 主键5
1.2 数据库技术构成5
1.2.1 数据库系统5
1.2.2 SQL6
1.2.3 数据库访问技术7
1.3 什么是Oracle 12c8
1.3.1 Oracle的发展历程8
1.3.2 Oracle 12c版本的新功能9
1.3.3 Oracle的优势11
1.4 Oracle工具11
1.4.1 SQL Plus11
1.4.2 Oracle SQL Developer12
1.5 高手甜点13
1.6 跟我学上机14
第2章 Oracle的安装与环境配置15
2.1 实例1——安装Oracle 12c16
2.2 启动服务并登录Oracle数据库21
2.2.1 实例2——启动Oracle服务22
2.2.2 实例3——登录Oracle数据库23
2.3 实例4——卸载Oracle 12c27
2.4 高手甜点30
2.5 跟我学上机32
第2篇 Oracle数据库基本操作
第3章 数据库和数据表的基本操作35
3.1 实例1——创建数据库36
3.2 实例2——删除数据库39
3.3 创建数据表42
3.3.1 实例3——创建表的语法形式42
3.3.2 实例4——使用主键约束43
3.3.3 实例5——使用外键约束45
3.3.4 实例6——使用非空约束47
3.3.5 实例7——使用唯一性约束48
3.3.6 实例8——使用默认约束49
3.3.7 实例9——使用检查约束50
3.3.8 实例10——设置表的属性值
自动增加51
3.4 实例11——查看数据表结构52
3.5 修改数据表52
3.5.1 实例12——修改表名52
3.5.2 实例13——修改字段的数据
类型53
3.5.3 实例14——修改字段名54
3.5.4 实例15——添加字段54
3.5.5 实例16——删除字段55
3.6 删除数据表56
3.6.1 实例17——删除没有被关联
的表56
3.6.2 实例18——删除被其他表关联
的主表57
3.7 综合实例——数据表的基本操作58
3.8 高手甜点63
3.9 跟我学上机65
第4章 数据类型和运算符67
4.1 Oracle数据类型介绍68
4.1.1 实例1——数值数据类型68
4.1.2 实例2——日期和时间类型69
4.1.3 实例3——字符串类型72
4.2 如何选择数据类型73
4.3 实例4——操作常见运算符73
4.3.1 运算符概述74
4.3.2 实例5——使用算术运算符74
4.3.3 比较运算符75
4.3.4 逻辑运算符77
4.3.5 运算符的优先级78
4.4 高手甜点78
4.5 跟我学上机79
第5章 视图的操作81
5.1 视图概述82
5.1.1 视图的含义82
5.1.2 视图的作用83
5.2 创建视图83
5.2.1 实例1——创建视图的语法
形式83
5.2.2 实例2——在单表上创建视图84
5.2.3 实例3——在多表上创建视图84
5.2.4 实例4——创建视图的视图85
5.2.5 实例5——创建没有源表的
视图86
5.3 实例6——查看视图86
5.4 修改视图87
5.4.1 实例7——CREATE OR REPLACE
VIEW语句修改视图87
5.4.2 实例8——ALTER语句修改视图
的约束88
5.5 实例9——更新视图88
5.6 实例10——删除视图90
5.7 限制视图的数据操作90
5.7.1 实例11——设置视图的只读
属性90
5.7.2 实例12——设置视图的检查
属性91
5.8 综合实例——视图的应用91
5.9 高手甜点96
5.10 跟我学上机97
第6章 插入、更新与删除数据99
6.1 插入数据100
6.1.1 为表的所有字段插入数据100
6.1.2 为表的指定字段插入数据102
6.1.3 同时插入多条记录103
6.1.4 将查询结果插入到表中104
6.2 更新数据106
6.3 删除数据107
6.4 综合实例——记录的插入、更新
和删除109
6.5 高手甜点113
6.6 跟我学上机113
第3篇 SQL查询语句
第7章 Oracle函数117
7.1 Oracle函数简介118
7.2 数学函数118
7.2.1 实例1——绝对值函数
ABSx118
7.2.2 实例2——平方根函数SQRTx
和求余函数MODx,y118
7.2.3 实例3——获取整数的函数
CEILx和FLOORx119
7.2.4 实例4——获取随机数的函数
DBMS_RANDOM.RANDOM和
DBMS_RANDOM.VALUEx,y119
7.2.5 实例5——四舍五入函数ROUNDx、
ROUNDx,y和TRUNCx,y120
7.2.6 实例6——符号函数SIGNx121
7.2.7 实例7——幂运算函数
POWERx,y和EXPx121
7.2.8 实例8——对数运算函数
LOGx,y和LNx121
7.2.9 实例9——正弦函数SINx和
反正弦函数ASINx122
7.2.10 实例10——余弦函数COSx
和反余弦函数ACOSx122
7.2.11 实例11——正切函数TANx
和反正切函数ATANx123
7.3 字符串函数123
7.3.1 实例12——计算字符串长度的
函数123
7.3.2 实例13——合并字符串函数
CONCATs1,s2123
7.3.3 实例14——字符串搜索函数
INSTR s,x124
7.3.4 实例15——字母大小写转换
函数LOWERstr,UPPERstr和
INITCAPstr124
7.3.5 实例16——获取指定长度的
字符串的函数SUBSTRs,m,n125
7.3.6 实例17——替换字符串的
函数REPLACEs1,s2,s3125
7.3.7 实例?18——删除字符串首尾指定
字符的函数?LTRIMs,n
和RTRIMs,n125
7.3.8 实例19——删除指定字符串的
函数TRIM126
7.3.9 实例20——字符集名称和ID
互换函数126
7.4 日期和时间函数127
7.4.1 实例21——获取当前日期和
时间的函数127
7.4.2 实例22——获取时区的函数127
7.4.3 实例23——获取指定月份最后
一天函数128
7.4.4 实例24——获取指定日期后
一周的日期函数128
7.4.5 实例25——获取指定日期特定
部分的函数128
7.4.6 实例26——获取两个日期之间
的月份数129
7.5 转换函数129
7.5.1 实例27——字符串转ASCII
类型字符串函数129
7.5.2 实例28——二进制转十进制
函数129
7.5.3 实例29——数据类型转换
函数130
7.5.4 实例30——数值转换为字符串
函数130
7.5.5 实例31——字符转日期函数130
7.5.6 实例32——字符串转数字
函数131
7.6 系统信息函数131
7.6.1 实例33——返回登录名函数131
7.6.2 实例34——返回会话以及上下文
信息函数131
7.7 综合实例——Oracle函数的应用132
7.8 高手甜点134
7.9 跟我学上机134
第8章 查询数据137
8.1 基本查询语句138
8.2 单表查询139
8.2.1 实例1——查询所有字段140
8.2.2 实例2——查询指定字段141
8.2.3 实例3——查询指定记录142
8.2.4 实例4——带IN关键字的
查询144
8.2.5 实例5——带BETWEEN AND的
范围查询145
8.2.6 实例6——带LIKE的字符匹配
查询146
8.2.7 实例7——查询空值147
8.2.8 实例8——带AND的多条件
查询148
8.2.9 实例9——带OR的多条件
查询149
8.2.10 实例10——查询结果
不重复150
8.2.11 实例11——对查询结果
排序151
8.2.12 实例12——分组查询154
8.2.13 实例13——使用ROWNUM
限制查询结果的数量159
8.3 使用聚合函数查询160
8.3.1 实例14——COUNT函数160
8.3.2 实例15——SUM函数161
8.3.3 实例16——AVG函数162
8.3.4 实例17——MAX函数162
8.3.5 实例18——MIN函数163
8.4 连接查询164
8.4.1 实例19——内连接查询164
8.4.2 实例20——外连接查询167
8.4.3 实例21——复合条件连接
查询169
8.5 子查询170
8.5.1 实例22——带ANY、SOME
关键字的子查询170
8.5.2 实例23——带ALL关键字的
子查询171
8.5.3 实例24——带EXISTS关键字
的子查询171
8.5.4 实例25——带IN关键字的
子查询172
8.5.5 实例26——带比较运算符的
子查询174
8.6 实例27——合并查询结果175
8.7 为表和字段取别名178
8.7.1 实例28——为表取别名178
8.7.2 实例29——为字段取别名179
8.8 使用正则表达式查询181
8.8.1 实例30——查询以特定字符或
字符串开头的记录181
8.8.2 实例31——查询以特定字符或
字符串结尾的记录182
8.8.3 实例32——用符号“.”来替代
字符串中的任意一个字符182
8.8.4 实例33——使用“*”和“+”来
匹配多个字符183
8.8.5 实例34——匹配指定字符串183
8.8.6 实例35——匹配指定字符中的
任意一个184
8.8.7 实例36——匹配指定字符以外的
字符185
8.8.8 实例37——使用{n,}或者{n,m}
来指定字符串连续出现的次数186
8.9 综合实例——数据表查询操作186
8.10 高手甜点193
8.11 跟我学上机193
第9章 PLSQL编程195
9.1 PLSQL概述196
9.1.1 PLSQL是什么196
9.1.2 实例1——PLSQL的结构196
9.1.3 实例2——PLSQL的编程
规范198
9.2 实例3——使用常量和变量200
9.3 实例4——使用表达式201
9.4 PLSQL的控制结构与语句203
9.4.1 基本处理流程203
9.4.2 实例5——IF条件控制语句204
9.4.3 实例6——CASE条件控制
语句207
9.4.4 实例7——LOOP循环控制
语句210
9.5 PLSQL中的异常211
9.5.1 异常概述211
9.5.2 实例8——异常处理212
9.6 实例9——PLSQL中的函数213
9.7 高手甜点214
9.8 跟我学上机214
第10章 存储过程215
10.1 创建存储过程216
10.1.1 什么是存储过程216
10.1.2 实例1——创建存储过程216
10.2 实例2——调用存储过程217
10.3 实例3——查看存储过程218
10.4 存储过程的参数218
10.4.1 实例4——无参数的存储
过程219
10.4.2 实例5——有参数的存储
过程220
10.5 实例6——修改存储过程221
10.6 实例7——删除存储过程221
10.7 实例8——查看存储过程的错误221
10.8 综合实例——综合运用存储过程222
10.9 高手甜点224
10.10 跟我学上机224
第11章 Oracle触发器225
11.1 创建触发器226
11.1.1 触发器是什么226
11.1.2 实例1——创建只有一个执行
语句的触发器226
11.1.3 实例2——创建有多个执行
语句的触发器227
11.2 查看触发器229
11.2.1 实例3——查看触发器的
名称229
11.2.2 实例4——查看触发器的内容
信息229
11.3 实例5——触发器的使用230
11.4 实例6——修改触发器231
11.5 实例7——删除触发器231
11.6 综合实例——触发器使用232
11.7 高手甜点233
11.8 跟我学上机234
第12章 游标的应用235
12.1 认识游标236
12.1.1 游标的概念236
12.1.2 游标的优点236
12.1.3 游标的分类236
12.2 显式游标237
12.2.1 实例1——声明游标237
12.2.2 实例2——打开游标237
12.2.3 实例3——读取游标中的
数据237
12.2.4 实例4——关闭游标238
12.2.5 实例5——使用显式游标的
案例238
12.2.6 实例6——使用显式游标的
LOOP语句239
12.2.7 实例7——使用BULK COLLECT
和FOR语句的游标239
12.2.8 实例8——使用CURSOR FOR
LOOP语句的游标240
12.2.9 实例9——显式游标的属性241
12.3 隐式游标243
12.3.1 实例10——使用隐式游标244
12.3.2 实例11——隐式游标的
属性244
12.3.3 实例12——游标中使用异常
处理246
12.4 综合实例——游标的综合应用247
12.5 高手甜点248
12.6 跟我学上机249
第4篇 Oracle数据库高级管理
第13章 事务与锁253
13.1 事务管理254
13.1.1 事务是什么254
13.1.2 事务的属性254
13.1.3 事务管理的常用语句254
13.1.4 事务的类型255
13.1.5 实例1——事务的应用实例255
13.1.6 实例2——事务的保存点256
13.2 锁257
13.2.1 锁是什么258
13.2.2 锁的分类259
13.2.3 实例3——锁的类型259
13.2.4 实例4——锁等待和死锁260
13.3 综合实例——死锁的案例261
13.4 高手甜点262
13.5 跟我学上机262
第14章 管理表空间和数据文件263
14.1 什么是表空间264
14.2 实例1——查看表空间264
14.3 管理表空间265
14.3.1 实例2——创建表空间266
14.3.2 实例3——设置表空间的可用
状态266
14.3.3 实例4——设置表空间的读写
状态267
14.3.4 实例5——重命名表空间267
14.3.5 实例6——删除表空间268
14.3.6 实例7——建立大文件表
空间268
14.4 管理临时表空间268
14.4.1 实例8——创建临时表空间269
14.4.2 实例9——查看临时表空间269
14.4.3 实例10——创建临时表
空间组269
14.4.4 实例11——查看临时表
空间组270
14.4.5 实例12——删除临时表
空间组270
14.5 管理数据文件270
14.5.1 实例13——移动数据文件270
14.5.2 删除数据文件271
14.6 高手甜点271
14.7 跟我学上机271
第15章 Oracle的安全管理273
15.1 账户管理274
15.1.1 管理账号概述274
15.1.2 实例1——新建普通用户274
15.1.3 实例2——修改用户信息275
15.1.4 实例3——删除用户276
15.2 权限管理276
15.2.1 实例4——授权277
15.2.2 实例5——收回权限277
15.2.3 实例6——查看权限278
15.3 角色管理279
15.3.1 角色概述279
15.3.2 实例7——创建角色279
15.3.3 实例8——设置角色280
15.3.4 实例9——修改角色280
15.3.5 实例10——查看角色281
15.3.6 实例11——删除角色281
15.4 管理概要文件PROFILE281
15.4.1 PROFILE概述281
15.4.2 实例12——创建概要文件282
15.4.3 实例13——修改概要文件282
15.4.4 实例14——删除概要文件283
15.5 高手甜点283
15.6 跟我学上机283
第16章 控制文件和日志285
16.1 实例1——了解控制文件286
16.2 控制文件的应用实例286
16.2.1 实例2——查看控制文件的
内容286
16.2.2 实例3——更新控制文件的
内容287
16.2.3 实例4——使用init.ora多路复用
控制文件287
16.2.4 实例5——使用SPFILE多路复用
控制文件288
16.2.5 实例6——创建控制文件289
16.3 实例7——了解日志291
16.4 管理日志文件292
16.4.1 实例8——新建日志文件组292
16.4.2 实例9——添加日志文件到
日志文件组292
16.4.3 实例10——删除日志文件组和
日志文件293
16.4.4 实例11——查询日志文件组和
日志文件293
16.5 高手甜点294
16.6 跟我学上机295
第17章 数据备份与还原297
17.1 数据备份298
17.1.1 实例1——冷备份298
17.1.2 实例2——热备份298
17.2 实例3——数据还原299
17.3 表的导出和导入300
17.3.1 实例4——用EXP工具导出
数据301
17.3.2 实例5——用EXPDP导出
数据301
17.3.3 实例6——用IMP导入数据302
17.3.4 实例7——用IMPDP导入
数据302
17.4 高手甜点303
17.5 跟我学上机303
第18章 性能优化305
18.1 优化简介306
18.1.1 修改系统全局区306
18.1.2 修改进程全局区308
18.2 优化查询308
18.2.1 分析查询语句的执行计划308
18.2.2 索引对查询速度的影响310
18.2.3 使用索引查询311
18.2.4 优化子查询311
18.3 优化数据库结构311
18.3.1 将字段很多的表分解成
多个表312
18.3.2 增加中间表313
18.3.3 增加冗余字段314
18.3.4 优化插入记录的速度314
18.4 优化Oracle服务器316
18.4.1 优化服务器硬件316
18.4.2 优化Oracle的参数316
18.5 高手甜点318
18.6 跟我学上机318
第19章 SQL Plus工具详解319
19.1 SQL Plus概述320
19.2 使用SQL Plus的常用命令320
19.2.1 实例1——连接指定的
数据库320
19.2.2 实例2——使用SQL Plus编辑
命令320
19.2.3 实例3——使用SQL Plus运行
命令326
19.2.4 实例4——使用SQL Plus保存
命令327
19.3 实例5——使用SQL Plus格式化查询
结果328
19.4 实例6——在SQL Plus中输出查询
结果332
19.5 实例7——在SQL Plus中为语句
添加注释333
19.6 高手甜点335
19.7 跟我学上机335
第5篇 Oracle开发与案例设计
第20章 Java操作Oracle数据库339
20.1 JDBC概述340
20.2 Java连接数据库341
20.2.1 实例1——加载数据库驱动
程序341
20.2.2 实例2——以Thin方式连接
Oracle数据库343
20.2.3 实例3——以JDBC-ODBC桥
方式连接Oracle数据库344
20.3 Java操作Oracle数据库347
20.3.1 实例4——创建Statement
对象347
20.3.2 实例5——使用SELECT语句
查询数据347
20.3.3 实例6——插入、更新和删除
数据348
20.3.4 实例7——执行任意SQL
语句348
20.3.5 实例8——关闭创建的对象349
20.4 高手甜点350
20.5 跟我学上机350
第21章 设计论坛管理系统数据库351
21.1 系统概述352
21.2 系统功能352
21.3 数据库设计和实现353
21.3.1 设计方案图表353
21.3.2 设计表355
21.3.3 设计索引359
21.3.4 设计视图360
21.3.5 设计触发器360
21.4 本章小结361
第22章 设计新闻发布系统数据库363
22.1 系统概述364
22.2 系统功能364
22.3 数据库设计和实现365
22.3.1 设计表365
22.3.2 设计索引370
22.3.3 设计视图371
22.3.4 设计触发器371
22.4 本章小结372
第23章 设计公司人事管理系统数据库373
23.1 系统概述374
23.2 系统功能374
23.3 数据库设计和实现375
23.3.1 设计表375
23.3.2 设计索引380
23.3.3 设计视图381
23.3.4 设计触发器382
23.4 本章小结383
第24章 设计学生信息管理系统数据库385
24.1 系统概述386
24.2 系统功能386
24.3 数据库设计和实现387
24.3.1 设计表387
24.3.2 设计索引391
24.3.3 设计视图392
24.3.4 设计触发器393
24.4 本章小结394
內容試閱
第1章
初识Oracle 12c
Oracle是以关系数据库为数据存储和管理作为构架基础构建出的数据库管理系统。它是世界上第一个支持SQL的商业数据库,定位于高端工作站,以及作为服务器的小型计算机,如IBM P系列服务器、HP的Integrity服务器和Sun Fire服务器等。本章主要介绍数据库的基础知识,通过本章的学习,读者可以了解数据库的基本概念、数据库的构成和Oracle的基本知识。
本章要点已掌握的在方框中打钩
了解数据库的基本概念
掌握什么是表、数据类型和主键
熟悉数据库的技术构成
熟悉什么是Oracle
熟悉常见的Oracle工具
1.1 数据库基础
数据库是由一批数据构成的有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。本节将介绍数据库中的一些基本概念,包括数据库的定义、数据表的定义和数据类型等。
1.1.1 什么是数据库
数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来了一场巨大的革命。
数据库的发展大致划分为以下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。不同种类的数据库按不同的数据结构来联系和组织。
对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库DataBase,DB是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术。
数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制功能。
1.1.2 表
在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由横向的行和纵向的列组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。
例如一个有关作者信息的名为authors的表中,每个列包含所有作者的某个特定类型的信息,比如“姓名”;而每行则包含了某个特定作者的所有信息,如编号、姓名、性别、专业,如图1-1所示。
编号
姓名
性别
专业
100
张三
f
? 计算机
101
李芬
m
? 会计
102
岳阳
f
? 园林
图1-1 authors表结构与记录
1.1.3 数据类型
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有:整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期时间数据类型、字符串数据类型。
表中的每一个字段就是某种指定数据类型,比如图1-1中“编号”字段为整数数据,“性别”字段为字符型数据。
1.1.4 主键
主键Primary Key又称主码,用于唯一地标识表中的每一条记录。可以定义表中的一列或多列为主键,主键列上不能有两行相同的值,也不能为空值。假如,定义authors表,该表给每一个作者分配一个“作者编号”,该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实不相符合,因此“姓名”字段不适合作为主键。
1.2 数据库技术构成
数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分则主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。
1.2.1 数据库系统
数据库系统有3个主要的组成部分。
1 数据库:用于存储数据的地方。
2 数据库管理系统:用于管理数据库的软件。
3 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。
数据库提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
数据库管理系统Database Management System,DBMS是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。
数据库应用程序Database Application主要为用户管理数据库提供一个可视的界面及相关的功能。虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DBMS中的数据。
数据库系统如图1-2所示。
图1-2 数据库系统
1.2.2 SQL
对数据库进行查询和修改操作的语言叫作SQL。SQL的含义是结构化查询语言Structured Query Language。SQL有许多不同的类型,有3个主要的标准:ANSI美国国家标准机构SQL,对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2。最近的SQL-99标准从SQL2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持新推出的SQL-92标准。
SQL语言包含以下4个部分。
1 数据定义语言DDL:DROP、CREATE、ALTER等语句。
2 数据操作语言DML:INSERT插入、UPDATE修改、DELETE删除语句。
3 数据查询语言DQL:SELECT语句。
4 数据控制语言DCL:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
下面是一条SQL语句的例子,该语句声明创建一个叫students的表:
CREATE TABLE students

student_id number11,
name VARCHAR230,
sex CHAR2,
PRIMARY KEY student_id
;
该表包含3个字段,分别为student_id、name、sex,其中student_id定义为表的主键。
现在只是定义了一张表格,但并没有任何数据,接下来这条SQL声明语句,将在students表中插入一条数据记录:
INSERT INTO students student_id, name, sex, birth
VALUES 41048101, ''Lucy Green'', ''1'';
执行完该SQL语句之后,students表中就会增加一行新记录,该记录中字段student_id的值为41048101,name字段的值为Lucy Green,sex字段值为1。
再使用SELECT查询语句获取刚才插入的数据,如下:
SELECT name FROM students WHERE student_id = 41048101;
NAME
------------
Lucy Green
上面简单列举了常用的数据库操作语句,仅给读者一个直观的印象,读者可能还不能理解,接下来会在学习Oracle的过程中详细介绍这些知识。
1.2.3 数据库访问技术
不同的程序设计语言会有各自不同的数据库访问技术,程序语言通过这些技术,执行SQL语句,进行数据库管理。主要的数据库访问技术有以下几种。
1.ODBC
ODBCOpen Database Connectivity,开放数据库互联技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统DBMS。
一个基于ODBC的应用程序对数据库的操作不会依赖任何DBMS,也不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、Oracle还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
2.JDBC
JDBCJava Database Connectivity,Java数据库连接用于Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
3.ADO.NET
ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。
4.PDO
PDOPHP Data Object为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO是PHP 5新加入的一个重大功能。
1.3 什么是Oracle 12c
Oracle数据库是积聚了众多领先技术的数据库系统,在集群技术、高可用性、商业智能、安全性、系统管理等方面都在业界居于领先地位。Oracle是一个大型关系数据库管理系统,目前已经成为企业级开发的首选。本节主要介绍Oracle数据库的发展历程和Oracle 12c的新功能。
1.3.1 Oracle的发展历程
Oracle是由甲骨文公司开发出来的,并于1989年正式进入中国市场,成为第一家进入中国的世界软件巨头。Oracle的发展历程如下。
1977年,Larry Ellison、Bob Miner和Ed Oates等人组建了Relational软件公司Relational Software Inc.,RSI。他们决定使用C语言和SQL界面构建一个关系数据库管理系统Relational Database Management System,RDBMS,并很快发布了第一个版本仅是原型系统。
1979年,RSI首次向客户发布了产品,即第2版。该版本的RDBMS可以在装有RSX-11操作系统的PDP-11机器上运行,后来又移植到了DEC VAX系统。
1983年,发布的第3个版本中加入了SQL,而且性能也有所提升,其他功能也得到增强。与前几个版本不同的是,这个版本是完全用C语言编写的。同年,RSI更名为Oracle Corporation,也就是今天的Oracle公司。
1984年,Oracle的第4版发布。该版本既支持VAX系统,也支持IBM VM操作系统。这也是第一个加入了读一致性Read-consistency的版本。
1985年,Oracle的第5版发布。该版本可称作是Oracle发展史上的里程碑,因为它通过SQL*Net引入了客户端服务器的计算机模式,同时它也是第一个打破640KB内存限制的MS-DOS产品。
1988年,Oracle的第6版发布。该版本除了改进性能、增强序列生成与延迟写入Deferred Writes功能以外,还引入了底层锁。除此之外,该版本还加入了PLSQL和热备份等功能。这时Oracle已经可以在许多平台和操作系统上运行。
1991年,Oracle RDBMS的6.1版在DEC VAX平台中引入了Parallel Server选项,很快该选项也可用于许多其他平台。
1992年,Oracle 7发布。Oracle 7在对内存、CPU和IO的利用方面作了许多体系结构上的变动,这是一个功能完整的关系数据库管理系统,在易用性方面也做了许多改进,引入了SQL*DBA工具和Database角色。
1997年,Oracle 8发布。Oracle 8除了增加许多新特性和管理工具以外,还加入了对象扩展Object Extension特性。这一版本已能在Windows系统下使用
2001年,Oracle 9i release 1发布。这是Oracle 9i的第一个发行版,包含RACReal Application Cluster等新功能。
2002年,Oracle 9i release 2发布,它在release 1的基础上增加了集群文件系统Cluster File System等特性。
2004年,针对网格计算的Oracle 10g发布。该版本中Oracle的功能、稳定性和性能的实现都达到了一个新的水平。
2007年7月12日,甲骨文公司推出最新数据库软件Oracle 11g。Oracle 11g有400多项功能,经过了1500万小时的测试,开发工作量达到了3.6万人月。相对之前版本而言,Oracle 11g具有与众不同的特性。
2013年6月26日,Oracle Database 12c版本正式发布,12c里面的c是cloud,也就是云计算的意思。
与Oracle数据库基本同时期的还有Informix数据库系统。两者使用的用户有所侧重。Oracle数据库系统银行业使用较多,Informix数据库系统,通信业使用较多。由于Oracle数据库产品是当前数据库技术的典型代表,除了数据库系统外,还有应用系统和开发工具等。
1.3.2 Oracle 12c版本的新功能
新版Oracle Database 12c汇集了参会者最多的目光,Larry Ellison也在开幕演讲中重点介绍了12c的一些新特性。在学习Oracle Database 12c之前,数据库管理员应提前了解它的一些新功能、新特性。
1 PLSQL性能增强:类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能。
2 改善Defaults:包括序列作为默认值,自增列,当明确插入NULL时指定默认值,metadata-only default值指的是增加一个新列时指定的默认值。和11g中的区别在于,11g的default值要求NOT NULL列。
3 放宽多种数据类型长度限制:增加了VARCHAR2、NVARCHAR2和RAW类型的长度到32K,要求兼容性设置为12.0.0.0以上,且设置了初始化参数MAX_SQL_STRING_SIZE为EXTENDED,这个功能不支持CLUSTER表和索引组织表;最后这个功能并没真正改变VARCHAR2的限制,而是通过OUT OF LINE的CLOB实现。
4 TOP N的语句实现:在SELECT语句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N条或前百分之多少的记录。
5 行模式匹配:类似分析函数的功能,可以在行间进行匹配判断并进行计算。在SQL中新的模式匹配语句是“match_recognize”。
6 分区改进:Oracle Database 12c中对分区功能做了较多的调整,其中共分成以下五个部分。
* INTERVAL-REFERENCE分区:把11g的INTERVAL分区和REFERENCE分区结合,这样主表自动增加一个分区后,所有的子表、孙子表、重孙子表到重重重……孙子表都可以自动随着外接列新数据增加,自动创建新的分区。
* TRUNCATE和EXCHANGE分区及子分区。无论是TRUNCATE还是EXCHANGE分区,在主表上执行,都可以级联地作用在子表、孙子表、重孙子表到重重重……孙子表上同时运行。对于TRUNCATE而言,所有表的TRUNCATE操作在同一个事务中,如果中途失败,会回滚到命令执行之前的状态。这两个功能通过关键字CASCADE实现。
* 在线移动分区:通过MOVE ONLINE关键字实现在线分区移动。在移动的过程中,对表和被移动的分区可以执行查询、DML语句以及分区的创建和维护操作。整个移动过程对应用透明。这个功能极大地提高了整体可用性,减少了分区维护窗口。
* 多个分区同时操作:可以对多个分区同时进行维护操作,比如将一年的12个分区合并到1个新的分区中,又如将一个分区分成多个分区。可以通过FOR语句指定操作的每个分区,对于RANGE分区而言,也可以通过TO来指定处理分区的范围。多个分区同时操作自动并行完成。
* 异步全局索引维护:对于非常大的分区表而言,UPDATE GLOBAL INDEX不再是棘手的事。Oracle可以实现异步全局索引异步维护的功能,即使是几亿条记录的全局索引,在分区维护操作,比如DROP或TRUNCATE后,仍然是VALID状态,索引不会失效,不过索引的状态是包含OBSOLETE数据,当维护操作完成时,索引状态恢复。
* 部分本地和全局索引:Oracle的索引可以在分区级别定义。无论全局索引还是本地索引都可以在分区表的部分分区上建立,其他分区上则没有索引。当通过索引列访问全表数据时,Oracle通过UNION ALL实现,一部分通过索引扫描,另一部分通过全分区扫描。这可以减少对历史数据的索引量,极大地增强了灵活性。
7 Adaptive执行计划:拥有学习功能的执行计划,Oracle会把实际运行过程中读取到返回结果作为进一步执行计划判断的输入,因此统计信息不准确或查询真正结果与计算结果不准时,可以得到更好的执行计划。
8 统计信息增强:动态统计信息收集增加第11层,使得动态统计信息收集的功能更强;增加了混合统计信息用以支持包含大量不同值,且个别值数据倾斜的情况;添加了数据加载过程收集统计信息的能力;对于临时表增加了会话私有统计信息。
9 临时UNDO:将临时段的UNDO独立出来,放到TEMP表空间中,优点包括:减少UNDO产生的数量;减少REDO产生的数量;在ACTIVE DATA GUARD上允许对临时表进行DML操作。
10 数据优化:新增了ILM数据生命周期管理功能,添加了“数据库热图”Database Heat Map,在视图中可以直接看到数据的利用率,并找到哪些数据是最“热”的数据。可以自动实现数据的在线压缩和数据分级,其中数据分级可以在线将定义时间内的数据文件转移到归档存储,也可以将数据表定时转移至归档文件,还可以实现在线的数据压缩。
11 应用连续性:Oracle Database 12c之前RAC的FAILOVER只做到SESSION和SELECT级别,对于DML操作无能为力,当设置为SESSION,进行到一半的DML自动回滚;而对于SELECT,虽然FAILOVER可以不中断查询,但是对于DML的问题更甚之,必须手工回滚。而Oracle Database 12c支持事务的FAILOVER。
12 Oracle Pluggable Database:Oracle PDB体系结构由一个容器数据库CDB和多个可组装式数据库PDB构成,PDB包含独立的系统表空间和SYSAUX表空间等,但是所有PDB共享CDB的控制文件、日志文件和UNDO表空间。
1.3.3 Oracle的优势
Oracle的主要优势如下。
1 速度:运行速度快。
2 稳定性:Oracle是目前数据库中稳定性非常好的数据库。
3 共享SQL和多线索服务器体系结构:Oracle 7以来引入了共享SQL和多线索服务器体系结构。这减少了Oracle的资源占用,并增强了Oracle的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
4 可移植性:能够工作在不同的系统平台上,例如:Windows和Linux等。
5 安全性强:提供了基于角色Role分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
6 支持类型多:支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
7 方便管理数据:提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库中的数据,并有对称复制的技术。
1.4 Oracle工具
Oracle数据库管理系统提供了许多命令行工具,这些工具可以用来管理Oracle服务器、对数据库进行访问控制、管理Oracle用户以及数据库备份和恢复等。而且Oracle提供图形化的管理工具,这使得对数据库的操作更加简单。本节将为读者介绍这些工具的作用。
1.4.1 SQL Plus
Oracle的SQL Plus是与Oracle进行交互的客户端工具。在SQL Plus中,可以运行SQL Plus命令与SQL语句。
通常所说的DML、DDL、DCL语句都是SQL语句,它们执行完后,都可以保存在一个被称为SQL Buffer的内存区域中,并且只能保存一条最近执行的SQL语句,可以对保存在SQL Buffer中的SQL语句进行修改,然后再次执行,SQL Plus一般都与数据库进行交互操作。
除了SQL 语句,在SQL Plus中执行的其他语句称为SQL Plus命令。它们执行完后,不保存在SQL Buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。
SQL Plus是最常用的工具,具有很强的功能,主要功能如下。
1 数据库的维护,如启动、关闭等,一般在服务器上操作。
2 执行SQL语句。
3 执行SQL脚本。
4 数据的导出为报表。
5 应用程序开发、测试SQL。
6 生成新的SQL脚本。
7 供应用程序调用,如安装程序中进行脚本的安装。
8 用户管理及权限维护等。
SQL Plus的运行界面如图1-3所示。
图1-3 SQL Plus运行界面
1.4.2 Oracle SQL Developer
Oracle SQL Developer是Oracle公司出品的一个免费的集成开发环境。使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PLSQL 语句。另外还可以创建执行和保存报表。Oracle SQL Developer可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。
Oracle 12c系统自带SQL Developer开发工具,操作主界面如图1-4所示。
图1-4 SQL Developer主界面
1.5 高 手 甜 点
甜点1:如何快速掌握Oracle?
在学习Oracle数据库之前,很多读者都会问:如何才能学习好Oracle的相关技能呢?下面就来讲述学习Oracle的方法。
1 培养兴趣
兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习Oracle也不例外。
2 夯实基础
计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点,随着技术应用的深入,只有拥有扎实的基础功底,才能在技术的道路上走得更快、更远。对于Oracle的学习来说,SQL语句是其中最为基础的部分,很多操作都是通过SQL语句来实现的。所以在学习的过程中,读者要多编写SQL语句,对于同一个功能,使用不同的实现语句来完成,从而深刻理解其不同之处。
3 及时学习新知识
正确、有效地使用搜索引擎,可以搜索到很多关于Oracle的相关知识。同时,参考别人解决问题的思路,也可以吸取别人的经验,及时获取最新的技术资料。
4 多实践操作
数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题,并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。
甜点2:如何选择数据库?
选择数据库时,需要考虑运行的操作系统和管理系统的实际情况。一般情况下,要遵循以下原则。
1 如果是开发大的管理系统,可以在Oracle、SQL Server、DB2中选择;如果是开发中小型的管理系统,可以在Access、MySQL、PostgreSQL中选择。
2 Access和SQL Server数据库只能运行在Windows系列的操作系统上,其与Windows系列的操作系统有很好的兼容性。Oracle、DB2、MySQL和PostgreSQL除了在Windows平台上可以运行外,还可以在Linux和UNIX平台上运行。
3 Access、MySQL和PostgreSQL都非常容易使用,Oracle和DB2相对比较复杂,但是其性能比较好。
1.6 跟我学上机
1.上网查询常用的数据库系统。
2.上网了解Oracle 12c的新功能和应用方法。
3.学习常见的SQL。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.