The Red Gate Guide to SQL Server Team-based Development
Phil Factor, Grant Fritchey, Alex Kuznetsov, and Mladen Prajdić
Free EPUB version available to download for Simple-Talk site members here.
This book shows how to use a mixture of home-grown scripts, native SQL Server tools, and tools from the Red Gate SQL Toolbelt, to successfully develop database applications in a team environment, and make database development as similar as possible to "normal" development.
Why read this book?
Only small projects, relevant to very few people, are built by the sweat and toil of a lone developer. Larger projects, affecting whole organizations, will invariably require a team of people to design and develop the application and its storage layer, or database.
In some cases, this will mean some developers and one or two DBAs, but larger organizations can afford a higher degree of specialization, so there will be developers who work exclusively within the data access layer of an application, database developers who specialize in writing T-SQL, architects who design databases from scratch based on business requirements, and so on. Stepping up the scale even further, some projects require multiple development teams, each working on a different aspect of the application and database, and each team performing of a collection of these specialized tasks. All these people will have to work together, mixing and matching their bits and pieces of work, to arrive at a unified delivery: an application and its database.
While performing this feat of legerdemain, they'll also have to deal with the fact that the different teams may be at different points in the development life cycle, and that each team may have dependencies on another. These various differences and dependencies will lead to conflict as the teams attempt to work on a single shared system.
Before you throw up your hands and declare this a lost cause, understand that you're not alone. Fortunately, these problems are not unique. There are a number of tools and techniques that can help you write clear, well-documented, reusable database code, then manage that code so that multiple versions of it can be deployed cleanly and reliably to any number of systems.
This book shows how to use of mixture of home-grown scripts, native SQL Server tools, and tools from the Red Gate SQL Toolbelt (such as SQL Compare, SQL Source Control, SQL Prompt, and so on), to successfully develop database applications in a team environment, and make database development as similar as possible to "normal" development.
It shows how to solve many of the problems that the team will face when writing, documenting, and testing database code in a team environment, including all the areas below.
- Writing readable code.
- Documenting code.
- Source control and change management.
- Deploying code between environments.
- Unit testing.
- Reusing code.
- Searching and refactoring your code base.
About the Authors
Phil Factor (real name withheld to protect the guilty), aka Database Mole, has 25 years of experience with database-intensive applications. Despite having once been shouted at by a furious Bill Gates at an exhibition in the early 1980s, he has remained resolutely anonymous throughout his career.
Grant Fritchey Microsoft SQL Server MVP 2009–2010, works for an industry-leading engineering and insurance company as a principal DBA. Grant has performed development of large-scale applications in languages such as Visual Basic, C#, and Java, and has worked with SQL Server since version 6.0. Grant spends a lot of time involved in the SQL Server community, including speaking and blogging, and he is an active participant in the SQLServerCentral.Com forums. He is the author of several books including SQL Server Execution Plans (Simple Talk Publishing, 2008) and SQL Server Query Performance Tuning Distilled (Apress, 2008).
Alex Kuznetsov has been working with object-oriented languages and databases for more than a decade. He has worked with Sybase, SQL Server, Oracle and DB2. He currently works with DRW Trading Group in Chicago, where he leads a team of developers, practicing agile development, defensive programming, and database unit testing every day. Alex contributes regularly to the SQL Server community. He blogs regularly on sqlblog.com and has written numerous articles on simple-talk.com and devx.com. He wrote the book Defensive Database Programming with SQL Server, contributed a chapter to the MVP Deep Dives book, and speaks at various community events, such as SQL Saturday. In his leisure time, Alex prepares for, and runs, ultra-marathons.
Mladen Prajdić is a SQL Server MVP from Slovenia. He started programming in 1999 in Visual C++. Since 2002 he's been actively developing diff erent types of applications in .Net (C#) and SQL Server, ranging from standard line of business to image processing applications. He graduated at the college of Electrical Engineering at the University of Ljubljana, majoring in Medical Cybernetics. He's a regular speaker at various conferences and usergroup meetings. He blogs at http://weblogs.sqlteam.com/mladenp and has authored various articles about SQL Server. He really likes to optimize slow SQL Statements, analyze performance, and fi nd unconventional solutions to diffi cult SQL Server problems. In his free time, among other things, he also develops a very popular free add-in for SQL Server Management Studio called SSMS Tools Pack.