C. J. Date is the world’s best known relational advocate. His innovative approach to teaching database design theory will help you create robust, flexible, and accurate real-world databases. This seminar will benefit professionals using Oracle, SQL Server, MySQL, PostgreSQL, and DB2 systems alike.

Enroll Now

Locations, Dates, and Prices

This is a one-time special event that will be taught for 2 days beginning February 2, 2012 in the DFW Texas area.

The price is US$1,250 per student. Group discounts are available.

About This Seminar

How many of these questions can you answer?

  1. What’s the difference between 3NF and BCNF?
  2. Is it true that if a table has just two columns, then it’s in 4NF?
  3. Is it true that if a table has just one key and just one other column, then it’s in 5NF?
  4. Is it true that if a table is in BCNF but not 5NF, then it must be all key?
  5. Is it true that 5NF tables are redundancy free?
  6. What precisely is denormalization?

As you can see, these questions all have to do with normalization and normal forms. Normal forms are important, of course, but there’s much more to database design theory than just normal forms as such. Here are some more questions:

  1. What is Heath’s Theorem, and why is it important?
  2. What is The Principle of Orthogonal Design?
  3. What makes some JDs reducible and others irreducible?
  4. What is dependency preservation, and why is it important?
  5. Should data redundancy always be avoided? Can it be?
  6. What’s the chase?

All of these questions have to do with design theory. Design theory is the scientific foundation for database design, just as the relational model is the scientific foundation for database technology in general. And just as anyone professionally involved in database technology in general needs to be familiar with the relational model, so anyone involved in database design in particular needs to be familiar with design theory.

But design theory has its problems ...and one of those problems, from the practitioner’s point of view at any rate, is that it’s riddled with terms and concepts that are difficult to understand and don’t seem to have much to do with design as actually done in practice. Now, nobody could claim designing databases is easy; but a sound knowledge of the theory can only help. In fact, if you want to do design properly—if you want to build databases that are robust and flexible and accurate—then you really have to come to grips with that theory. There’s just no alternative: at least, not if you want to claim to be a design professional. Proper design is so important! After all, the database lies at the heart of much of what we do in the computing world; so if the database is badly designed, the negative impacts can be extraordinarily widespread.

Attend this seminar, then, and learn the answers to questions like those above, as well as much, much more. To be specific, the seminar will:

  • Review, but from a possibly unfamiliar perspective, aspects of design you should already be familiar with
  • Explore in depth aspects you’re probably not already familiar with
  • Provide clear and accurate explanations and definitions of all pertinent concepts
  • Not spend a lot of time on well-known material such as 2NF and 3NF

Overall, the intent is to serve as a painless introduction to design theory for database professionals.


On completion of this seminar, attendees will:

  • Understand, and be able to apply, the scientific principles of normalization and orthogonality that underlie design practice
  • Know which normal forms are important, how they differ from one another, and how to achieve them
  • Understand dependencies and the concepts of dependency inference and dependency preservation
  • Generally, understand the contributions (and the limitations) of design theory

Who Should Attend

This is an advanced class; attendees will be expected to be familiar with the relational model and to have a professional interest in database design. Prior attendance at the Chris Date Master Class SQL and Relational Theory: How to Write Accurate SQL Code is highly recommended.

The seminar is not meant for beginners. Attendees will be expected to have at least an elementary familiarity with database concepts in general and the SQL language in particular. Attendees will also be expected to attempt a number of pencil and paper exercises in class. Solutions to those exercises will be discussed in class as well.

What You Get

Attendees will receive:

  • Two days (12 classroom hours) with Chris Date.
  • A workbook containing copies of the speaker’s slides.

Topic Outline

  1. Preliminaries
    • Terminology
    • The running example
    • The place of design theory
    • Relations
    • Relvars
    • Predicates
    • Propositions
  2. Normalization
    • Objectives
    • Update anomalies
    • The normal form hierarchy
    • Constraints
  3. FDs and BCNF
    • First normal form
    • Functional dependencies
    • Second and third normal form
    • Boyce/Codd normal form
    • Heath’s Theorem
    • Armstrong’s axioms
    • Additional rules
  4. Preserving FDs
    • An unfortunate conflict
    • A 3NF algorithm
    • A BCNF algorithm
    • Boyce/Codd normal form
    • Independent projections
  5. Denormalization
    • Arguments for denormalization
    • What denormalization isn’t
    • Denormalization considered harmful
  6. JDs and 5NF
    • Join dependencies
    • Fifth normal form
    • Cyclic rules
    • A useful theorem
    • FDs aren’t JDs
    • Update anomalies revisited
  7. Implicit dependencies
    • Irrelevant components
    • Combining components
    • Irreducible JDs
    • The chase algorithm
  8. MVDs and 4NF
    • Multivalued dependencies
    • Fourth normal form
    • Axiomization
    • Embedded dependencies
  9. Further normal forms
    • Equality dependencies
    • Sixth normal form
    • Superkey normal form
    • Redundancy free normal form
    • Essential tuple normal form
    • Domain-key normal form
  10. Orthogonality
    • Two cheers for normalization
    • A motivating example
    • Tuples vs. propositions
    • What orthogonality isn’t
    • The Principle of Orthogonal Design
  11. Redundancy
    • A little history
    • Database design is predicate design
    • A series of examples
    • Managing redundancy
    • A definition
  12. Do we need primary keys?
    • Arguments in favor
    • Relvars with more than one key
    • The invoices and shipments example
    • The applicants and employees example
    • Recommendations

About Chris Date

C. J. Date is the world’s best known relational advocate. He is best known for his book An Introduction to Database Systems (8ed, Addison-Wesley, 2004), which has sold some 850,000 copies and is used by several hundred colleges and universities worldwide. He is one of the inventors of our database industry. Mr. Date was introduced into the Computing Industry Hall of Fame in 2004. He enjoys a reputation that is second to none for his ability to communicate complex technical subjects in a clear and understandable fashion.