Defensive Database Programming with SQL Server

 
9781906434458: Defensive Database Programming with SQL Server

Resilient T-SQL code is code that is designed to last, and to be safely reused by others. The goal of defensive database programming, the goal of this book, is to help you to produce resilient T-SQL code that robustly and gracefully handles cases of unintended use, and is resilient to common changes to the database environment. Too often as developers, we stop work as soon as our code passes a few basic tests to confirm that it produces the 'right result' in a given use case. We do not stop to consider what other possible ways in which the code might be used in the future, or how our code will respond to common changes to the database environment, such as a change in the database language setting, or a change to the nullability of a table column, and so on. In the short-term, this approach is attractive; we get things done faster. However, if our code is designed to be used for more than just a few months, then it is very likely that such changes can and will occur, and the inevitable result is broken code or, even worse, code that silently starts to behave differently, or produce different results. When this happens, the integrity of our data is threatened, as is the validity of the reports on which critical business decisions are often based. At this point, months or years later, and long after the original developer has left, begins the painstaking process of troubleshooting and fixing the problem. Would it not be easier to prevent all this troubleshooting from happening? Would it not be better to spend a little more time and effort during original development, to save considerably more time on troubleshooting, bug fixing, retesting, and redeploying? This is what defensive programming is all about: we learn what can go wrong with our code, and we proactively apply this knowledge during development. This book is filled with practical, realistic examples of the sorts of problems that beset database programs, including: - Changes in database objects, such as tables, constraints, columns, and stored procedures. - Changes to concurrency and isolation levels. - Upgrades to new versions of SQL Server. - Changes in requirements. - Code reuse. - Problems causing loss of data integrity. - Problems with error handling in T-SQL. In each case, it demonstrates approaches that will help you understand and enforce (or eliminate) the assumptions on which your solution is based, and to improve its robustness. Ultimately, the book teaches you how to think and develop defensively, and how to proactively identify and eliminate potential vulnerabilities in T-SQL code.

"Sinopsis" puede pertenecer a otra edición de este libro.

About the Author:

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 regularly blogs on sqlblog.com, mostly about database unit testing, defensive programming, and query optimization. Alex has written multiple articles on simple-talk.com and devx.com, and contributed a chapter to "MVP Deep Dives" book. Currently he 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. In his leisure time Alex prepares for and runs ultramarathons.

"Sobre este título" puede pertenecer a otra edición de este libro.

Comprar nuevo Ver libro

Gastos de envío: GRATIS
A Estados Unidos de America

Destinos, gastos y plazos de envío

Añadir al carrito

Los mejores resultados en AbeBooks

1.

Alex Kuznetsov
Editorial: Red Gate Books (2010)
ISBN 10: 190643445X ISBN 13: 9781906434458
Nuevos Paperback Cantidad: 1
Librería
Irish Booksellers
(Rumford, ME, Estados Unidos de America)
Valoración
[?]

Descripción Red Gate Books, 2010. Paperback. Estado de conservación: New. book. Nº de ref. de la librería M190643445X

Más información sobre esta librería | Hacer una pregunta a la librería

Comprar nuevo
EUR 88,56
Convertir moneda

Añadir al carrito

Gastos de envío: GRATIS
A Estados Unidos de America
Destinos, gastos y plazos de envío