Thursday 6 December 2012

C.J. Date: Database Design and Relational Theory

Or to give its full title : "Database Design and Relational Theory: Normals Forms and All That Jazz"

Recently I found it necessary to re-examine a rather complex database I built over 7 years ago. The database had travelled through MySQL to Postgres with dalliances with ZODB and looked - with much benefit of hindsight - pretty crufty. If I was going to use the dataset, I would be using Django and probably its ORM, for convenience. To do this would require some reconstruction of the table definitions to suit the ORM and well if I had to do that, perhaps I should also spend some time evaluating the schema design and doing it right the nest time DIRTNT (rather than DIRTFOOT).

It has been a seriously long time since I earnestly poked at database theory so I reckoned it was about time I caught up. Hunting the web threw up a bewildering choice of possible guide books but none really seemed to pitch their content at an appropriate level for me; by now I don't need a guide to managing a database nor instruction in SQL. But I did feel the need for some real, man-sized theory.

This little volume was on the money and for once I opted for a dead-tree version even though it took a few days to arrive (instant gratification is not everything when it comes to reading textbooks on a Kindle). This is now sharing my bookshelf along with Donald Knuth and the Gang of Four; I hope they don't mind rubbing shoulders with C.J.Date instead of Dr. Codd.

Mind you, I seem to have forgotten how to learn from heavy-weight textbooks. Grinding through this one is quite demanding, something I only seem to be able to do in small chunks these days. And I am not even convinced the content is actually getting embedded in my grey cells. I am actually forcing myself to attempt and study even the exercises provided with each chapter - I never used to need to do this. There you are, that old tortoise age has almost caught up with me and I think the finish line might be in sight!
✔✔✔✔✔

Saturday 21 April 2012

Norman Davies: Europe: A History

We were heading off to France for a few weeks of touring and I realised I knew very little about European history. In fact, various sojourns through Ireland had demonstrated the huge gaps either in my education or my memory though probably both. Anyway I decided to remedy this by grabbing a few books from the library and other sources to read as we travelled. Most of them failed to survive past the first page; this one didn't. It was brilliant!

As I am writing this, I have not finished the book - it is quite long at almost 1400 regular pages - only up to chapter 4. Apart from the subject matter, which is all very interesting, there are quite a few features make this book stand out

  • First off, the author's wonderful style. He writes as if telling you a favourite story with all the idiosyncracies that make a story personal to you and the teller - little tidbits of background details and colour 
  • The book is written almost like a simple narrative. An ambitious task for a subject so broad, complex and interwoven with itself. It is very easy to read and for the parts I have read, the continuity from one protagonist to another makes the whole feel like a narrative
  • There are quite a few out-takes. The subject is really complex and it must be impossible to deal with this complexity in a single book; easily solved, just create a brief (can be several pages long) out-take as an aside which you can choose to follow as the mood takes you.
  • The book is structured in chapters which attempt to be self-contained usually covering a period dominated by a particular theme such as "The Romans" or "Greek culture"
With all these devices, the book is a pleasure to read. My copy was on a Kobo/Kindle which worked great for the text parts but the graphics and tables were dreadful, worse than useless on the Kobo. And it was very easy to lose context when reading through the lengthy. A hard-copy would be probably be a much better experience, but then it must be a weighty tome. Tough call - get both.

✔✔✔✔✔