Review of Building the Agile Database

I finished reading “Building the Agile Database” by Larry Burns just recently and felt compelled to share my thoughts on it. The book is truly excellent and important. I’d even call it ground-breaking, as the unique approach advocated by Larry Burns not only enables data developers to work effectively in Agile environments but also enables us to exploit fully the original sage teachings of Dr. Codd, whose Relational Model for Database Management revolutionized Enterprise Data Management. So, this book is very much more than just a primer on how to build the Agile Database. Rather, I’d credit the book with being an excellent overall and truly innovative approach to data modeling, data management, and database design in a modern Information Technology environment.

One of the most compelling and important aspects of Larry’s excellent book is that he takes the business view of database design and development.  In fact, one of his earlier chapters is even entitled “Taking the Business View”.  Throughout the text, Larry explains, in excellent detail, the importance of capturing this business view in a well founded Logical Data Model.  Some of his ideas, in this context, are truly ground- breaking and important.  Larry demonstrates clearly how a well founded and normalized database design can support many different application requirements through a very interesting concept he calls the Virtual Data Layer.  In this concept, Larry holds that the Logical Data Model rightly captures the business requirements, which are more static than the application requirements.  The Virtual Data Layer enables the application view of the data to change without having to constantly refactor the underlying data model.  In a way, Larry’s insight here turns much current, and largely unsuccessful, data development praxis on its head.  The common way of doing things today, unfortunately, involves a great deal of denormalization of the database design, meaning the base schema.  Larry demonstrates quite convincingly that all of this is not only unnecessary but uneconomical.  He has a great section on the Economics of Data Management where he illustrates that a solid relational design enables effective application development and efficient usage of the data resource through a discipline Larry articulates through the acronym, PRISM.  In Larry’s description, this stands for:

•    Performance and Ease of Use
•    Reusability
•    Integrity
•    Security
•    Maintainability

Data Modeling Rock Star Steve Hoberman introduced me to this work by Larry Burns when Steve was at our offices earlier this year delivering his excellent Master Data Modeling Class. In one of his modules on the use of Views, Steve mentioned this ground breaking work by Larry Burns. I got terribly excited, as the way Steve described Larry’s approach was right in synch with thoughts that had been floating around in my mind for a long while relative to the effective exploitation of relational database technology (OK. I don’t get out much).  In any case, Larry’s approach is truly brilliant. We can model our databases properly, in a normalized sense, from the start. Then we can exploit modern relational database technology through the intelligent usage of Views, Stored Procedures, Triggers, and Functions in order to facilitate alternative representations of the data, security options, access patterns, and such.  On pages 115 through 116 of his book, Larry demonstrates the business problem of “object relational impedance” and also shows, by way of example, how this thorny problem can be overcome by the intelligent use of views on base tables.  Larry actually goes so far as to present the objects, classes, and the SQL code necessary to get data from the base tables to the application object layer.  With this approach, Larry’s unique methodology enables us to be faithful to Dr. Codd’s original concept of the three schema architecture for database and make our business users and application development colleagues happy at the same time. Codd argued in his magisterial “Relational Model for Database Management:  Version 2” that the meaning of the three schema architecture for database was as follows:

•    External Schema    Views
•    Conceptual Schema    Base Relations(or Tables)
•    Internal Schema    Storage Representations

In Larry’s approach, which follows faithfully and even finally enables Dr. Codd’s original vision, our logical data model represents the all- important Conceptual Schema.  The physical model then presents application, or end user, views of the data.  This, I strongly believe, is what Dr. Codd originally intended.  And it is truly wonderful that Larry has now so clearly articulated this approach for the industry.

Finally, it must be noted that Larry provides excellent and even sage advice to the Agile database participant.  Particularly on Page 241 of this excellent book, Larry describes how we must work together with our application development and end user colleagues to deliver excellent results (what he calls “Developing an Agile Attitude”).  The painful truth, for many of us, is that not everyone is completely convinced of the beauty and transcendent importance of the relational model for database.  But if we follow Larry’s ground-breaking teachings, we can still manage to deliver excellent results for our organizations and become even better team players.  This is really great stuff. I strongly recommend Larry’s excellent book to all interested practitioners.

Share

submit to reddit
Top