In this section you can browse various prior presentations at user groups, SQL Saturday sessions, or other events (see the dates and locations). Presentations without dates and locations have yet to be scheduled but are available upon request.


If you are interested in a presentation download, click the button below. If you use any of this material, please be considerate and cite your source.

Download Section

T-SQL Tips & Tricks

Abstract

Do you ever wonder how you can make T-SQL do what you really want? Do you want to know how to make it jump through loops, perform amazing twists and turns, and execute other wondrous performances? In this session you'll learn about various features such as CTE, ROW_NUMBER, and other great features that will enable you to make your T-SQL queries and stored procedures more efficient and give you the results you really want.

Presented at:

  • MichianaPASS, South Bend, IN on May 29, 2017
  • SQL Saturday #514, Houston, TX on May 14, 2016
  • SQL Saturday #357, Cleveland, OH on Feb 7, 2015
  • SQL Saturday #304, Indianapolis, IN on Aug 9, 2014 (Part 2)
  • SQL Saturday #190, Denver, CO on Sep 28, 2013 (Part 1)
  • SQL Saturday #246, Salt Lake City, UT on Sep 7, 2013 (Part 2)
  • SQL Saturday #242, Indianapolis, IN on Aug 10, 2013 (Part 1)
  • SQL Saturday #153, Salt Lake City, UT on Oct 20, 2012 (Part 1)
  • IndyPASS, Indianapolis, IN on Jan 17, 2012 (Part 1)

Download

The Lost Science of Set Theory

Abstract

Many database developers today do not have a Computer Science degree and may also have begun their career developing software using procedural programming languages (Java, C#, etc.). As a result, they may not have the background needed to conceptualize solutions in terms of sets of data and therefore may not be able to develop efficient set-based queries. In this session, we will review the basics of set theory, relational algebra and how they apply to database development to turn cursors, loops, and other procedural programming practices into efficient set-based operations that make the most use of a relational database engine.

Presented at:

  • SQL Saturday #600, Chicago, IL on Mar 11, 2017
  • SQL Saturday #572, Portland, OR on Oct 22, 2016
  • SQL Saturday #557, Minneapolis, MN on Oct 1, 2016
  • SQL Saturday #531, Louisville, KY on Aug 6, 2016
  • SQL Saturday #527, Columbus, OH on Jul 16, 2016
  • SQL Saturday #521, Atlanta, GA on May 21, 2016
  • SQL Saturday #473, Cleveland, OH on Feb 6, 2016
  • SQL Saturday #436, Las Vegas, NV on Sep 12, 2015
  • SQL Saturday #349, Salt Lake City, UT on Oct 25, 2014
  • SQL Saturday #331, Denver, CO on Sep 20, 2014
  • IndyPASS, Indianapolis, IN on Sep 16, 2014
  • SQL Saturday #304, Indianapolis, IN on Aug 9, 2014
  • SQL Saturday #308, Houston, TX on May 10, 2014

Download

Battle Scars: Porting a SQL Server application to Netezza

Abstract

Battle scars are proof of the struggles endured and won. Find out about one particular battle in porting a SQL Server application to Netezza. In this session, we’ll review Big Data options and the differences between them. We’ll specifically see how Netezza and other Massively Parallel Processor (MPP) systems are different from Symmetric Multi-Processor (SMP) systems like SQL Server and witness the lessons learned in the struggle.

Presented at:

  • SQL Saturday #643, Louisville, KY on Aug 5, 2017
  • SQL Saturday #557, Minneapolis, MN on Oct 1, 2016
  • Salt Lake City SQL Server Users Group and Big Data Utah Users Group on Sep 9, 2015
  • SQL Saturday #402, Indianapolis, IN on Aug 8, 2015

Download

XML Xtreme!

Abstract

At some point we’ve all had to work with XML, and you may have even searched XML documents in a text editor. However, did you know that you can query XML documents within SQL Server? In this session, I’ll show you how you can query XML documents as a data source right along with SQL Server tables and how to optimize your queries for better performance. You’ll learn how to check conditions that determine if the data you need exists and how to deal with incomplete or missing data.

Presented at:

  • Salt Lake City SQL Server Users Group on Oct 17, 2016
  • SQL Saturday #530, Indianapolis, IN on Aug 13, 2016

Download

How to Give a Technical Presentation

Abstract

Most people don't like to speak in public and technical folks are certainly no exception. Yet, you've got some ideas for a great presentation but just don't know how to go about putting it all together. On top of that, how do you go about giving the presentation itself? This session will cover how to pull your material together in an organized fashion and present it such that your audience can follow along and get the message you want to relay. We'll also discuss how to deal with issues that cause presenters stress to help you to make the process enjoyable and rewarding for all.

Presented at:

  • SQL Saturday #653, Columbus, OH on Jul 22, 2017
  • SQL Saturday #595, Cleveland, OH on Feb 4, 2017
  • IndyPASS, Indianapolis, IN on Dec 20, 2016

Download

"There Be Whales Here!" -- Big Data in SQL Server

Abstract

Due to varying definitions of Big Data which confuse data volume and data organization, the common perception is that Big Data requires the use of Hadoop, MongoDB, or another NoSQL database. SQL Server can easily store and manipulate very large volumes of data and perform quite well provided the database is properly set up and tuned. In this session we'll cover some of the definitions and misconceptions of Big Data, look at some Big Data solutions that went horribly wrong and review a case where Big Data was successfully implemented in SQL Server. Finally, we'll take a peek under the covers to see how SQL Server best handles Big Data through proper data models, table designs, performance tuning, and T-SQL techniques.

Presented at:

  • SQL Saturday #733, Atlanta, GA on May 19, 2018
  • Saturday Night SQL, Virtual Chapter on March 10, 2018
  • PASS Summit, Seattle, WA on November 3, 2017
  • CincyPASS, Cincinnati, OH on July 18, 2017
  • Ohio North SQL User's Group, Cleveland, OH on May 2, 2017

Download

Introduction to Relational Database Design Patterns

Abstract

The use of design patterns has been quite popular in object-oriented development to help identify best practices for various situations. Unfortunately, this practice has not really reached the world of relational database architecture where they are just as applicable. In this session, we'll discuss some techniques and best practices that help make database design more effective and efficient not only in operation but also in design and administration. With the use of some example scenarios, you'll walk away with a better understanding of design patterns that you can apply right away!

Presented at:

  • SQL Saturday #629, Indianapolis, IN on Aug 12, 2017
  • SQL Saturday #652, Atlanta, GA on Jul 15, 2017

Download

Discover the Hidden Mysteries of Common Table Expressions

Abstract

Although they have been around since SQL Server 2005, Common Table Expressions (CTEs) have been a complete mystery to many. As a result, there are many misunderstood myths and assumptions surrounding them. This session will explore deep into CTEs, what they are, what they are not, and how they work. We'll look at situations where they can really help improve not only code clarity but also performance especially when compared side-by-side to usual methods. We'll also identify situations where CTEs can be used incorrectly causing hidden performance problems.

Presented at:

  • SQL Saturday #745, Indianapolis, IN on Aug 11, 2018

Download

Tally Ho! -- Explore the Varied Uses of Tally Tables

Abstract

Because SQL Server is designed to efficiently operate with set-based queries, it does not perform as well with loops and cursors. However there are situations where you really need some type of a loop. Tally tables give you the best of both worlds by allowing you to effectively "loop" through records in a set-based manner. We'll explore what tally tables are, how they work, and more importantly review some of the many ways you can use them to turn your loops and cursors into efficient set-based operations.

Presented at:

  • SQL Saturday #801, Orlando, FL on Oct 6, 2018

Download

Defining What's Normal -- Basics of Database Normalization

Abstract

Determining how to efficient design database structures for a given application has always relied on the same old answer: "It depends!" So, how do you determine what level of normalization your data requires? This session will review the principles of data normalization, show the impact that normalization can have on performance and data integrity, and just as importantly, show you when it's OK to break the rules and denormalize. We will cover some case situations where it's better not to be normal!

Presented at:

A Developer's Guide To A Neglected Database

Abstract

You've just landed a new job or a new task. You are charged to maintain and improve a mission-critical database that has been around for quite some time and performs poorly. There is no one available to provide guidance and there is little to no documentation. Over time tables have grown crazy and indexes have been neglected. You discover that stored procedures were written with procedural methods and/or (gasp!) dynamic SQL.

How do you get the database under control without impacting production? This session will focus on techniques that allow you to explore the database, understand what is needed and how to make improvements for performance without negatively impacting unknown processes. We will cover index pruning, finding poorly written T-SQL, and other techniques to bring control to your neglected database.

Presented at: