Oracle PL/SQL从入门到精通(附DVD-ROM光盘1张)

Oracle PL/SQL从入门到精通(附DVD-ROM光盘1张) pdf epub mobi txt 电子书 下载 2025

丁士锋 等 著
图书标签:
  • Oracle
  • PL/SQL
  • 数据库
  • 编程
  • 入门
  • 精通
  • 开发
  • SQL
  • 技术
  • 光盘
  • 教程
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302281030
版次:1
商品编码:10982048
品牌:清华大学
包装:平装
开本:16开
出版时间:2012-06-01
用纸:胶版纸
页数:655
字数:1055000
正文语种:中文
附件:DVD-ROM光盘
附件数量:1

具体描述

产品特色


编辑推荐

  涵盖PL/SQL的各种技术细节,提供系统化的学习方案
  对PL/SQL开发用到的各种技术做了原理分析和实战体验
  7.8小时教学视频,300个经典实例,2个项目案例
  真正做到了从程序员的视角剖析PL/SQL的应用
  深入浅出地介绍PL/SQL在实际开发中的要点
  提供各种实际应用场景,将知识点快速应用于实际开发
  代码精炼,注释丰富,通过研读代码,便可获得大量经验

推荐本书姊妹篇与套装书(请点丛书链接查看)



其他数据库精品图书推荐阅读(请点丛书链接查看)


内容简介

  《Oracle PL/SQL从入门到精通》以面向应用为原则,深入浅出的介绍了oracle平台上使用pl/sql语言进行数据库开发的技术。通过大量的示例,详细介绍了pl/sql的语言特性、使用技巧,同时配以2个在实际工作中的示例来深入的剖析了pl/sql进行oracle开发的方方面面。
  《Oracle PL/SQL从入门到精通》附带1张dvd光盘,内容为作者为《Oracle PL/SQL从入门到精通》录制的全程语音教学视频及本书所涉及的源代码。
  《Oracle PL/SQL从入门到精通》共分为20章,分为5大篇。涵盖的内容主要有pl/sql语言基础、开发环境、变量与类型、控制语句、数据表的管理和查询、数据表的操纵、使用pl/sql的记录与集合、各种内置函数、游标、事务处理、异常处理、子程序、包、面向对象的开发等等技术点。通过示例性的代码,由浅入深,详细介绍了每一个技术要点在实际工作中的应用,对于各种技术要点的应用场合进行了细致的分析。
  《Oracle PL/SQL从入门到精通》适合于使用pl/sql进行应用程序开发的人员、对软件开发有兴趣的学生及爱好者;对数据库管理员、企业it运维人员也具有很强的指导作用。

  超值DVD光盘
  《Oracle PL/SQL从入门到精通》配套教学视频
  《Oracle PL/SQL从入门到精通》源代码
  15.5小时Oracle入门教学视频

作者简介

 丁士锋,2001年毕业于国防科技大学计算机学院。有多年的数据库软件开发与设计经验,深入理解数据库系统在企业信息化进程中的应用。多次主导与架构基于Oracle、SQL Server及IBM DB2等大型数据库系统的集团式信息管理系统建设。多次参与数据库平台的搭建与各种核心数据库程序代码的实现。著有《Oracle PL/SQL从入门到精通》、《《精通C# 5.0与.NET 4.5高级编程:LINQ、WCF、WPF和WF》、《网页制作与网站建设实战大全》等多本广受读者好评的计算机畅销图书。

内页插图

精彩书评

   丁士锋,2001年毕业于国防科技大学计算机学院。有多年的数据库软件开发与设计经验,深入理解数据库系统在企业信息化进程中的应用。多次主导与架构基于Oracle、SQL Server及IBM DB2等大型数据库系统的集团式信息管理系统建设。多次参与数据库平台的搭建与各种核心数据库程序代码的实现。著有《Oracle PL/SQL从入门到精通》、《《精通C# 5.0与.NET 4.5高级编程:LINQ、WCF、WPF和WF》、《网页制作与网站建设实战大全》等多本广受读者好评的计算机畅销图书。

目录

第1篇 pl/sql开发入门
第1章 oracle 11g数据库系统
1.1 关系型数据库系统介绍
1.1.1 什么是关系型数据模型
1.1.2 数据库系统范式
1.1.3 关系型数据库管理系统
1.1.4 使用sql语句与数据库管理系统通信
1.2 初识oracle 11g
1.2.1 oracle 11g简介
1.2.2 oracle 11g体系结构
1.2.3 如何创建数据库
1.2.4 比较oracle数据库与sql server数据库
1.3 什么是pl/sql
1.3.1 pl/sql是一种语言
1.3.2 pl/sql的执行环境
1.4 搭建pl/sql开发环境
1.4.1 使用sql*plus
1.4.2 使用oracle sql developer
1.4.3 pl/sql developer开发pl/sql
1.4.4 quest toad开发pl/sql
1.4.5 使用oracle文档库
1.5 小结
第2章 pl/sql基本概念
2.1 功能特点
2.1.1 结构化程序设计
2.1.2 与sql语言整合
2.1.3 面向对象开发
2.1.4 模块化应用程序开发
2.1.5 提高应用程序性能
2.2 语言特性
2.2.1 pl/sql块结构
2.2.2 变量和类型
2.2.3 程序控制语句
2.2.4 过程、函数与包
2.2.5 触发器
2.2.6 结构化异常处理
2.2.7 集合与记录
2.2.8 游标
2.2.9 动态sql
2.3 编码风格
2.3.1 pl/sql词法单位
2.3.2 缩进
2.3.3 标识符命名规则
2.3.4 大小写风格
2.3.5 使用工具格式化代码
2.4 小结
第3章 变量和类型
3.1 变量
3.1.1 变量的声明
3.1.2 变量的赋值
3.1.3 使用%type
3.1.4 使用%rowtype
3.1.5 变量的作用域和可见性
3.1.6 常量的定义
3.2 数据类型
3.2.1 字符类型
3.2.2 数字类型
3.2.3 日期和时间类型
3.2.4 布尔类型
3.2.5 lob对象类型
3.2.6 引用类型
3.2.7 复合类型
3.2.8 用户自定义子类型
3.2.9 数据类型转换
3.3 运算符和表达式
3.3.1 运算符类型
3.3.2 运算符的优先级
3.3.3 表达式类型
3.4 小结
第4章 pl/sql控制语句
4.1 分支控制语句
4.1.1 if-then-else语句
4.1.2 if-then-elsif语句
4.1.3 case语句
4.1.4 搜索case语句
4.2 循环控制语句
4.2.1 loop循环
4.2.2 使用exit退出循环
4.2.3 使用exit-when退出循环
4.2.4 使用continue继续执行循环
4.2.5 while-loop循环
4.2.6 for-loop循环
4.2.7 循环语句使用建议
4.3 顺序控制语句
4.3.1 goto语句和标签
4.3.2 null语句
4.4 小结

第2篇 pl/sql开发基础
第5章 管理数据表
5.1 创建表
5.1.1 数据定义语言ddl
5.1.2 create table语句
5.1.3 在设计器中创建表
5.1.4 创建表副本
5.2 创建约束
5.2.1 创建主键约束
5.2.2 创建外键约束
5.2.3 创建检查约束
5.2.4 查看表约束
5.3 修改表
5.3.1 修改表列
5.3.2 修改约束
5.3.3 移除数据表
5.3.4 在设计器中修改表
5.4 索引
5.4.1 索引简介
5.4.2 索引原理
5.4.3 创建索引
5.4.4 修改索引
5.4.5 删除索引
5.5 使用视图
5.5.1 视图简介
5.5.2 创建视图
5.5.3 修改视图
5.5.4 删除视图
5.6 小结
第6章 查询数据表
6.1 简单查询
6.1.1 查询表数据
6.1.2 指定查询条件
6.1.3 排序
6.1.4 使用函数
6.1.5 统计函数
6.1.6 分组统计
6.1.7 having子句
6.1.8 使用dual表
6.1.9 rownum伪列
6.1.10 rowid伪列
6.2 复杂查询
6.2.1 多表连接查询
6.2.2 使用子查询
6.2.3 表集合操作
6.2.4 层次化查询
6.3 小结
第7章 操纵数据表
7.1 插入记录
7.1.1 数据操纵语言dml
7.1.2 插入单行记录
7.1.3 插入默认值和null值
7.1.4 使用子查询插入多行数据
7.1.5 使用insert插入多表数据
7.2 更新记录
7.2.1 更新单行记录
7.2.2 使用子查询更新记录
7.2.3 使用merge合并表行
7.3 删除记录
7.3.1 删除单行记录
7.3.2 使用子查询删除记录
7.3.3 使用truncate清除表数据
7.4 提交和回滚记录
7.4.1 提交更改
7.4.2 回滚更改
7.5 使用序列
7.5.1 序列简介
7.5.2 创建数据序列
7.5.3 nextval和currval伪列
7.5.4 使用数据序列
7.5.5 修改序列
7.5.6 删除序列
7.6 同义词
7.6.1 同义词简介
7.6.2 创建和使用同义词
7.7 小结
第8章 记录与集合
8.1 记录类型
8.1.1 记录类型简介
8.1.2 定义记录类型
8.1.3 记录类型赋值
8.1.4 操纵记录类型
8.1.5 使用嵌套记录
8.2 理解集合类型
8.2.1 集合简介
8.2.2 定义索引表
8.2.3 操纵索引表
8.2.4 定义嵌套表
8.2.5 操纵嵌套表
8.2.6 数据库中的嵌套表
8.2.7 定义变长数组
8.2.8 操纵变长数组
8.2.9 数据库中的变长数组
8.2.10 选择集合类型
8.3 使用集合方法
8.3.1 使用exists方法
8.3.2 使用count方法
8.3.3 使用limit方法
8.3.4 first和last方法
8.3.5 prior和next方法
8.3.6 extend方法
8.3.7 trim方法
8.3.8 delete方法
8.3.9 集合的异常处理
8.3.10 使用批量绑定
8.3.11 使用bulk collect
8.4 小结
第9章 sql内置函数
9.1 基本函数
9.1.1 字符型函数
9.1.2 数字型函数
9.1.3 日期时间函数
9.1.4 类型转换函数
9.1.5 分组函数
9.1.6 其他函数
9.2 oracle分析函数
9.2.1 什么是分析函数
9.2.2 基本语法
9.2.3 分析函数结构
9.2.4 分析函数列表
9.3 分析函数使用示例
9.3.1 记录排名
9.3.2 首尾记录查询
9.3.3 前后排名查询
9.3.4 层次查询
9.3.5 范围统计查询
9.3.6 相邻记录比较
9.3.7 抑制重复
9.3.8 行列转换查询
9.3.9 在pl/sql中使用分析函数
9.4 小结
第10章 使用游标
10.1 游标基本结构
10.1.1 游标简介
10.1.2 游标分类
10.1.3 定义游标类型
10.1.4 打开游标
10.1.5 使用游标属性
10.1.6 提取游标数据
10.1.7 批量提取游标数据
10.1.7 关闭游标
10.2 操纵游标数据
10.2.1 loop循环
10.2.2 while循环
10.2.3 游标for循环
10.2.4 修改游标数据
10.3 游标变量
10.3.1 游标变量简介
10.3.2 声明游标变量类型
10.3.3 定义游标变量
10.3.4 打开游标变量
10.3.5 控制游标变量
10.3.7 处理游标变量异常
10.3.8 在包中使用游标变量
10.3.9 游标变量的限制
10.4 小结
第11章 事务处理和锁定
11.1 事务处理简介
11.1.1 什么是事务处理
11.1.2 使用commit提交事务
11.1.3 使用rollback回滚事务
11.1.4 使用savepoint保存点
11.1.5 使用set transaction设置事务属性
11.2 使用锁定
11.2.1 理解锁定
11.2.2 记录锁定
11.2.3 表锁定
11.2.4 使用lock table
11.3 小结
第12章 异常处理机制
12.1 理解异常处理
12.1.1 异常处理简介
12.1.2 异常处理语法
12.1.3 预定义异常
12.2 自定义异常
12.2.1 声明异常
12.2.2 作用域范围
12.2.3 使用exception_init
12.2.4 使用raise_application_error
12.2.5 抛出异常
12.2.6 处理异常
12.2.7 使用sqlcode和sqlerrm
12.3 异常的传递
12.3.1 执行时异常传递
12.3.2 声明时异常传递
12.3.3 异常处理器中的异常
12.3.4 重新抛出异常
12.3.5 异常处理准则
12.4 小结

第3篇 pl/sql进阶编程
第13章 pl/sql子程序
13.1 子程序结构
13.1.1 子程序简介
13.1.2 子程序的优点
13.1.3 创建过程
13.1.4 创建函数
13.1.5 return语句
13.1.6 查看和删除子程序
13.2 子程序参数
13.2.1 形参与实参
13.2.2 参数模式
13.2.3 形式参数的约束
13.2.4 参数传递方式
13.2.5 参数默认值
13.2.6 使用nocopy编译提示
13.3 子程序进阶技术
13.3.1 在sql中调用子程序
13.3.2 嵌套子程序
13.3.3 子程序的前向声明
13.3.4 重载子程序
13.3.5 子程序自治事务
13.3.6 递归调用子程序
13.3.7 理解子程序依赖性
13.3.8 子程序权限管理
13.4 小结
第14章 包
14.1 理解pl/sql包
14.1.1 什么是包
14.1.2 包的优点
14.1.3 定义包规范
14.1.4 定义包体
14.1.5 调用包组件
14.1.6 编译和调试包
14.1.7 查看包的源代码
14.2 包的进阶技术
14.2.1 包重载
14.2.2 包初始化
14.2.3 包的纯度级别
14.2.4 包权限设置
14.2.5 在包中使用游标
14.3 管理数据库中的包
14.3.1 查看和删除包
14.3.2 检查包的依赖性
14.4 使用系统包
14.4.1 使用dbms_output包
14.4.2 使用dbms_pipe包
14.4.3 使用dbms_alter包
14.4.4 使用dbms_job包
14.5 小结
第15章 触发器
15.1 理解触发器
15.1.1 触发器简介
15.1.2 定义触发器
15.1.3 触发器的分类
15.2 dml触发器
15.2.1 触发器的执行顺序
15.2.2 定义dml触发器
15.2.3 调试触发器
15.2.4 使用语句触发器
15.2.5 使用old和new谓词
15.2.6 使用referencing子句
15.2.7 使用when子句
15.2.8 使用条件谓词
15.2.9 控制触发顺序
15.2.10 触发器限制
15.2.11 使用自治事务
15.3 替代触发器
15.3.1 替代触发器的作用
15.3.2 定义替代触发器
15.3.3 update与delete替代触发器
15.3.4 嵌套表替代触发器
15.4 系统事件触发器
15.4.1 定义系统触发器
15.4.2 触发器事件列表
15.4.3 触发器属性列表
15.4.4 属性函数使用示例
15.4.5 定义servererror触发器
15.4.6 触发器的事务与约束
15.5 触发器的管理
15.5.1 查看触发器源代码
15.5.2 删除和禁用触发器
15.5.3 名称与权限的管理
15.6 小结
第16章 动态sql语句
16.1 理解动态sql语句
16.1.1 动态sql基础
16.1.2 动态sql使用时机
16.1.3 本地动态sql
16.2 使用execute immediate
16.2.1 execute immediate语法
16.2.2 执行sql语句和pl/sql语句块
16.2.3 使用绑定变量
16.2.4 使用returnning into子句
16.2.5 执行单行查询
16.2.6 指定参数模式
16.3 多行查询语句
16.3.1 使用open-for语句
16.3.2 使用fetch语句
16.3.3 关闭游标变量
16.4 使用批量绑定
16.4.1 批量execute immediate语法
16.4.2 使用批量fetch语句
16.4.3 使用批量forall语句
16.5 动态sql的使用建议
16.5.1 用绑定变量改善性能
16.5.2 使用重复占位符
16.5.3 使用调用者权限
16.5.4 传递null参数
16.5.5 动态sql异常处理
16.6 小结

第4篇 pl/sql高级编程
第17章 面向对象编程
17.1 对象基础
17.1.1 面向对象简介
17.1.2 什么是对象类型
17.1.3 pl/sql中对象的组成结构
17.2 定义对象类型
17.2.1 定义对象类型
17.2.2 定义对象体
17.2.3 定义属性
17.2.4 定义方法
17.2.5 使用self关键字
17.2.6 定义构造函数
17.2.7 定义map和order方法
17.2.8 使用对象类型
17.2.9 使用嵌套对象类型
17.2.10 对象继承
17.2.11 方法重载
17.3 管理对象表
17.3.1 定义对象表
17.3.2 插入对象表
17.3.3 检索对象表
17.3.4 更新对象表
17.3.5 删除对象表
17.3.6 创建对象列
17.3.7 使用对象视图
17.4 管理对象类型
17.4.1 查看对象类型
17.4.2 修改对象类型
17.5 小结
第18章 pl/sql性能优化建议
18.1 了解pl/sql程序性能
18.1.1 影响性能常见原因
18.1.2 使用dbms_profiler包
18.1.3 使用dbms_trace包
18.2 pl/sql性能优化技巧
18.2.1 理解查询执行计划
18.2.2 联接查询的表顺序
18.2.3 指定where条件顺序
18.2.4 避免使用*符号
18.2.5 使用decode函数
18.2.6 使用where而非having
18.2.7 使用union 而非or
18.2.8 使用exists而非in
18.2.9 避免低效的pl/sql流程控制语句
18.2.10 避免隐式类型的转换
18.3 小结

第5篇 pl/sql案例实战
第19章 企业ic芯片欠料计算程序
19.1 系统设计
19.1.1 程序需求简介
19.1.2 数据表er关系图
19.1.3 系统总体流程
19.1.4 示例环境的搭建
19.2 系统编码实现
19.2.1 创建包规范
19.2.2 初始化数据
19.2.3 获取ic需求量
19.2.4 ic物料检查函数
19.2.5 获取已走货ic数量
19.2.6 获取销售订单数量
19.2.7 计算企业ic需求量
19.2.8 预备下次计算数据
19.2.9 定义调用主程序
19.3 调试和部署应用程序
19.3.1 编译应用程序
19.3.2 调试应用程序
19.3.3 查看程序结果
19.3.4 部署到生产服务器
19.4 小结
第20章 pl/sql邮件发送程序
20.1 系统设计
20.1.1 程序需求简介
20.1.2 使用utl_ smtp发送电子邮件
20.1.3 系统总体流程
20.1.4 示例环境的搭建
20.2 系统编码实现
20.2.1 认识mime类型
20.2.2 实现mime类型邮件发送
20.2.3 定义包规范
20.2.4 邮件初始化函数xm_init
20.2.5 发送并关闭连接xm_close
20.2.6 发送html邮件
20.2.7 发送邮件附件
20.2.8 发送excel附件内容
20.2.9 写入工作薄wb_header
20.2.10 写入工作表xm_worksheet
20.2.11 写入表格行xm_ws_row
20.2.12 写入工作表尾信息
20.2.13 执行sql语句写入工作表
20.3 编译和部署应用程序
20.3.1 编译与调试应用程序
20.3.2 验证测试结果
20.3.3 部署到生产服务器
20.4 小结

精彩书摘

  第1章Oracle11g数据库系统

  Oracle数据库系统是世界领先的数据库管理系统,Oracle数据库以其功能强大和配置灵活而著称,同时也因有一定的操作难度,让很多初学者望而却步。本书将由浅入深,以简单易懂的示例带领读者拨开Oracle的神秘面纱。

  目前在Oracle世界主要有两类人员:一类是Oracle数据库管理人员,简称DBA;一类是Oracle开发人员。OracleDBA主要的工作是负责日常的数据库维护和性能优化管理。由于Oracle系统较庞大、复杂,要成为一名合格的DBA,需要掌握的知识较多,比如要掌握Oracle体系结构和性能优化等方面的知识,相对其他数据库而言入门门槛较高,但是薪酬一般也较丰厚。Oracle开发人员的主要工作是使用Oracle提供的SQL语言和PL/SQL结构化程序设计语言操作数据库,主要职责是操纵Oracle数据库对象,不需要对Oracle系统结构有深入了解,入门较容易。当Oracle开发人员积累了一定的开发知识后,可以通过学习OracleDBA方面的知识向数据库管理员转型。

  1.1关系型数据库系统介绍

  1970年6月,IBM公司的研究员E.F.Codd博士(中文名:埃德加·弗兰克·科德),发表了名为“大型共享数据库的关系模型”的论文,受到了学术界和产业界的高度重视和广泛响应,使得关系型数据库系统很快成为数据库市场的主流。E.F.Codd博士被誉为“关系数据库之父”,其照片如图1.1所示。

  图1.1关系数据库之父埃德加·弗兰克·科德

  1.1.1什么是关系型数据模型

  关系型数据库简而言之就是使用关系或二维表存储信息。以公司的人员信息管理为例,为了存储公司内部的员工信息,人事部门一般会建一份列表,在公司未引入信息化管理系统时,大多数人事职员会使用Excel来保存员工信息,例如图1.2是一份简单的人员信息列表的Excel文件。

  这种Excel存储数据的方式,将人员的所有信息都包含在一张表中,随着Excel中的栏位和记录数越来越多,这份人员信息表会变得越来越繁杂,这种存储数据的方式称为平面文件数据模型。

  为了简化修改与维护的复杂性,关系型数据库设计人员通过使用实体关系模型进行数据库建模,例如人员信息表可以分为员工表和部门表,通过部门编号进行关联,ER模型如图1.3所示。

  图1.2Excel人员信息列表图1.3人员信息表ER关系模型

  由图1.3中可以看到,通过将员工和部门分别存储在不同的二维表格中,使用主键(PK)和外键(FK)进行关联,使得获取和维护数据变得更容易,这就是关系型数据模型。上述ER图的3个关键组件分别如下所示。

  *实体:需要了解的信息,比如部门和员工信息。

  *属性:一般也称为列或字段,描述实体必须或可选的信息,比如员工表中的工号和姓名等。

  *关系:实体之间指定的关联,比如员工的部门编号关联到了部门表的编号属性。

  关系型数据模型还涉及一些较复杂的组成元素,涉及较多的数学知识,有兴趣的读者可以参考一些理论性的读物。

  1.1.2数据库系统范式

  为了规范化关系型数据模型,关系型数据库系统在设计时必须遵循一定的规则,这种规则称为关系型数据库系统范式。了解范式是每个数据库设计或开发人员必须具备的基本功,范式的主要目的是降低数据冗余,设计结构合理的数据库。目前较常用的范式有如下3种。

  1.第一范式(1NF):字段必须具有单一属性特性,不可再拆分

  如果字段中的值已经是无法再分割的值,则符合第一范式,即1NF。例如,在员工表中,姓名字段一般仅包含员工的正式姓名,这是符合第一范式的,但是如果要在姓名字段中包含中文名、英文名、昵称、别名等信息,就意味着姓名字段是可再拆分的。因此员工名的设计可以如图1.4所示。

  图1.4修改后的员工表以匹配1NF范式

  2.第二范式(2NF):表要具有唯一性的主键列

  第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分,为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。第二范式是在第一范式的基础上的进一步增强,在数据库设计时一般使用唯一性主键来唯一地标识行。比如在员工表中定义了以工号作为主键,因为公司员工的工号通常用来识别某个员工个体,不能进行重复;在部门表中通过部门编号作为主键,来唯一地区分一个部门。

  3.第三范式(3NF):表中的字段不能包含在其他表中已出现的非主键字段

  第三范式(3NF)是在前两个范式的基础上的进一步增强,主要用来降低数据的冗余。比如,员工表中包含了部门编号,它引用到部门表中的部门编号这个主键,符合第三范式。如果在员工表中又包含一个部门名称,那么表中的字段就包含了其他表中已出现的非主键字段,造成了数据的冗余,不符合第三范式。

  范式主要用来规范数据库的设计,使得设计出来的数据库结构清晰,简洁易懂,避免了数据冗余和操作的异常。在设计数据库模型时,灵活地应用范式是创建一个优秀的数据库系统的基石。

  1.1.3关系型数据库管理系统

  关系型数据库管理系统,简称DBMS,是基于关系型数据库理论而开发的软件系统。目前比较热门的关系型数据管理系统有:Oracle、MicrosoftSQLServer、Access、MySQL及PostgreSQL等。数据库管理系统是用于建立、使用和维护数据库,对数据库进行统一的管理和控制,保证数据库的安全性和完整性的一套大型的电脑程序。数据库管理系统功能结构示意图如图1.5所示。

  图1.5数据库管理系统功能结构示意图

  如图1.5所示,一个数据库管理系统通常要提供如下所示的几项功能。

  *定义数据库结构:DBMS提供数据定义语言来定义(DDL)数据库结构,用来搭建数据库框架,并被保存在数据字典中。

  *存取数据库内容:DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作,即检索、插入、修改和删除等。

  *数据库的运行管理:DBMS提供数据控制功能,即数据的安全性、完整性和并发控制等,对数据库运行进行有效的控制和管理,以确保数据正确有效。

  *数据库的建立和维护:包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。

  *数据库的传输:DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。

  有了关系型数据库管理系统,开发人员就可以在数据库中创建数据库、创建表、存取数据库内容、对数据库进行备份和管理,只需要理解常用的系统相关的操作,而不用去研究关系型数据库系统内部深奥难懂的数据方面的理论知识。

  1.1.4使用SQL语句与数据库管理系统通信

  关系型数据库管理系统提供了SQL语言,允许用户操纵数据库。SQL语言的全称是结构化查询语言(StructuredQueryLanguage),它是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式,其操作示意图如图1.6所示。

  尽管SQL语言已经被ISO组织定义了具有国际标准的SQL规范,但是各种数据库系统厂商在其数据库管理系统中都对SQL规范做了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用,目前比较流行的两大类SQL语言分别是微软的T-SQL和Oracle的PL/SQL,这两类SQL既有相似之处又有不同之处。

  图1.6使用SQL操作数据库管理系统

  SQL语言主要又分为如下两大类。

  *DML数据操纵语言,主要是完成数据的增、删、改和查询的操作。

  *DDL数据定义语言,主要用来创建或修改表、视图、存储过程及用户等。

  除此之外,还包含称为DCL的数据控制语言。数据库管理员,即DBA,通常使用DDL来管理数据库的对象,而数据操纵语言DML则主要由数据库开发人员使用来操纵数据。

  举个例子,如果想要在数据库中创建如图1.4所示的关系模型,可以使用代码1.1的DDL语句来实现。

  代码1.1使用DDL语句创建列和键

  --创建员工表

  CREATETABLE员工表

  (--定义员工表列

  工号INTNOTNULL,

  中文姓名NVARCHAR2(20)NOTNULL,

  英文姓名VARCHAR2(20)NULL,

  别名VARCHAR2(20)NULL,

  年龄INTDEFAULT18,

  入职日期DATENULL,

  部门编号INTNULL,

  --定义员工表主键

  CONSTRAINTPK_员工表PRIMARYKEY(工号)

  ……

前言/序言

  为什么要写这本书

  随着计算机信息技术的飞速发展,数据存储已经成为很多公司越来越重视的问题。Oracle公司的数据库管理软件以其稳定、高效和灵活性,一直是各大企事业单位后台存储的首选。Oracle系统本身的复杂性,使得很多刚入门的开发人员不知从何入手,尽管Oracle公司提供了大量的文档,但是这些文档大多为英文版本,每个文档都偏重于某一技术细节,没有提供系统的、适合我国程序员思维的学习材料。

  目前在市面上关于PL/SQL的图书并不是很多,特别是由国内程序员经验总结的图书更是寥寥无几。本书作者站在一线开发人员的视角,通过简洁轻松的文字,简短精练的示例代码,以力求让不同层次的开发人员尽快掌握Oracle数据库开发为主旨编写了本书,同时在本书最后还提供了两个实战项目,让开发人员能够通过项目学习PL/SQL开发,提高实际开发水平和项目实战能力。

  本书有何特色

  1.附带多媒体语音教学视频,提高学习效率

  为了便于读者理解本书内容,提高学习效率,作者专门为每一章内容都录制了大量的多媒体语音教学视频。这些视频和本书涉及的源代码一起收录于配书光盘中。

  2.涵盖PL/SQL语言的各种技术细节,提供系统化的学习思路

  本书涵盖了PL/SQL语言在实际项目中需要重点掌握的所有方面,包含语言基础、开发环境、常量和变量的定义、基本的控制结构、基本的SQL操作知识(比如查询、插入、修改和删除)、记录和集合、游标、SQL的内置函数、事务处理、异常处理机制、子程序、包、触发器、面向对象的开发及动态SQL语句等知识点。

  3.对PL/SQL开发的各种技术做了原理分析和实战体验

  全书使用简洁质朴的文字,配以大量的插图,将一些难以理解的原理部分进行了重点剖析,让读者不仅知晓实现的原理,通过图形化的展现方式,更能加强对原理的理解,同时配以大量的示例对技术要点在实际工作中的应用进行了详解,让读者能尽快上手。

  4.应用驱动,实用性强

  对于每段示例代码,都进行了仔细的锤炼,提供了各种实际应用的场景,力求让应用开发人员将这些知识点尽快应用到实际的开发过程中。

  5.项目案例典型,实战性强,有较高的应用价值

  本书最后一篇提供了两个项目实战案例。这些案例来源于作者所开发的实际项目,具有很高的应用价值和参考性。而且这些案例分别使用不同的PL/SQL技术实现,便于读者融会贯通地理解本书中所介绍的技术。这些案例稍加修改,便可用于实际项目开发中。

  6.提供完善的技术支持和售后服务

  读者在阅读本书过程中有任何疑问都可以通过该邮箱获得帮助。

  本书内容及知识体系

  第1篇PL/SQL开发入门(第1~4章)

  本篇介绍了Oracle的组成架构和PL/SQL开发的基础知识。主要包括Oracle体系结构、PL/SQL开发环境、PL/SQL的总体概览、常量和变量的定义,以及基本的PL/SQL控制结构。

  第2篇PL/SQL开发基础(第5~12章)

  本篇是PL/SQL进行实际开发时必备的基础知识,包含使用OracleSQL语句对数据表的查询、操纵;各种Oracle数据库对象的管理,比如同义词和序列等;同时对PL/SQL的记录与集合、各种SQL内置函数、游标、事务处理、锁定以及PL/SQL异常处理机制进行了详细的介绍。

  第3篇PL/SQL进阶编程(第13~16章)

  本篇讨论了PL/SQL模块化编程相关的子程序、包、触发器的使用,这部分是实际工作中需要努力巩固的知识点,同时介绍了本地动态SQL技术的使用。这一篇的知识点是每个PL/SQL程序员必备的技能,在介绍形式上通过辅以大量与实际场景相结合的代码,提升开发人员的实战经验。

  第4篇PL/SQL高级编程(第17~18章)

  本篇的内容针对已经熟练掌握了前面几篇的内容的开发人员,在具有了一定的PL/SQL开发经验后,可以通过本篇的内容学习使用面向对象的思维来开发PL/SQL应用程序,同时对于PL/SQL开发过程中的一些性能优化的注意事项进行了示例详解(提升开发人员的实战经验)。

  第5篇PL/SQL案例实战(第19~20章)

  本篇通过两个实际的项目案例,从需求分析、数据库表的设计、系统的总体规划开始,到包规范的定义、包体的具体实现,详细剖析一个PL/SQL的实现生命周期,通过对这两个案例的一步一步深入体验,能让开发人员立即上手开始进行PL/SQL项目的开发。同时对这两个案例稍加修改,就能应用到实际的项目开发中。

  配书光盘内容介绍

  为了方便读者阅读本书,本书附带1张DVD光盘,内容如下。

  *本书所有实例的源代码;

  *本书每章内容的多媒体语音教学视频;

  *免费赠送的Oracle入门教学视频。

  适合阅读本书的读者

  *需要全面学习OraclePL/SQL开发技术的人员;

  *数据库开发程序员;

  *应用程序开发人员;

  *Oracle数据库管理人员;

  *希望提高项目开发水平的人员;

  *专业培训机构的学员;

  *软件开发项目经理;

  *需要一本PL/SQL案头必备查询手册的人员。

  阅读本书的建议

  *没有OraclePL/SQL基础的读者,建议从第1章顺次阅读并演练每一个示例。

  *有一定OraclePL/SQL基础的读者,可以根据实际情况有重点地选择阅读各个技术要点。

  *对于每一个知识点和项目案例,先通读一遍有个大概印象,然后对于每个知识点的示例代码都在开发环境中操作一遍,加深对知识点的印象。

  *结合光盘中提供的多媒体教学视频再理解一遍,这样理解起来就更加容易,也会更加深刻。

  笔者写作本书虽然耗费了大量精力,力争消灭错误,但恐百密难免一疏。

  编著者


Oracle PL/SQL 从入门到精通(附DVD-ROM光盘1张) 内容简介 本书是一本全面、深入且实践性极强的Oracle PL/SQL开发指南,专为希望掌握Oracle数据库高级开发技能的开发者、数据库管理员以及IT专业人士量身打造。从基础概念的讲解到复杂功能的实现,本书层层递进,力求让读者在最短的时间内,以最扎实的步伐,实现从PL/SQL初学者到精通者的蜕变。随书附赠的DVD-ROM光盘,包含了大量的示例代码、练习题、配套工具以及视频教程,为您的学习之路提供全方位的支持。 目标读者 初学者: 对PL/SQL完全陌生,希望系统学习数据库编程基础,并能够独立完成SQL语句无法实现的复杂业务逻辑。 有一定SQL基础的开发者: 熟悉SQL语句,希望进一步提升数据库开发能力,能够编写高效、可维护的存储过程、函数、触发器和包。 数据库管理员(DBA): 希望深入理解PL/SQL在数据库管理、性能优化、自动化任务等方面的应用。 项目经理与技术主管: 希望了解PL/SQL技术栈,以便更好地进行项目规划、技术选型和团队指导。 即将从事Oracle开发相关工作的人员: 需要快速掌握核心技能,为求职和实际工作做好准备。 本书特色 1. 循序渐进,体系完整: 本书结构清晰,从PL/SQL的基本语法、数据类型、变量声明等最基础的知识点入手,逐步深入到控制结构、异常处理、游标、过程、函数、触发器、包、事务控制、面向对象特性,直至高级主题如性能优化、自治事务、UTL_FILE、DBMS_SCHEDULER等。每一个章节都建立在前一章的基础上,确保学习的连贯性和系统性。 2. 案例驱动,实战为王: 本书拒绝枯燥的理论堆砌,而是通过大量贴近实际项目需求的案例来讲解知识点。从简单的“Hello World”到复杂的报表生成、数据迁移、权限管理等,每一个案例都经过精心设计,力求简洁明了,易于理解和模仿。读者可以通过模仿和修改这些案例,快速掌握PL/SQL的实际应用。 3. 强调优化,提升性能: 在数据库开发领域,性能是永恒的追求。本书在讲解各项技术的同时,始终贯穿性能优化的思想。从SQL语句的优化、游标的使用技巧、避免不必要的上下文切换,到如何利用索引、分区、物化视图等数据库特性,再到PL/SQL自身的性能调优手段,本书都提供了详细的指导和实用的建议,帮助您写出高效、可扩展的PL/SQL代码。 4. 深入讲解,触及本质: 本书不仅讲解“如何做”,更注重讲解“为什么这么做”。对于PL/SQL的底层原理、工作机制,如PL/SQL引擎的工作方式、SQL和PL/SQL的交互、内存管理等,都有深入的探讨,帮助读者从根本上理解PL/SQL,从而能够更灵活地解决问题,并避免常见的陷阱。 5. 配套光盘,学习无忧: 随书附赠的DVD-ROM光盘是本书的一大亮点。光盘中包含了: 所有书中示例代码: 方便读者直接运行、测试和修改。 大量的练习题及答案: 覆盖各个章节的知识点,帮助读者巩固所学,检验学习效果。 开发工具推荐与使用指南: 介绍常用的PL/SQL开发工具,如SQL Developer、Toad等,并提供简要的使用教程。 精选视频教程: 针对部分关键章节或难点,提供视频讲解,以更直观、生动的方式帮助读者理解。 常用PL/SQL函数与语法速查表: 方便读者快速查阅和使用。 6. 最新版本支持: 本书内容涵盖了Oracle数据库最新的PL/SQL特性,确保读者学习到的是当前最实用、最高效的技术。 本书结构预览 第一部分:PL/SQL基础入门 第一章:PL/SQL概述与开发环境搭建 PL/SQL简介:为什么需要PL/SQL? Oracle数据库架构回顾(与PL/SQL的关系) PL/SQL的组成部分:过程化语言、SQL、控制结构 开发环境的搭建与选择:SQLPlus、SQL Developer、Toad等 第一个PL/SQL块:Hello World 第二章:PL/SQL基本语法与数据类型 PL/SQL块的结构:DECLARE, BEGIN, EXCEPTION, END 注释的使用 标识符的命名规则 PL/SQL变量的声明与赋值 常用数据类型:NUMBER, VARCHAR2, DATE, BOOLEAN, CHAR, CLOB, BLOB 复合数据类型:记录(RECORD)与表类型(TABLE TYPE) 常量与变量的比较 第三章:PL/SQL的控制结构 条件判断:IF-THEN, IF-THEN-ELSE, IF-THEN-ELSIF-ELSE CASE语句:简单CASE和搜索CASE 循环结构:LOOP-END LOOP, WHILE LOOP, FOR LOOP EXIT语句与CONTINUE语句 GOTO语句(谨慎使用) 第二部分:PL/SQL核心组件与高级特性 第四章:游标(Cursor)详解 游标的概念与作用 显式游标的声明、打开、读取、关闭 游标属性:%FOUND, %NOTFOUND, %ROWCOUNT, %ISOPEN 隐式游标 带参数的游标 FOR循环游标(隐式游标的简洁应用) 游标的WHERE子句过滤 第五章:异常处理(Exception Handling) 异常的概念:预定义异常与用户定义异常 异常的捕获与处理:EXCEPTION块 RAISE语句:手动抛出异常 用户定义异常的声明与使用 异常传播机制 如何编写健壮的异常处理程序 第六章:存储过程(Stored Procedures) 存储过程的概念与优势 创建存储过程:CREATE PROCEDURE语句 IN, OUT, IN OUT参数详解 执行存储过程 修改与删除存储过程 存储过程的权限管理 第七章:函数(Functions) 函数的概念与用途 创建函数:CREATE FUNCTION语句 函数的返回值 函数与存储过程的区别 函数在SQL语句中的应用 纯函数与非纯函数 第八章:触发器(Triggers) 触发器的概念与应用场景:数据完整性、审计、复杂业务逻辑 触发器的类型:BEFORE, AFTER, INSTEAD OF 触发器的事件:INSERT, UPDATE, DELETE 行级触发器与语句级触发器 创建、修改与删除触发器 触发器中的旧值和新值(:OLD, :NEW) 触发器级联与递归触发器 第九章:包(Packages) 包的概念与优势:封装、重用、性能提升 包规范(Package Specification):定义公有部分 包体(Package Body):实现公有部分和私有部分 创建、修改与删除包 包的变量、常量、游标、过程、函数 包的初始化 包的继承与多态(简单介绍) 第三部分:PL/SQL高级应用与性能优化 第十章:PL/SQL中的事务控制 事务的概念:ACID特性 COMMIT, ROLLBACK, SAVEPOINT 事务的边界 在PL/SQL中管理事务 自治事务(Autonomous Transactions)的应用 第十一章:PL/SQL面向对象特性 对象类型(Object Types) 创建对象类型 对象类型的方法 嵌套表(Nested Tables)与VARRAYs 对象表(Object Tables) 对象类型在PL/SQL中的应用 第十二章:PL/SQL性能优化实战 PL/SQL性能分析工具:DBMS_PROFILER, SQL Trace, TKPROF SQL与PL/SQL的交互优化:减少上下文切换 批量操作(Bulk Operations):BULK COLLECT, FORALL 游标的优化技巧 避免函数在WHERE子句中调用 使用索引的技巧 缓存机制的应用 PL/SQL中的并发控制 第十三章:PL/SQL实用工具与扩展 UTL_FILE包:文件读写操作 DBMS_OUTPUT包:输出调试信息 DBMS_JOB与DBMS_SCHEDULER:任务调度 DBMS_AQ:高级队列(Advanced Queuing)简介 XML与JSON在PL/SQL中的处理 调用外部程序(External Procedures)简介 第十四章:PL/SQL开发最佳实践 代码风格与可读性 错误处理与日志记录 模块化设计 性能监控与维护 版本控制与部署 附录 常用PL/SQL函数速查 SQL Developer使用指南 Toad使用指南 光盘内容说明 结语 通过本书的学习,您将不仅能够熟练掌握Oracle PL/SQL的各项语法和特性,更能深刻理解其设计理念和工作原理,从而写出高效、健壮、可维护的数据库应用程序。本书的理论深度与实践广度兼顾,力求为您的Oracle PL/SQL开发之路打下坚实的基础,助您在数据驱动的世界中游刃有余。随书光盘提供的丰富学习资源,将进一步加速您的学习进程,让您真正实现从入门到精通的目标。

用户评价

评分

坦白说,我曾经觉得PL/SQL只是数据库开发中的一个“辅助工具”,直到我认真阅读了这本《Oracle PL/SQL从入门到精通》。这本书彻底改变了我的看法。它不仅仅是一本技术手册,更像是一本“武功秘籍”。作者通过生动形象的比喻和由浅入深的讲解,将PL/SQL的各种“招式”演绎得淋漓尽致。我最喜欢的是它关于“递归”和“集合”的处理部分,这些在其他书中很少会深入讲解,但在这本书里却讲得非常透彻,并且给出了非常实用的应用场景。书中还包含了很多“冷门”但却非常有效的技巧,比如如何利用一些隐藏的特性来提高代码的可读性和性能,这对于有经验的开发者来说,无疑是宝贵的财富。而且,书中的案例设计得非常巧妙,能够激发读者的思考,让我不仅仅是跟着抄写代码,而是真正理解代码背后的逻辑。这本书让我感觉自己掌握了一种全新的编程思维,能够用PL/SQL解决更复杂、更具挑战性的问题。

评分

我是一名刚刚接触Oracle数据库不久的新手,之前在学校学的都是一些理论知识,对于PL/SQL这块应用层面的东西一直感到非常头疼。朋友推荐了这本《Oracle PL/SQL从入门到精通》,抱着试试看的心态入手了,结果真的没让我失望!这本书完全是为我这种小白量身定做的。它从最最基础的概念讲起,比如什么是PL/SQL、它的作用是什么,然后一点点引出变量、数据类型、流程控制语句等等,讲解得非常细致,甚至连一些非常基础的操作都讲得很透彻,让我这种零基础的人也能理解。最重要的是,它不仅仅是讲理论,还配有大量的练习题和实操指导,我跟着书本一步步操作,感觉自己真的在学习和进步。我特别喜欢书中关于错误处理和调试的部分,这在我以往的经验中一直是比较模糊的概念,但这本书把它讲得明明白白,让我以后遇到问题不再束手无策。而且,书的排版也很舒服,字体大小适中,看起来不费眼。总而言之,这本书让我觉得PL/SQL不再是遥不可及的技能,而是我可以通过努力掌握的利器。

评分

一直以来,我都在寻找一本能够全面系统地讲解Oracle PL/SQL的书籍,因为工作中经常需要处理大量的数据,而PL/SQL无疑是最高效的工具之一。收到《Oracle PL/SQL从入门到精通》这本书后,我迫不及待地翻阅起来。它的内容编排非常科学,从最基础的SQL基础知识回顾,到PL/SQL块的结构,再到各种控制结构、异常处理、游标等等,层层递进,逻辑清晰。我特别喜欢书中关于“最佳实践”的章节,它不仅仅告诉我们怎么做,更告诉我们为什么这样做,以及这样做的好处,这对于培养良好的编程习惯至关重要。书中的图示和表格也非常多,有效地辅助了文字的讲解,让我更容易理解抽象的概念。而且,这本书还探讨了面向对象编程在PL/SQL中的应用,以及如何与其他Oracle特性(如Java Stored Procedures)进行集成,这对于我拓展技术视野非常有益。整体感觉这本书内容丰富、讲解透彻,真正做到了“从入门到精通”的承诺,能够帮助不同层次的读者提升PL/SQL技能。

评分

这本书简直是我的福音!作为一个在数据库领域摸爬滚打多年的老兵,我一直觉得PL/SQL这块啃起来有些硬,但又不得不重视。之前也零零散散看过一些资料,总感觉不成体系,学起来断断续续的。这次拿到这本《Oracle PL/SQL从入门到精通》,真的有种醍醐灌顶的感觉。首先,它的结构设计非常合理,从最基础的语法概念开始,一步步深入到更复杂的存储过程、函数、触发器等,每个章节都像一座精心搭建的阶梯,让我能够稳稳地往上爬。最让我惊喜的是,它不仅仅是罗列知识点,而是通过大量的实际案例来讲解,这些案例贴近实际工作场景,让我能够立刻理解知识点在实际中的应用。书中的代码示例清晰明了,注释也写得非常到位,即使是初学者也能轻松跟上。而且,它的讲解风格非常幽默风趣,不像很多技术书籍那样枯燥乏味,读起来一点都不会觉得累。我还特别喜欢它关于性能调优的部分,这对我来说是最大的痛点,书中给出的建议和技巧都非常实用,可以直接应用到我的工作中去。这本书真的让我对PL/SQL的理解达到了一个新的高度,感觉自己终于抓住了问题的核心。

评分

作为一名资深的Oracle DBA,平时工作中经常会遇到一些复杂的存储过程和函数需要维护,有时甚至需要自己编写。市面上关于PL/SQL的书籍不少,但真正能够深入浅出,又兼顾实战的却不多。这本《Oracle PL/SQL从入门到精通》着实让我眼前一亮。它并没有局限于基础语法的讲解,而是花了很多篇幅来探讨高级特性,比如索引、分区、RAC环境下的PL/SQL开发注意事项,以及一些不常见的但非常有用的技巧。书中的案例也相当有代表性,涵盖了数据仓库、ETL、性能优化等多个领域,能让我迅速将书中的知识与实际工作场景对接。我尤其欣赏作者在讲解复杂概念时,能够用非常形象的比喻和清晰的逻辑来解释,使得那些看似晦涩难懂的原理变得豁然开朗。而且,书中还包含了对Oracle新版本的一些特性进行了解析,这对于我们保持技术前沿非常有帮助。总的来说,这本书不仅能帮助开发者巩固基础,更能提供许多进阶的思路和解决方案,是提高PL/SQL开发效率和质量的绝佳参考。

评分

超级喜欢这本书,希望我能好好看看

评分

还没看完,就目前来看讲的还是比较详细的。

评分

确实不错,。。。。

评分

不错,还有光碟。

评分

提高技能的很好选择,选京东,靠谱!

评分

京东的书一如既往的好,刚好有活动,就买了,确实不错,值得一读!

评分

有错字,纸质凑合,前后的名词不统一。

评分

里面讲oracle的基础sql的章节有点多啊,不过华为外包这边几乎人手一本。物有所值。京东快递一如既往的迅速,下单第二天必到,非常棒!

评分

抢了200-100的券,物美价廉,值得推荐

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有