This book tries to be too many things to too many people. According to page xxiv of the Preface:
"In addition to an introductory database course, the book contains enough advanced material so that it can be used for the following courses:
- An undergraduate or graduate course in transaction processing for students who have had an introductory course in databases
- An advanced undergraduate or a first graduate course in databases for students who have had an introductory course in databases
- A course in electronic commerce and Web sevices."
The first half of this book is made up of the material from its "Introductory Version" brother (ASIN:0321228383). The last half is the additional material to be used for the other courses listed above.
The problem is that the book reads more like a brain dump of everything the authors know about databases instead of like a textbook tying to teach some reasonable subsection to us ignorant masses. More specifically, each section (and sometimes each chapter) should probably be an entire textbook in itself. As an example, Chapter 15 talks about XML and Web Data. It starts by talking about how data on web pages is semi-structured and how this can lead to problems getting that kind of data into a database. It then introduces XML to the reader as a possible way to overcome this difficulty. Then, the authors basically dump the entirety of the XML language's syntax and semantics on you (XML Elements and Database Objects, XML Attributes, Namespaces, Document Type Definitions, Inadequacy of DTDs as a Data Definition Language). Since that section ends with the inadequacies of XML, the authors then go on to do the same thing with a revision of XML (XML Schema: XML Schema and Namespaces, Simple Types, Complex Types, Putting It Together, Shortcuts: Anonymous Types and Element References, Integrity Constraints). Now that they've told us everything that we'd ever want to know about the data handling capabilities of XML and it's revisions, they go on to describe (in detail) the syntax and sematics of four different XML Query Languages (XPath: A Lightweight XML Query Language, XSLT: A Transformation Language for XML, XQuery: A Full-Featured Query Language for XML, SQL/XML). Mind you, this is ONE CHAPTER (almost 100 pages long). Most authors would have treated this as a textbook (and course) in its own right. But, this is just one of 26 similarly-written chapters in this book.
Also in the preface, the authors state that "rather than focusing on how to build a database management system (DBMS), our approach focuses on how to build applications that use such a system. We believe that many more students will be implementing database applications than building DMBSs." That might be true. But, since I started with only a light dusting of knowledge of the workings of DBMSs, and the first half of this book is supposed to be an "introductory database course, finding out how to build a DBMS would probably have taught me more about how they work than what the authors present.
At a more pedantic level, my next biggest gripe is with the amount, type, and degree of contextual references in the book. There are tons of backward references to absolutely vital, detailed tables in the book. Unless you have a phenomonal memory, there's no way you can get by without constantly paging back (in some cases, hundreds of pages) to see what the authors are talking about. In the authors' defense, I can see why they did this: the book is already almost 1,200 pages long. If they had copied those tables to every place they reference them, this unwieldy tome would have been even larger. But, worse than the backward references are the FORWARD references. They're not as prevalent as the backward ones, but I can't come up with any real justification for them. In many cases, the authors reference material that's several pages ahead of where they are. It's not like the paragraph ends way up there and that's the first chance they get to include the material. In several cases, they included the reference way past the end of the SECTION (not just paragraph) where they were talking about it. Very irritating.
As an aside, Florida State University (FSU) uses this book in its COP 4710 course: "Theory and Structure of Databases." With a professor available to TEACH the material in the book, this book is probably acceptable. But for the individual reader (like me), it's not very useful. I rate this book as 2 stars out of 5.
- Buy this item and get 90 days Free Amazon Music Unlimited. After purchase you will receive an email with further information. Offer valid for a limited time only. Terms and Conditions apply.” Learn more here.