Home |  Writing |  Consulting |  Schedule |  Scripts |  Links |  About

Paul's Blog...
Top Posts
Why use Stored Procs?
10 lessons from 35K tps
SQL Server:Fresh Vision
SQL Myths
Data Architecture
CodeGen AutoAudit Trail

CS TechCast
TechEd ArCast
PASSCamp 2008 Panel
SQL DownUnder

Locations of visitors to this page

Smart Database Design
SQL Server Development Best Practices

Design and development principles for SQL Server Database Professionals:
database architects, data modelers, database developers, web developers, and .NET developers
who want to develop high-performance SQL Server database.

Seminar Dates

Tucson, AZ Oct 26-28, 2008 $999


Why Smart Database Design?

Most database architects and developers spend years learning how to design and develop database projects that perform well.

Paul has built a career of turning around failing database projects. He knows what works, what doesn't, and why. With Smart Database Design, you'll learn the key decision points for any database project, how to evaluate the options, and how to both reduce risk and develop the database faster with better results.

And, what's even more important than designing a successful project is knowing why.
Database performance, scalability, and extensibility don't happen by accident.

The truth is that the way the database is designed is the single greatest factor determining the performance of the database.

Smart Database Design Smart Database Design is the premise that an elegant physical schema makes the data intuitively obvious and enables writing great set-based queries that respond well to indexing. This in turn creates short, tight transactions which improves concurrency and scalability while reducing the aggregate workload of the database.

This flow from layer to layer becomes a methodology for designing, developing, and optimizing databases.
The core of Smart Database Design is based on the six primary goals of every database:
Usability, Data Integrity, Performance/Scalability, Extensibility, Security, and Availability.

Every option and pattern for every design and development decision for each layer (schema, queries, indexing, concurrency, adv. scalability) is analyzed by how the option impacts, improves, or risks these six goals.

As you can see, Smart Database Design is more than a collection of best-practices; it's the business and architectural case for the best-practices.
Database Goal Decision Matrix

You Will Learn:

  • How to evaluate database design decisions.

  • Which design errors are the most costly in the long run and how to avoid them.

  • The keys to designing an elegant, efficient database physical schema that's fast but also easy to query.

  • How to avoid the trap of over-normalization and overly complex databases.

  • Why denormalization usually hurts performance and when to responsibly denormalize.

  • How to select the best T-SQL solution for every type of problem.

  • The four situations when a cursor is the best solution.

  • The three methods of refactoring complex cursors into set-based solutions.

  • How to avoid locking and blocking in the first place, and what to do when it's already a problem.

  • How to analyze the database workload and develop a comprehensive indexing strategy.

  • Exactly how to best employ clustered and non-clustered indexes.

  • The ten worst errors in SQL Server development.

  • How to think like a data architect.

  • Who Should Attend:

  • Data Architects who want to design balanced, extensible database
  • Data Modelers who want to design high-performance database physical schemas
  • Database Developers tasked with improving the performance of a legacy database
  • Database Professionals designing and developing a new database
  • .NET or web developers who design their own SQL Server databases
  • Seminar Agenda:

    1) Data Architecture
  • Defining Data Architecture / Enterprise Data Architecture
  • Data Architecture Principle
  • Six Database Design Goals
  • 2) Smart Database Design
  • RDBMS System
  • Smart Database Design Layers
  • Applying the Methodology
  • 3) Physical Schema Performance
  • The Modeling Process
  • Designing Entities
  • Normalization and the Rules of One
  • Data Design Patterns
  • Generalization
  • Responsible Denormalization
  • Primary and Foreign Keys
  • Situational Modeling
  • Muck Tables
  • Managing Optional Data
  • Data-Driven Designs
  • Object-Database Patterns
  • 4) Set-based Queries
  • Recommended Solutions
  • Logical Query Flow
  • Cursor Strategies and Refactoring Cursors
  • Hierarchical Patterns
  • T-SQL Best Practices
  • Query Plan Reuse
  • 5) Zen and the Art of Indexing
  • Index Structures
  • Scans, Seeks, and SARGS
  • Query Paths
  • Base Indexes
  • Comprehensive Indexing Strategy
  • 6) Managing Transactions, Locking & Blocking
  • Transactional Integrity & ACID
  • Isolation Levels and Locks
  • Transaction Log Flow
  • Locking and Blocking
  • Optimistic Locking
  • Triggers
  • 7) Advanced Scalability
  • Disk Subsystem Planning
  • Partitioning
  • Indexed Views
  • Filtered Indexes
  • Data Compression
  • Seminar F.A.Q.

  • What materials will I receive at the workshop?
    Attendees a spiral binder with all the slides printed for note taking.

  • What's the seminar's style?
    Paul's style is very interactive with lively discussions and stories. Several times during the seminar, you'll break into small groups to discuss an issue or role-play a development situation.

  • We're not designing a new database but trying to optimize our current database. Will these optimization techniques still apply?
    Absolutely. Design principles are easiest to implement on a clean slate, but they become even more critical when optimizing a production database.

  • I'm not a SQL Expert, will I be able to keep up with an advanced course?
    Yes. A basic familiarity of SQL Server, data modeling, and T-SQL programming is assumed, but you don't need to be a SQL expert to benefit from this course.

  • We're planning on upgrading but still running SQL Server 2005. How much of the course is specific to SQL Server 2008?
    The design principles, and almost all of the implementation details apply to both SQL Server 2005 and SQL Server 2008. Where new features of SQL Server apply, they are explained. The proofs and examples use SQL Server 2008.

  • Theory's great, but is the seminar practical?
    Theory without practical implementation is useless. The seminar is designed around a decision template that focuses on the design and development decisions you must face with every project.

  • What are the seminar hours?
    9 am until 4:30 pm with a 1 hour break for lunch.

  • May I bring my notebook computer?
    Yes, please do. You're encouraged to try the scripts and proofs for yourself.

  • Is the seminar competitively priced?
    Yes. The average cost per day for advanced SQL Server training nationally is about $580.

  • Are questions answered after the class?
    Yes. Paul answers all email from students.

  • Can we offer an in-house seminar within our organization?
    Yes. Paul can present in-house training customized to your specific needs. This format has the advantage of being able to address specific issues privately.

  • What is the dress code?
    Dress is business casual. Wear comfortable clothing and bring a sweater or jacket in case the room is cool.

  • Can I just "show up" for a seminar?
    I don't recommend it, there may not be any available seats. It's best to register, even if it's a last minute registration.
  • Attendee Comments

    Paul, thanks for coming out to IBS. Iíve already needed to use some of the ideas you showed us. Iím even looking forward to wading through our indexes and cleaning things out.
    - Ryan Opfer

    This class was great. Paul was willing to take the time needed when I had a question, and always had a good answer. I came away with an ability to explain things Iíve always heard before but could never quite articulate. I really appreciated the practical approach that made the concepts we covered applicable to my job right now. It was especially helpful to get an expert's advice on using the new features of SQL Server 2005.
    - Josh Smith

    I greatly appreciated the down to earth approach and the way that you presented the different topics. It was helpful to talk about indexes in depth and seeing and understanding the new features of SQL 2005 was helpful too. You not only explained the details, but you explained the design reasons why certain techniques work and when to apply them. Excellent class - so much better than a standard class, thanks!
    - Marlin Brubaker

    Session is very well formed, educative, and interesting.

    Paul really knows his stuff.

    Lots of very good advice and lots of info. Very good session. Well-worth the price.

    Fun and in depth, the real world stories were interesting and good to listen to.

    Very detailed and the material is what i was looking for.

    Very good speaker and great session, could easily extend over several days and keep interest.

    Very Enjoyable. Learned a lot.

    I like SQL Server Smart Database Design.

    He is a pleasure to listen to, great speaker and it makes the session very dynamic. The content was very good too.

    - Pre-con Comments