I have felt my blogging has been somewhat lacking in 2009. There are probably a couple of reasons for this, 2009 was a year where I think I slept less than any other year in my life, mostly due to my (then) one year old. Towards the middle of year there were a good few months, where I was barely touching anything Oracle related as I was working on a storage related project and learning as much about VMware as I could.
So I was racking my brains for an idea to get 2010 off to a decent start on the blogging front, and then my eyes alighted on Applied Mathematics for Database Professionals by Lex de Haan and Toon Koppelaars. This is a book I’ve had since it was published, around 18 months ago but judging by the suspiciously uncreased spine, you can tell I’ve not really read it in all that time.
I thought as a bit of a challenge for 2010, I would attempt to read the book and document how I was getting on with it here on the blog. I’d also use the blog as a bit of an aide-mémoire and summarise my understanding (or lack thereof) of what the book is saying.
First thing to say, and I think this is fair, this book is not an easy read. You can’t just pick it up and open to a random chapter and read it. The book does need the reader to put in the work. In particular the first 4 chapters are all on the mathematical theory that underpins the practical application to database design in later chapters, these chapters are not an easy read, but you can’t really skip them either as you then will not understand the later chapters. I suspect these 4 chapters probably have put off a lot of potential readers.
The book is split into 4 parts, one of which is appendixes.
Part 1: The Mathematics
This gives the mathematical underpinnings of the technique used for database design later in the book. There are chapters on logic, set theory, more logic and finally relations and functions.
Part 2: The Application
This is applying the mathematics to databases.
there are chapters on tables, database designs, state transition constraints data retrieval and database manipulation.
Part 3: The Implementation
This has chapters on database design in Oracle and then a summary and conclusion chapter.
Part 4: Appendixes
This includes the formal definition of an example database, symbols, bibliography, nulls and three valued logic.
The foreword is written by Hugh Darwen and Chris Date. I think this reads quite oddly as it jumps pretty quickly into technical/academic debate. This foreword gives the impression that this is more of an academic textbook, than practical manual for the working DBA.
The book states that it tries to fill a space that is not yet covered and show you how to use mathematics as a database professional. It states that no mathematical knowledge is presumed and that the set-theory (and logic) concepts will be delivered that are necessary to define a relational database from the ground upwards.
“The books main focus is on specifying a relational database design in general and specifying the data integrity constraints involved in such a design”
The methodology deployed in the book uses elementary set theory in conjunction with logic. This methodology detailed in the book was invented by Frans Remmen and Bert de Brock.
The concept of orthogonality is also introduced at this stage, essentially that each component of a system should be independent of each other and changing one component should not impact on the other components. They then state that SQL language that most Database Management Systems are based on are not like that and while based on ISO standards all vendors have veered from these in their products.
In the next blog posting I will detail how I get on reading part 1, the first four chapters on the mathematical underpinnings and attempt to summarise these chapters. I’d also be interested in hearing from other people who have read this book.