Defensive Database Programming with SQL Server



Download free course Defensive Database Programming with SQL Server, pdf file on 389 pages by Alex Kuznetsov.
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.

Table of contents

  • Basic Defensive Database Programming Techniques
  • Code Vulnerabilities Due to SQL Server Misconceptions
  • Surviving Changes to Database Objects
  • When Upgrading Breaks Code
  • Reusing T-SQL Code
  • Common Problems with Data Integrity
  • Advanced Use of Constraints
  • Defensive Error Handling
  • Concurrent Queries and Transaction Isolation Levels
  • Developing Modifications that Survive Concurrency
Pages : 389
Size : 8.6 MB
File type : PDF
Downloads: 141
Created: 2022-02-02
License: For personal or educational use
Author(s): Alex Kuznetsov
Defensive Database Programming with SQL Server

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others programming Tutorials

Programming Languages: Application and Interpretation

Certified Programming with Dependent Types

Basic Programming Concepts

Is Parallel Programming Hard, And, If So, What Can You Do About It?

Fundamentals of C++ Programming

Others related eBooks about Defensive Database Programming with SQL Server

JavaScript for impatient programmers

Download free course JavaScript for impatient programmers, pdf file on 526 pages by Axel Rauschmayer....

IPython Interactive Computing and Visualization Cookbook

This book contains many ready-to-use, focused recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code. You will apply these state-of-the-art methods to various real-world examp...

Android Programming Tutorials

This book shows you what you can do with Android, through a series of 40 individual exercises. It gives you hands-on instruction in how to build sophisticated Android applications, using many of the technologies outlined in CommonsWare's other Android books. ...

Java programming

This document is about a Java programming ,a free pdf tutorial for beginners a basic knowledge of object-oriented programming is assumed....

Objective-C tutorial for professionals

Download free Objective-C tutorial course in PDF, training file in 51 chapters and 129 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Reverse Engineering for Beginners

Download free ebook about Reverse Engineering for Beginners. A PDF tutorial on 942 pages by Dennis Yurichev....

Evolve the Monolith to Microservices with Java and Node

Download free course Evolve the Monolith to Microservices with Java and Node, pdf file on 132 pages by Sandro De Santis, Luis Florez, Duy V Nguyen, Eduardo Rosa....

How To Code in Go

This book is designed to introduce you to writing programs with the Go programming languag..., download free Go tutorial in PDF (447 pages) created by Cory LaNou ....

IOS tutorial for developers

Download free PDF tutorial about IOS programming, learn how to creat your IOS applications, this document is a complet training course in 893 pages....

5 Unsung Tools of DevOps

Download free course 5 Unsung Tools of DevOps, pdf file on 21 pages by O'Reilly Media....