The Practical SQL Handbook
"Using SQL Variants" doesn't mean what you might think.
- By Mike Feldman
- February 01, 2001
As a Microsoft techie, my first reaction to the cover of this book was
"ah, someone is finally covering the new SQL Variant Data Type in SQL
Server 2000." That turned out not to be the case. What this book means
by SQL Variants are the variations between the different flavors of SQL
associated with the different RDBMS platforms. In fact, if you're seeking
a hard-core Microsoft SQL Server 2000 programming book, this is not the
book for you. If you're project manager, an MSCE or a business analyst
seeking a better understanding of RDBMS, this is a suitable book. This
book is designed as a cross-platform study of Oracle, Sybase, Informix,
and Microsoft. The book ships with a CD of Sybase Anywhere (now called
Adaptive Server Anywhere). It is not a book geared specifically towards
the Microsoft SQL Server 2000 platform.
The first chapter offers an introduction to SQL and relational database
management. While the basic features (columns, tables, etc) of a relational
database are covered in detail, I believe this would have been a good
opportunity for the authors to go into more detail about the different
platforms, their history and their current roles in the market.
The second chapter is a survey of data modeling and database design.
Data modeling is an art and science unto its own, and it is hard to compact
the whole of it into one chapter. The authors do provide a good overview
of database design, though. The critical pieces of database design, such
as entities, attributes, one-to-many relationships, many-to-many relationships
and one-to-one relationships are all discussed. These topics are well
thought out and well covered. The chapter might have benefited from a
tighter explanation of the connections between the logical world of design
and the physical implementation of the logical. For example, entities
in the physical world become tables, while attributes become columns in
The following chapters are a perusal of the SQL language, along with
sections embedded in the chapters called SQL variants which points out
differences in syntax between the languages of the major databases. The
major topics of SQL are covered in reasonably good depth: Select, delete,
update, insert, order by, group by, subqueries, views, indexes and transactions
are all covered. The writing is clear, concise and easy to follow and
will facilitate grasping SQL concepts. Indexing, a major aspect of achieving
relational database performance could have been covered in better detail,
since it so critical. For instance, the authors skimmed over the topic
of clustered vs. non-clustered indexes.
The major weakness to the book is the Tips section that is integrated
within the chapters. Many of the tips are too broad based, don't take
into account real world development or are understated. For example, one
tip suggests planning out an indexing schema while planning the tables.
While this is academically sound, in the real world of development, a
great many shops will wait until a later stage of development to implement
Another weakness is the lack of a Database Administration section. Since
this is a cross-platform book, it would hard to make it specific to a
single RDMBS. However, administrative concepts such as transaction logs,
backups, database consistency and re-indexing would be helpful in creating
a greater understanding of database management as a whole.
Overall, this book does the job for an overview and survey of an RDMS.
It will whet the appetite for further education on topics such as data
modeling and design. For those of you searching for a Microsoft SQL Server
"heavy hitter" techie book, there are myriad of other choices.
Mike Feldman is the president of Data-Rite (www.dataritesys.com) , a
Web and application company in NYC that specializes in Microsoft technology.
Mike is an MCSD and MCT and a frequent speaker at technical Conferences.
For several years Mike wrote a monthly column in Advisor magazine and
was an instructor of client-server applications at Baruch College in NYC.