This book from Lex de Haan (RIP) and Toon Koppelaars is a very welcome addition to those relatively few technical volumes to date that attempt to apply the rigours of a sound theoretical mathematical framework to the Relational Model, and the varied and various manifestations thereof.
This well written and well structured book takes the reader gently through rudimentary relations and sets in Part I, to the more complex database-related aspects in Part II, and finally culminating in Part III where the theoretical is applied to the practical - in this case through Oracle, but will equally apply to any of the major Database Management System (DBMS) vendors.
Although the reader is taken `gently' through the learning process, I believe that any experience in Formal System Specification would be a great help to the reader, similarly with any degree of knowledge of relations and sets. With no knowledge of either of these then the curve may not be so `gentle', but what can be assured, however, is that the exercises are well enough designed to bring the knowledge levels up appropriately as the book progresses.
Conversely, what probably isn't of great assistance is a high degree of proficiency with SQL, with its manifold attendant shortcomings and deficiencies. The difficulty here arises where the reader will tend to approach it logically from an SQL perspective (with the perhaps now instinctive mental workarounds), where this book approaches from a much more logically complete, theoretically sound, and neutral angle.
That said, however, there is much of value in this book for the seasoned SQL practitioner, if only to alert as to how incomplete the current DBMS offerings are, how this (potentially) compromises data integrity on several levels (tuple, table, database), how to avoid those same shortcomings, and on how to exploit the maximum declarative constraining from those same DBMSes in their current incarnations. For the not so seasoned, it will lay a solid, sound theoretical basis that will serve very well throughout a career with databases.
less
0 comments
Post a comment