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.
T-SQL Tips & Tricks
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.
- 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)
The Lost Science of Set Theory
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.
- SPID/GLASS User Groups, Detroit, MI on Jun 10, 2021 (Virtual)
- SQL Saturday #887, Salt Lake City, UT on Aug 2, 2019
- The Church of Jesus Christ of Latter-day Saints, Riverton, UT on Jun 14, 2019
- Utah County SQL Server Users Group, American Fork, UT on Feb 21, 2019
- 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
Battle Scars: Porting a SQL Server Application to Netezza
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.
- 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 Mountain Data Utah Users Group on Sep 9, 2015 (video)
- SQL Saturday #402, Indianapolis, IN on Aug 8, 2015
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.
- Salt Lake City SQL Server Users Group on Oct 17, 2016
- SQL Saturday #530, Indianapolis, IN on Aug 13, 2016
How to Give a Technical Presentation
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.
- Data Saturday #8 on May 15, 2021 (Virtual)
- Big Mountain Data & Dev, Salt Lake City, UT on Oct 22, 2020 (Virtual)(video)
- SQL Saturday #951, Tampa, FL on Feb 29, 2020
- 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
“There Be Whales Here!” — Big Data in SQL Server
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.
- SQL Saturday #946, Ft. Lauderdale, FL on Feb 22, 2020
- SQL Saturday #733, Atlanta, GA on May 19, 2018
- Saturday Night SQL, Virtual Chapter on March 10, 2018
- PASS Summit 2017, Seattle, WA on November 3, 2017 (video)
- CincyPASS, Cincinnati, OH on July 18, 2017
- Ohio North SQL User’s Group, Cleveland, OH on May 2, 2017
Introduction to Relational Database Design Patterns
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!
- Pinellas SQL Server User Group, Clearwater, FL on May 19, 2020 (Virtual)
- SQL Saturday #629, Indianapolis, IN on Aug 12, 2017
- SQL Saturday #652, Atlanta, GA on Jul 15, 2017
Discover the Hidden Mysteries of Common Table Expressions
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.
- SQL Saturday #745, Indianapolis, IN on Aug 11, 2018
Tally Ho! — Explore the Varied Uses of Tally Tables
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.
- IndyData (formerly IndyPASS), Indianapolis, IN on Jan 19, 2021 (Virtual)
- SQL Saturday #951, Tampa, FL on Feb 29, 2020
- SQL Saturday #908, Denver, CO on Oct 12, 2019
- Salt Lake City SQL Server User’s Group, Murray, UT on May 8, 2019 (video)
- SQL Saturday #801, Orlando, FL on Oct 6, 2018
Defining What’s Normal — The Basics of Database Normalization
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!
- SQL Saturday #920, Portland, OR on Nov 2, 2019
A Practical Guide to Set-Based Queries
T-SQL queries, stored procedures, and functions that are poorly written is the main contributor to performance degradation in SQL Server. SQL Server is optimized for set-based processing over procedural processing. The sad reality is that too much code is written from a procedural point of view due to the fact that many database developers started out as procedural programmers. Also, many applications merely use SQL Server as a data storage and do not take advantage of it’s incredible capabilities. This session will take a look at what set-based queries are, how to identify inefficient procedural processes, and how they can be re-written as efficient set-based queries.
- Greater Lansing SQL Server (GLASS) & SQL PASS in Detroit (SPID), Michigan on Jun 10, 2021 (Virtual)