Introduction

for RuBoard

Rather than merely providing a catalog of coding tricks and syntax subtleties, this book teaches the philosophy of Transact-SQL programming and shows you how to apply this philosophy to develop your own coding techniques and solutions to real-world problems. This book takes the position that the "why" is at least as important as the "how" and that a balanced approach to learning Transact-SQLone that stresses the theoretical as much as it stresses the practicalis preferable to an unbalanced approach.

You'll notice that this book delves into a number of subjects not traditionally associated directly with stored procedure programming. We cover XML, HTML, .NET, and a number of other seemingly ancillary subjects. The reason for this is simple: When you build real-world software, you tend to work with a number of different technologies. Rarely do you build stored procedures in a vacuum . This book acknowledges that fact by covering many of these related technologies from the perspective of the SQL Server stored procedure developer.

XML is relevant because you typically access SQL Server's XML features via stored procedures and T-SQL queries. The same is true for HTML. We discuss .NET because Microsoft has announced that the next version of SQL Server will permit stored procedures to be developed using the new .NET languages, C#, and VB.NET. I felt a book about SQL Server developmenteven one focused on stored procedure developmentshould at least mention .NET and talk about some of the many exciting features it has in store for SQL Server developers. There may be some resistance among Transact-SQL programmers to moving their code to .NET and the Common Language Runtime. I felt a book like this should help lead the way by providing a broad overview of the technology and by giving developers some tips on what they can expect from it.

This book discusses Transact-SQL development in the larger context of software development. It delves into a number of foundational software engineering concepts: best practices, code management strategies, design patterns and idioms, software testing, and many others. These are all fundamental to sound development in any programming language, including Transact-SQL. This book seeks to elevate the status of Transact-SQL to that of traditional languages such as Visual Basic and C++. It teaches you how to master Transact-SQL as a programming language rather than merely as a query language or a scripting facility for SQL Server.

As with its predecessor, this book stays away from excessive screenshots and other filler devices typically found in computer books. I have expressly avoided fattening the book through unnecessary figures, sidebars, diagrams, and the like. Instead, I've included figures where they're helpful, but have omitted them elsewhere. I've trimmed query results fairly frequently throughout the book (you'll see "Results abridged" when this happens), while still including complete code listings whenever possible. Bloated technical books are one of my pet peeves, so I do my best to avoid creating them myself .

When I began writing this book, I had the following design goals in mind:

  • Pick up where my last book, The Guru's Guide to Transact-SQL , left off. Provide an evolutionary path for those that have mastered that book.

  • Teach the philosophy of Transact-SQL programming, not just its syntax, techniques, or hidden tricks.

  • Speak to the similarities and differences between Transact-SQL programming and software development in other computer languages.

  • Avoid rehashing the SQL Server Books Online as much as possible.

  • Thoroughly cover topics related to Transact-SQL stored procedure programming (such as extended procedures, database design, and XML) that are commonly omitted or covered only in a cursory fashion in books such as this.

  • Proceed from the basic to the advanced within each chapter and throughout the book.

  • Produce a balanced book, one that treats the theoretical and practical aspects of Transact-SQL stored procedure programming evenhandedly.

  • Construct each chapter so that it's self-containedso that it relies on objects created in other chapters as little as possible.

  • Avoid excessive screenshots and other types of padding devices often seen in computer books.

  • Innovate. Show techniques, approaches, and ways of thinking about Transact-SQL programming that have not been explored before. Advance the current state-of-the-art in terms of Transact-SQL programming in particular and software engineering in general.

  • Err on the side of generosity with code samples. Don't just tell readers how to do something. Show them.

  • Include complete code samples within the chapter texts so that the book can be read through without requiring a computer or CD-ROM.

  • Abridge code listings within chapter texts when formatting concerns necessitate and when doing so does not detract from the discussion at hand materially (include the entirety of all listing on the book's CD).

  • Provide real-world code samples that have intrinsic value apart from the book. Provide example code that a reader could drop into place on her production server if she wanted to.

  • Demonstrate that computer books can be well written and understandable, while still laden with useful technical information. Show that good writing and good technology are not mutually exclusive.

  • Use modern coding techniques, with specific emphases on ANSI compliance and current version features and enhancements.

  • Provide an easy-going, relaxed commentary with a lack of emphasis on formality . Be the reader's loyal companion as he works through the text. Communicate in writing the way that people typically speak.

These and others make up the goals I had when I sat down to write this book. Being a writer has its ups and downs . Everyday, I have goals I try to achieve. Sometimes I meet them; sometimes I don't. The thing is to keep trying when you failto figure out where you went wrong and how you can do better next time. The challenge is to shrug off the faint pale of discouragement and the other obstacles that keep you from reaching your full potential. The reward comes in seeing what great things you can accomplish when you overcome these obstacles and take your talents to the next level.

for RuBoard


The Guru[ap]s Guide to SQL Server[tm] Stored Procedures, XML, and HTML
The Guru[ap]s Guide to SQL Server[tm] Stored Procedures, XML, and HTML
ISBN: 201700468
EAN: N/A
Year: 2005
Pages: 223

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net