Preface

Why this book and why now?

Having worked with Oracle technology since 1992 and having been involved in the design and development of very disparate systems and applications, I realised some time ago that people are still thinking very differently on how to apply the relational database technology in general and the Oracle database in particular. I have worked with people having different backgrounds, from hardcore SQL and PL/SQL developers to Java EE developers, web (Javascript) developers, integration engineers and data scientists. They all have a different view on the role of the database, and due to this some are looking for other solutions for the persistence of data, e.g. NoSQL databases or in-memory solutions. So I think it is about time to go back to basics, and explain again why and how a relational database should be used. And this is also a good opportunity to explain how the Oracle database (and other relational databases) have evolved into multi-purpose solutions.

Another thing that I wanted to write about is the way database code is being developed and deployed. Although many tools are available to support both development and deployment, it is amazing how often database objects are built using badly managed scripts, that are run manually and are not optimal for repeated deployments. It often leads to differences between instances in different environments. So it is time to write something about DevOps for database developers. Some time ago I read an article on LinkedIn, written by a former colleague, Gert-Jan Paulissen, who I had not spoken for some time, and who mentioned exactly that problem. He proposed writing a book about the subject together. So we started brainstorming about content, and after some time we decided it would be better to make it a series of books about best practices in Oracle database development. Gert-Jan would work out the DevOps book, while I would focus on the database architecture and new features.

This book should enable you to design and build Oracle database architectures for any purpose, using best practices and the newest features. After design you can go hands-on using Gert-Jan’s book for a guide to use the right tooling and methodology to develop the assets described here, and to develop GUI applications.

This book is a work-in-progress

The nicest feature of on-line publishing is that the buyer of a book does not get content that might be out-of-date after a few years. Instead, the buyer is entitled to get new editions when these are published. This enables the writer to publish a book that is in fact work-in-progress, and that might be enhanced later with new chapters or updated information when a new version of the discussed software is released.

At the time of writing of the first edition of this book Oracle brought out the first beta-version of the Oracle 23c database. I was lucky to be in the beta-testing program of this release. This new release contains a number of new features that may deserve revised and additional chapters. The second edition appeared after the 23c developer release was launched, and aspects of some new features, such as Boolean columns and JSON Duality views, have been added.

Moreover, I plan to add some more chapters in the next 1 or 2 years. Anyone who bought this book will be able to download the updated versions for free. Each version will get a ‘What’s new’ section, so the reader will be able to find added and updated information quickly. A few subjects that are in planning are:

- Best practices using JSON (and XML) for storing and processing data
- Best practices for using pipelined functions
- Best practices for writing SQL, including new 23c features
- Using in-memory column store for fast analytics
- Setting-up a secure database with Real Application Security

Who is this book for?

This book is meant for architects and database developers alike who’d like to design and build better Oracle database applications and integrations. They will learn to get the best out of the Oracle database and to optimally integrate the Oracle database in any technology.

How to read this book?

Sometimes, asides are added to highlight further information about a specific topic:

Please help improve this book!

New revisions of this book are published on a regular basis. If you think a particular section needs improvement, please post an issue in the Leanpub forum, or contact me via Twitter [@pdevaal]:(https://twitter.com/pdevaal).

About the author

Peter de Vaal has been working as an Oracle professional since 1992, after having worked in science (1989 PhD physical organic chemistry at Leiden University, the Netherlands, and chimie quantique at the university of Strasbourg, France). It brought him to places such as Mumbai (India), Minneapolis (MI) and Greenville (SC) in the USA and many European countries. And the industries where he could apply his skills ranged from airport baggage handling to chemistry, food industry, hospitals, banking and insurance, governmental institutions etc. Outside his working hours Peter has two other passions: riding bicycles (MTB and race) and playing the card game bridge.