Joe Celko's SQL Programming Style (The Morgan Kaufmann Series in Data Management Systems)
|
| |
ISBN |
0120887975 |
|
Release Date |
11 April 2005 |
|
Category |
SQL |
|
Tags |
celko, sql, joe celko, "joe celko", management, morgan kaufmann, 0120887975, joe, project management, joe celko's, "joe celko's", kaufmann, "sql programming style", "sql programming", "data management", 'content management systems',
|
|
This book @Amazon |
View |
|
Description
Style guides tend to be heuristics of understanding a hard-to-define -- consequently hard to defend -- criteria that will make your design effective. Strunk's "Elements of Style" would be an exemplary definition of a style guide. With all style guides, however, you can follow them religiously and still end up with an execrable book or living room.
Mr. Celko spends remarkably little time with style formatting, although he does delineate what constitutes readable and maintainable SQL code. Where the book finds its utmost utility is in the consistent and increasing reinforcement of thinking in sets. SQL is not about transforming data (although you can); SQL is about properly storing data, and then being able to find it again. Simple enough, but all-too-easy to get wrong.
The first two chapters talk about naming and actual SQL style. This is primarily what I'd expected, but Mr. Celko isn't about to let me off that easily. In discussing naming, he brings international standards into the mix. Right away, the standard of my existing SQL code falls away under this level of scrutiny. Throughout the book, Mr. Celko is bringing up a data discipine I have long-suspected existed but honestly never sought to embrace. Why should I develop a data model that adheres to standards, if mine will be the only model in the company even attempting it?
Therein lays the problem with this book: it can make a reader uncomfortable. Mr. Celko is writing about SQL and, more importantly, the data it will describe and manipulate, in far more depth and with far more rigor than I've seen elsewhere. He has an entire chapter on encoding data, another on scales used to measure data. Nowhere else will such treatment be gathered in one place, in the context of using SQL. Moreover, his conclusions are backed by years of experience *and* impressive references to back him. The bibliography will surely cause me to invest in yet more books.
Of course, the book can be dry in spots. Encoding data properly is important, but it's not as entertaining as seeing his effective SQL examples put to work. I think the balance between showing data as it is displayed and explaining the theory of the encoding (or modeling, or selection) is tricky to achieve, but I don't believe it ever broke down. The *density* of the book is striking; going into a 195-page book, you don't readily expect to re-read the same page three times to grasp something, but you must. At some point in the book, you will encounter an aspect of SQL development you've never come close to mastering, and it will give you pause. Take notes, work it out, and dig deeper. It'll be worth it.
Could I recommend this to newcomers to SQL programming? Qualified yes; you need to discipline yourself to work through much of it if you lack the experience in what's being presented. The book would make an excellent two-semester course in database development, one I suspect many would enjoy more than the typical relational database classes taught today.
Mr. Celko has again delivered an essential text on SQL, and it would serve as a springboard for a thorough introduction to all things data.
Fred |
|