前言
过去我一直在开发Oracle软件,并与其他Oracle开发人员一同工作,帮助他们构建可靠、健壮的应用程序。在这个过程中积累了一些经验,这是这些经验赋予我灵感,才有了本书中的内容。这本书实际上反映了我每天做了些什么,汇集了我所看到的人们每天遇到的问题。
本书涵盖了我认为最重要的一些内容,即Oracle数据库及其体系结构。我也可以写一本书名类似的其他方面的书,向你解释如何用一种特定的语言和体系结构开发应用程序。例如,我可以告诉你如何使用JavaServer Pages(JSP)与Enterprise JavaBeans(EJB)通信,EJB再如何使用JDBC与Oracle通信。不过,归根到底,你最后还是要了解Oracle数据库及其体系结构(本书介绍的内容),才能成功地构建这样一个应用程序。要想成功地使用Oracle进行开发,我认为有些内容你必须了解,而不论你是一位使用ODBC的Visual Basic程序员、使用EJB和JDBC的Java程序员,还是使用DBI Perl的Perl程序员,这本书都会介绍这些通用的知识。本书并不推崇哪一种特定的应用体系结构,在此没有比较三层机构和客户/服务器结构孰优孰劣。我们只是讨论了数据库能做什么,另外关于数据库如何工作,我们还会指出你必须了解哪些内容。由于数据库是所有应用体系结构的核心,所以这本书使用面很广。
在编写本书时,我对Expert One-on-One Oracle一书中关于体系结构的章节做了全面修订和更新,并补充了大量新的内容。Expert One-on-One Oracle一书所基于的版本是Oracle 8.1.7,在此之后又推出了3个版本——两个Oracle9i版本和Oracle数据库10g Release 1,这也是写这本书时的Oracle发行版本。因此,有许多新的功能和新的特性需要介绍。
如果针对9i和10g更新Expert One-on-One Oracle,那么需要补充的内容太多了,那本书原本篇幅较多,再加太多内容就会很难处理。出于这个考虑,我们决定分两本书来介绍。这是其中的第一本,第二本书暂定名为Expert Oracle Programming。
顾名思义,本书的重点是数据库体系结构,并强调数据库本身如何工作。我会深入地分析Oracle数据库体系结构,包括文件、内存结构以及构成Oracle数据库(database)和实例(instance)的底层进程。然后讨论一些重要的数据库主题,如锁定、并发控制、事务、redo和undo,还会解释为什么了解这些内容很重要。最后,我们再来分析数据库这的物理结构,如表、索引和数据类型,并介绍哪些技术能最优地使用这些物理结构。
读者对象
这本书面向那些使用Oracle作为数据库后端开发应用程序的人员。专业Oracle开发人员如果想了解如何在数据库中完成某些工作,同样可以参考本书。本书相当实用,所以DBA也会对书中的许多内容感兴趣。书中大部分例子都使用SQL*Plus来展示关键特性,所以如果你想通过本书来了解如何开发一个很酷的GUI,可能不能如愿。不过,从这本书中,你将知道Oracle数据库如何工作,它的关键特性能做什么,以及什么时候应该(和不应该)使用这些特性。
如果你想事半功倍地使用Oracle,如果你想了解使用现有特性的新方法,如果你想知道这些特性在真实世界中如何应用(不只是展示如何使用特性,而是首先分析为什么要用这个特性),就请阅读这本书。作为技术经理,如果你手下的开发人员在开发Oracle项目,你可能也会对这本书感兴趣。从某种程度上讲,技术经理也要懂数据库,而且要知道这对于成功至关重要。如果技术经理想安排员工进行适当的技术培训,或者想确保员工了解他们应该掌握的技术,就可以利用这本书来“充电”。
要想更好地学习本书的内容,要求读者:
- 了解SQL。不要求你能编写很棒的SQL代码,但是如果用过SQL,对SQL有实战经验,这会很有帮助。
- 掌握PL/SQL。这不是一个必要的前提,但是有助于你“领会”书中的例子。例如,本书不会教你这样编写一个FOR循环,或者如何声明一个记录类型,这些内容可以参考Oracle文档和许多相关的图书。不过,这并不是说你从本书中学不到PL/SQL的知识。不是这样的。通过阅读本书,你会PL/SQL的许多特性相当熟悉,而且会学到一些新方法,还会注意到你以前以为不存在的一些包和特性。
- 接触过某种第三代语言(third-generation language, 3GL),如C或Java。我相信,如果你能阅读3GL语言编写的代码,或者编写过这种代码,肯定能顺利地阅读和理解本书中的例子。
- 熟悉Oracle Concepts手册。
最后再说两句,由于Oracle文档实在太庞大了,这让很多人有些畏惧。如果你刚开始读Oracle Concepts手册,或者还没有看过,那我可以告诉你,这个手册绝对是一个很好的起点。它大约有700页,涉及了你需要知道的许多重要的Oracle概念。其中不会涵盖每一个技术细节(Oracle文档提供了技术细节,不过它有10,000~20,000页之多),但你能从中学到所有重要的概念。
这个手册涉及以下主题(这里所列的并不完整):
- 数据库中的结构,数据如何组织和存储;
-
分布式处理;
-
Oracle的内存体系结构;
- Oracle的进程体系结构;
-
你要使用的模式对象(表、索引、聚簇等);
- 内置数据类型和用户定义的数据类型;
- SQL存储过程;
-
事务如何工作;
- 优化器;
- 数据完整性;
- 并发控制。
我自己也会时不时地温习这些内容。这些都是基础,如果不了解这些知识,你创建的Oracle应用程序就很容易失败。建议你通读Oracle Concepts手册来了解这些主题。
本书组织结构
为了帮助你更好地使用这本书,大部分章节都组织为4个部分。这个划分并不严格,不过有助于你快速地找到感兴趣的方面,从中获得所需的更多信息。本书有15章,每一章都像一本“迷你书”,可以单独成册。有时我会引用其他章中的例子或特性,不过你完全可以从书中任选一章,不参考其他章也能顺利阅读。例如,要理解或使用第14章关于并行机制的知识,就不必阅读介绍数据库表的第10章。
许多章的格式和风格基本上都一样:
- 首先是特性和功能的介绍。
- 说明为什么可能想使用(或者不想使用)这个特性或功能。我会概要地指出哪些情况想要考虑使用这个特性,而哪些情况下这个特性不适用。
- 如何使用这个特性。这里提供的信息不是完全照搬SQL参考资料中的内容,而是会以一种循序渐进的方式组织。我会清楚地指出哪些是你需要的,哪些是你必须做的,另外哪些环节需要仔细检查。这一部分包括以下内容:
-
如何实现这个特性;
- 许许多多的例子;
-
如何调试这个特性;
- 使用这个特性的忠告;
- 如何(主动地)处理错误。
书中有相对多的例子和大量的代码,这些都可以从http://www.apress.com的Source Code区下载。下面将详细介绍每一章的内容。
分享到:
相关推荐
### Oracle 9i&10g编程艺术-深入数据库体系结构 #### 一、引言与背景 本书《Oracle 9i&10g编程艺术-深入数据库体系结构》是一本经典的著作,专注于Oracle 9i和10g版本数据库的技术细节与高级应用。虽然仅收录了前...
《Oracle 9i&10g编程艺术——深入数据库体系结构》是一本专为有Oracle开发经验的程序员设计的书籍,旨在揭示Oracle数据库的核心构造和运行机制。Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其9i和...
《Oracle 9i & 10g编程艺术:深入数据库体系结构》是一本深受数据库管理员和开发者喜爱的经典著作。这本书全面地介绍了Oracle数据库的核心技术,包括数据库架构、SQL编程以及性能优化等方面的知识,旨在帮助读者深入...
高清淅的一本 ORACLE数据库教程的书籍,阅读此书,你将了解到Oracle数据库应用设计的一些重要概念。如果你确实领会了这些思想,相信你肯定也会对所面对的难题“换角度思考”。 IBM的Watson曾经说过:“自始以来,...
《Oracle 9i&10g编程艺术:深入数据库体系结构》是一本专注于解析Oracle数据库核心技术的专著,尤其适合数据库管理员(DBA)、开发人员和高级用户阅读。该书通过对Oracle 9i和10g版本的深度剖析,揭示了数据库内部...
Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)》是一本关于Oracle Database 9i、10g和11g数据库体系结构的权威图书,涵盖了所有重要的Oracle体系结构特性,包括文件、内存结构和进程,锁和闩,事务...
《Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)》是一本关于Oracle Database 9i、10g和11g数据库体系结构的权威图书,涵盖了所有重要的Oracle体系结构特性,包括文件、内存结构和进程,锁和闩,...
《Oracle 9i&10g编程艺术:深入数据库体系结构》是一本专注于Oracle数据库系统核心技术的专著,旨在帮助读者深入理解Oracle数据库的工作原理及其编程技术。这本书涵盖了Oracle数据库的多个关键方面,包括数据库设计...
《Oracle 9i & 10g编程艺术:深入数据库体系结构》是Oracle数据库领域的一本权威著作,由世界顶级Oracle专家Thomas Kyte撰写。这本书以其深入浅出的讲解和丰富的实践经验,深受广大Oracle DBA(数据库管理员)和开发...
“Think”(思考)。1914年,Thomas J. Watson先生加入后来成为IBM的公司时,带来了这样一个简简单单的座右铭。后来,这成为每一位IBM员工的训词,不论他们身居何职,只要需要做出决策,并利用自己的才智完成所承担...
Oracle9i&10g编程艺术:深入数据库体系结构 ★第二部分(part2)★ ——※ 注意:该电子书137M,分为3个压缩包, 需要将全部3个压缩包下载才能解压缩,单个部分无法解压。 此为第2个包,另外2个包可通过本人blog...
Oracle9i&10g编程艺术:深入数据库体系结构 ★第一部分(part1)★ ——※ 注意:该电子书137M,分为3个压缩包, 需要将全部3个压缩包下载才能解压缩,单个部分无法解压。 此为第1个包,另外2个包可通过本人blog...
Oracle9i&10g编程艺术:深入数据库体系结构 ★第三部分(part3)★ ——※ 注意:该电子书137M,分为3个压缩包, 需要将全部3个压缩包下载才能解压缩,单个部分无法解压。 此为第3个包,另外2个包可通过本人blog...
《Oracle 9i&10g编程艺术:深入数据库体系结构》是一本专注于Oracle数据库编程与体系结构深度解析的专业书籍。这本书旨在帮助读者理解和掌握Oracle 9i和10g这两个版本中的核心技术和最佳实践,从而提升在数据库设计...