Despite this book's considerable length, it doesn't touch on all important areas, and it assumes that readers have some knowledge of relational database management systems (RDBMS). This section includes other recommended resources for learning about the SQL language, the fundamentals of using Microsoft SQL Server, and related technologies. However, the most important resource that we can recommend is to read, cover to cover, the SQL Server documentation.
One of the CDs included with this book contains an evaluation copy of the complete SQL Server 7 product. You can read the online documentation right from the CD. The other CD contains some valuable whitepapers. Start there. This second CD also contains some tools for use with SQL Server as well as an online Transact -SQL language reference, compiled by a member of the SQL Server development team at Microsoft. Although the reference is a Microsoft Word file, it contains many cross-linked references and is intended for online use.
You can augment your reading with the following books and selections. We've listed them in order from introductory materials to the more detailed or specialized materials.
SQL (Osborne's Complete Reference Series) by James R. Groff and Paul N. Weinberg (Osborne McGraw-Hill, 1999). This book is an excellent primer for those users new to SQL.
An Introduction to Database Systems by C. J. Date (Addison-Wesley, 1994). A classic book, written by a giant in the field, covering general relational database concepts. A must for anyone in the database industry.
Microsoft SQL Server Training (Microsoft Press, 1996). Nice, self-paced training, with plenty of information about administration and security. Fairly introductory and suitable for those newer to SQL Server. The 1996 edition is based on SQL Server 6.5. The SQL Server 7 version is not available as of this writing but should be available soon. Check the Microsoft Press Web site (http://mspress.microsoft.com) periodically for details.
Database Design for Mere Mortals by Michael J. Hernandez (Addison-Wesley, 1997). A very readable approach to the daunting task of designing a relational database to solve real-world problems. The book is written in a database-independent format, so the details can be applied to SQL Server, as well as to other relational database management systems you might use.
Handbook of Relational Database Design by Candace C. Fleming and Barbara Vonhalle (Addison-Wesley, 1988). A fine book discussing general logical database design and data modeling approaches and techniques.
SAMS Teach Yourself Microsoft SQL Server 7.0 in 21 Days by Richard Waymire and Rick Sawtell (SAMS Publishing, 1999). A good first book on SQL Server 7 that gets readers up to speed quickly. Co-written in tutorial format by a program manager on the SQL Server development team at Microsoft, this title includes self-test questions for each of the 21 "days."
Database: Principles, Programming, Performance by Patrick O'Neil (Morgan Kaufmann Publishers, 1994). This thorough textbook provides excellent introductory materials, so we've placed it high on our list. It also covers a broad spectrum of information and carefully details many database topics, including buffer management and transaction semantics.
Understanding the New SQL: A Complete Guide by Jim Melton and Alan R. Simon (Morgan Kaufmann Publishers, 1993). An excellent reference, and one that we consult frequently for issues regarding ANSI SQL-92 semantics and conformance. (Jim Melton is an active participant in the SQL standards work and was the editor of the ANSI SQL-92 standard.) Although you can get the ANSI SQL-92 specification directly from ANSI, this book translates the standard into English.
A Guide to the SQL Standard by C. J. Date with Hugh Darwen (Addison-Wesley, 1993). Similar in purpose and focus to the Melton and Simon book, this book's coverage is more compact, provides additional insight into why something is the way it is, and provides more discussion of semantics. It is an especially good reference for issues about the use of NULL. We use this book hand in hand with the Melton and Simon book and find that the books' subtle differences in emphasis complement each other well.
Optimizing Transact-SQL: Advanced Programming Techniques by David Rozenshtein, Anatoly Abramovich, and Eugene Birger (Coriolis Group, 1996). Lots of clever queries and solutions written with Transact-SQL. (Note, however, that the solutions here were authored before SQL Server had the CASE statement, and CASE sometimes might provide easier, more straightforward solutions.)
Joe Celko's SQL for Smarties: Advanced SQL Programming by Joe Celko (Morgan Kaufmann Publishers, 1995). This is an excellent book to consult for insight into subtle but powerful ways to write nonintuitive queries. In places, this one is truly the SQL book for the Mensa crowd it's loaded with mind-bending puzzles about how to write an SQL query to perform some nonobvious task. It contains many examplesprobably more than any other book on this listand you're likely to find solutions to problems similar in scope to ones you might face.
Hitchhiker's Guide to Visual Basic and SQL Server by William Vaughn (Microsoft Press, 1998). A good book discussing the various programming interfaces available through Microsoft Visual Basic, especially when accessing SQL Server.
Inside Microsoft Visual InterDev by Nicholas Evans, Ken Miller, and Ken Spencer (Microsoft Press, 1999). A complete guide to developing Web-based applications, with examples using SQL Server.
Inside ODBC by Kyle Geiger (Microsoft Press, 1995). The finest book available on ODBC, period. Written by the "Father of ODBC." A must for C programmers working with ODBC and SQL Server. It includes a fine discussion of cursors as well. Although this book is out of print, you might be able to find someone who has a copy on their bookshelf , or you can check at used bookstores.
Microsoft KnowledgeBase Various articles, containing helpful information, tips, and answers to common questions, are available from http://www.microsoft.com. The site is frequently updated and of high quality. A must for any serious developer using any Microsoft development product, not just SQL Server.
Microsoft Developer Network (MSDN) Library Various articles and resources are available from Microsoft. Like the Microsoft KnowledgeBase, MSDN contains information about all the Microsoft development products. A must for serious developers.
Microsoft Windows NT Workstation 4.0 Resource Kit (Microsoft Press, 1996). Especially useful are Chapters 9 through 16, which were written by Russ Blake and formerly available as a separate bound volume (in the version 3.5 Resource Kit). A great source of information for effectively using Performance Monitor. Also contains a thorough discussion of general performance issues (not specific to SQL Server).
Performance Tuning and Optimization of Microsoft SQL Server 6.5 Microsoft Authorized Training Course #665. We'd recommend this fine course to people interested in becoming the SQL Server performance experts of their teams . Available from authorized training centers. The SQL Server 7 version of the course is not available as of this writing. Check the Microsoft training and certification Web site (found at http://www.microsoft.com/train_cert) periodically for details.
Microsoft SQL Server 7 Unleashed by David Solomon, et al. (MacMillan Publishing, 1999). The "Unleashed" series is usually authored by a team of exceptional writers with years of experience in the subject matter. The breadth of information covered in this book is extensive , including chapters on security, clustering, backup and recovery, replication, Data Transformation Services, data warehousing, and programming interfaces.
Transaction Processing: Concepts and Techniques by Jim Gray and Andreas Reuter (Morgan Kaufmann Publishers, 1992). Without a doubt, the best book ever written for in-depth explanations of such issues as locking, logging and recovery, and transactional semantics. Unusual (and terrific !) in that it is packed with detailed information, yet still readable and understandable. Unlike many of the overly academic papers that seem more suitable for graduate school classes than for people trying to build actual solutions.
In Search of Clusters: The Ongoing Battle in Lowly Parallel Computing by Gregory F. Pfister (Prentice Hall, 1998). A good source of information regarding scalability limits of SMP systems, such as Amdahl's law, the Von Neumann bottleneck, and other considerations for SMP systems.
Transaction Processing Council (TPC) Web site and full disclosure reports Invaluable resources available at http://www.tpc.org. This is a good Web site to consult to stay abreast of current performance levels of competing hardware and software solutions. It also has plenty of information regarding the benchmarks. You also might want to order one of the full disclosure reports (FDRs) for a benchmark that uses SQL Server to determine the exact hardware and software configuration used. If you will plan to run a very large system, such an FDR can be a good template to use.