SQL: Read a Database like an Expert
5.0 (2 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
41 students enrolled
Wishlisted Wishlist

Please confirm that you want to add SQL: Read a Database like an Expert to your Wishlist.

Add to Wishlist

SQL: Read a Database like an Expert

Learn how to understand a database and what a database is doing for your business.
5.0 (2 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
41 students enrolled
Created by Tom Gillies
Last updated 2/2017
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 1 Article
  • 17 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Learn about an unfamiliar database quickly
  • Construct a physical data model
  • Recognise the role of each table
  • Recognise clusters or groups of tables
  • Recognise how business processes interact with the tables
View Curriculum
  • You should recognise a basic SQL SELECT statement
  • You will need a suitable Windows system if you are going to install SQL Server and do the exercises yourself.

What would you do if you were presented with an unfamiliar database and no documentation?

When you have completed this course you will be able to answer this question. You will have a plan, a method and several techniques you can use. This course is for:

  • Analysts
  • Aspiring System or Database Designers
  • Developers.

You will learn how to find your way around a database quickly and efficiently. You can become the “go to” person in your specialisation simply by being able to “read a database like a book”. You become the person with the map, or the book of instructions!

  • If you are an analyst this course will enable you to write better queries more quickly, and you will learn how the database influences what the system can do.
  • If you are moving into database design, learning to “read” will allow you to use existing databases as a resource which you can understand, criticise and copy.
  • As a developer this course shows you how to use the database as documentation for the system it supports.

I wrote this course as an extended tutorial. I started with one of Microsoft’s example databases and documented the method I use as I went through it. Although I used SQL Server and the associated tools, the method is applicable to most SQL databases. We will go through the same journey together and you will learn what I discovered along the way. You can choose to repeat what I do yourself to gain experience with the technique, or you can choose simply to observe.

Come along! Sign up! There are some surprises and a lot of fun to be had! 

Who is the target audience?
  • This course is for people who know a little SQL and want to explore more complex databases.
  • This course is probably not for you if you are looking to write advanced SQL queries.
Curriculum For This Course
26 Lectures
Introductions: The course and the lecturer
3 Lectures 10:03

When you have completed this lecture you will know:

  • That the objective of this course is for you to “Read an SQL Database like a book” using the DOGI method.
  • What a physical data model looks like
  • How the course is structured
  • All you need to start is that you understand the basic SELECT statement.
Preview 02:46

When you have completed this lecture you will know a little more about me, my background and why I am qualified to teach this course.

Preview 03:16

This lecture introduces the DOGI method which we will use through the rest of the course.

  • D = Diagram
  • O = Organise
  • G = Group
  • I = Individual
Preview 04:01

What have you learned about the structure of the course, the DOGI method and the I_START techniques?

2 questions
D=Diagram: Create a Diagram
1 Lecture 03:40

When you have completed this lecture you will have seen how to create a physical database diagram using SSMS (SQL Server Management Studio).

Preview 03:40

How much do you remember about creating database diagrams?

Creating a diagram
2 questions
O=Organise: Organise the Diagram
5 Lectures 27:55

The first stage of Organising a diagram is to make the tables flow “Top to Bottom” by arranging them so that the “one” end of 1-to-many relationships is towards the top, and the “many” end is towards the bottom

Organising: Top to Bottom

The next stage of Organising a diagram is to adjust the positions off the tables, recognising the role of each table according to “layers” rules. The result can be recognised by “Volkswagen”!

Organising: Layers - "Volkswagen"

Table positions can also be adjusted using the idea of “Affinity” where tables which participate in related processes are moved closer together.

Organising: Columns - Affinity

In this lecture you will learn how to recognise groups or clusters of tables in the organised diagram.

Organising: Clusters or Groups

When you have completed this lecture you know how to enhance your diagram with notations and how to export the diagram for use in presentations and other documentation.

Improving your diagram

How much do you remember about Organising your diagram?

Organising your Diagram
2 questions
G=Group: Work with a Group
5 Lectures 28:36

This lecture provides an overview of this section. 

  • It reviews the groups or clusters we identified on the diagram
  • Describes the way we are going to tackle them
  • Suggests alternative strategies.
Preview 03:01

This lecture explores the Customer Address group and you will learn why a Customer is allowed to have more than one address and how this is reflected in the database. 

Group: Customer Address - and a puzzle! (Part 1)

What is going on with the numbers of Customers and Addresses? Can we get any guidance from the database and the data? This lecture shows you how to get answers using simple SQL.

Group: Customer Address - investigate the puzzle! (Part 2)

This lecture introduces the Product group. We will focus particularly on Product, Product Model and Product Category and you will learn what each of these different tables contributes.

Group: Product

The Sales Order group is the heart of this database. When you have completed this lecture:
  • You will understand what the Header and Detail tables are doing, and
  • You will understand why this is important
  • You have seen that there are additional relationships between Sales Order Header and Address

    Group: Sales Order

    How much have you learned about working with groups of tables?

    Working with Groups
    5 questions
    I=Inside: Individual Tables: Types, Status and Dates
    6 Lectures 33:14

    In this lecture well look at the Customer Address group in much more detail. When you have completed this lecture:

    • You will know how to use the DISTINCT keyword to identify the possible values of a Type or Status column.
    • You will know how the actual values used relates to common practice in the business world
    • You will have gained insight into the designer’s intentions for the database and the processing around “Taking an Order”
    • Finally, you will be equipped to criticise a possible defect in the design of this database
    Inside: Customer Address: Association and Type

    In this lecture we'll look inside the tables Sales Order Header and Sales Order Detail. When you have completed this lecture:

    • You will have learned about the use of Status columns
    • You will have seen me attempt to use the DISTINCT keyword again. This time it won’t be so productive.
    • You will have learned that there are sometimes “date” columns associated with status 
    • Finally, you have seen that in this case the allowable status values are documented in the column description.
    Inside Sales Order - Status

    In this lecture we will look in detail at the Product table. When you have completed this lecture, you will have learned that:

    • A sequence of dates can be used to define various “states”, even when there is no status column
    • This arrangement can be used to define changes in advance
    • This is a common way of handling seasonal products and similar situations
    Inside Product: Status by Dates

    • In this lecture we will look inside the Product Category table.
    • You will learn one way categories are represented in data.
    • You will learn how to use simple queries to explore such a hierarchy.
    • You will see how the hierarchy in this database can be presented.
    Inside: Product Category

    • In this lecture we will look inside the Product Description Group of tables.
    • You will learn another way of tables being used together.
    • This time you will see a case where several different values are valid at the same time.
    • In this case this structure is being used to provide support for several languages
    Group and Inside: Product Description

    Review of the "Inside" step of DOGI

    Test how much you remember from the lectures about investigating the tables inside the various groups.

    Working with tables Inside the Groups
    10 questions
    Using Schemas - The "High Level View"
    2 Lectures 11:52

    In this lecture we will look “schemas” and how they are used. You will learn:

    • That the word “schema” is overloaded with meaning and that this creates scope for confusion
    • You will learn what a “schema” is in SQL
    • You will see how “schema” is used in a multi-part name
    What is a "schema"?

    • In this lecture we will use a schema to identify the members of a special group of “Technical Tables”. 
    • You will learn about the Technical Tables in this database.
    • You will learn about the use of Technical Tables in general.
    Group: Technical Tables

    See what you have learned about schemas

    Database Schemas
    2 questions
    Relating Data Structures and Values to Processes
    2 Lectures 11:59

    When you have completed this lecture you will understand what State Transition Diagrams are and how they can be used.

    Using States and State Transition Diagrams

    When you have completes this lecture you will have:

    • Seen State Transition Diagrams constructed in practise. In this case for:
      • Sales Order
      • Product
    • Seen those State Transition Diagrams used to identify processes
    • Seen those State Transition Diagrams related to Use Cases
    State Transition Diagrams in Practice
    Wrapping Up
    2 Lectures 07:54
    • This lecture reviews the material taught in this course.
    • It will remind you that you are aiming to “Read a database like a book”.
    • The topics headings are:
      • Using Schemas to create high-level groups of tables
      • The DOGI method
      • The I_START tools
      • Technical Tables
      • State Transition Diagrams
    What you have learned

    This course has covered a lot of ground in a short time.

    At the end of this lecture you will have considered what you want to do next to consolidate what you have learned and what new subjects you want to explore next

    Where Next?
    About the Instructor
    Tom Gillies
    4.4 Average rating
    42 Reviews
    1,935 Students
    4 Courses
    Business Analyst and Educator

    I'm Tom Gillies and I have been a Business and Technical Analyst in the Information Technology industry for the past thirty years.

    My courses are based on my real-world experiences. I am teaching as I wish I had been taught. My objective is to give you enough knowledge to make you reasonably self-sufficient, and enough experience to give you reasonable confidence, while understanding your limitations. I think you will find working at your own pace liberating and you can contact me during the course if you wish to.

    I started my working life as an engineer. I have a BSc in Chemical Engineering from Aston University in Birmingham, England. As a result of my work as an engineering designer, I became interested in computing and eventually I joined IBM as a Systems Engineer, working in pre-sales for customers in the aerospace industry.

    Within IBM, I moved to a consultancy group and worked directly for customers as a Business or Technical Analyst for twenty-five years. I served a wide variety of customers from large “blue chip" corporations and government departments to start-ups. I have designed, developed and maintained computer systems, large and small, on a wide variety of platforms.

    In my experience of the Information Technology industry, I have found that some skills have been of lasting value. SQL is one such technical skill. Problem solving, some analysis techniques and the so-called "soft skills" are others. All of these improve your ability to communicate with both the business and technical staff make you a more valuable member of a team.

    I live in the Republic of Ireland and, when I'm not working for Customers, or writing and supporting courses, I am improving my skill in the Russian language.