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.

**Foreword**

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.

**Introduction**

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.

Jason,

I hope you realize the size of the effort you have just started for 2010.

🙂

If you have a mathematics background, you’ll enjoy reading it. If not, it’s going to be a tough read indeed. The conclusion you draw from Hugh’s and Chris’ foreword is probably correct. It’s more an acadamic book, not a practical manual for the working DBA. It was definitely a goal of Lex and myself to also target university/college computer science curriculae with this book. Though I would consider it required knowledge for a database designer that is already working in the field too. If only to show that if all you know in the field of designing databases, is ER diagrams, then you’re missing out on a whole lot.

Looking forward to your future posts.

Toon

Hi Toon,

Thanks for reading! And thanks for the insight.

Of course the exercises as well give it the feel of a textbook too.

My mathematics was all learned 15 years ago, so it’s rusty in the extreme.

cheers,

jason.

Jason,

you asked for it, so I’ll answer:

I read this book last year. As it was my daily companion on the way to work and back, I had 20 minutes each direction. This implied I often sat in the subway, sometimes reading some lines and most of the time gaze at something invisible, try to understand.

Especially Part 1, 2 and Lex de Haans appendix about NULLs I read and repeated until I totally understand it.

Part 1 really starts at the beginning. If you accept the notation, you get everything you need to use sets and boolean logic. (in this context)

Part 2 was the best I ever read about relational design. Maybe because it was not about relational design but how to transfer business logic into sets, states and their transformations. I’d like to know any of the ‘designers’ around me follow such strong mathematical principles.

I didn’t read Part 3 as accurate as I did in Part 1 and 2, as currently I see no chance to follow such principles in my current environment. So I didn’t want to depress me too much.

A big issue is the slight different between set and blinary logic and SQL. It’s allways good to know the basics. And you might remember these if you see how developers try to ‘fix’ these issues.

At the end, this book at least helps reading Toons Helsinki Declaration 🙂

Good luck reading this book,

Martin

Hi Martin,

Thanks for sharing!

Commuting by train sounds like a good place to get some serious reading done. Also sounds like you enjoyed too, and that I just need to keep going with Part 1 and hopefully reap the rewards in part 2.

cheers,

jason.