Mastering Data Modeling Fundamentals
4.3 (403 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,032 students enrolled

Mastering Data Modeling Fundamentals

Entity-Relationship Techniques and Best Practices
4.3 (403 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,028 students enrolled
Created by Alan Simon
Last updated 3/2020
English [Auto]
Current price: $30.99 Original price: $44.99 Discount: 31% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3 hours on-demand video
  • 1 article
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Master the techniques needed to build data models for your organization.
  • Apply key data modeling design principles through both classic entity-relationship notation and the “crow’s foot” notation.
  • Build semantically accurate data models consisting of entities, attributes, relationships, hierarchies, and other modeling constructs.
  • Convert conceptual data models to logical and physical data models through forward engineering.
  • Students only need a basic understanding of data management concepts and constructs such as relational database tables and how different pieces of data logically relate to one another. The course content builds on these rudimentary ideas; no other prerequisites are needed.

If you are a current or aspiring IT professional in search of sound, practical techniques to analyze and model data as part of the overall data management lifecycle, this is the course for you.

During the course, you’ll put what you learn to work and define sample data model segments in both “classic” entity-relationship notation and also the “crow’s foot” notation to help emphasize the best practices and techniques covered in this course. Each section has either scenario based quiz questions or hands on assignments that emphasizes key learning objectives for that section’s material. This way, you can be confident as you move through the course that you’re picking up the key points about data modeling.

To build this course, I drew from more than 30 years of my own work involving data modeling and related disciplines. Long ago, in the late 1980s, I was a software engineer at what was then the world’s second largest computer systems vendor, Digital Equipment Corporation. I wrote software for a “conceptual and logical database design tool” - in other words, a data modeling tool. My own consulting firm, Thinking Helmet, Inc., specializes in data management and analytics-focused disciplines for which data modeling is essential. I’ve rolled up my sleeves and personally tackled every aspect of what you’ll learn in this course. I’ve even learned a few painful lessons, and have built a healthy share of “lessons learned” into the course material.

In this course, I take you from the fundamentals and concepts of data modeling all the way through a number of best practices and techniques that you’ll need to build data models in your organization. You’ll find many examples that clearly demonstrate the key concepts and techniques covered throughout the course. By the end of the course, you’ll be all set to not only put these principles to work, but also to make the key data modeling and design decisions required by the “art” of data modeling that transcend the nuts-and-bolts techniques and design patterns.

Specifically, this course will cover:

  • Foundational data modeling concepts and fundamentals

  • The symbiotic relationship between data modeling and database design (Hint: the two are not exactly the same!)

  • Different modeling approaches, techniques, and notations that you can put to work

  • The fundamentals of entities, attributes, and relationships, as well as how to express these concepts in multiple modeling notations

  • How we incorporate real-world complexities into our entities, attributes, and relationships

  • The data modeling lifecycle that includes forward engineering a conceptual data model to a logical and then a physical model, as well as how we reverse-engineer a physical data model back to the conceptual level

  • Different software-based approaches for data modeling tools

Data modeling is both an art and a science. While we have developed a large body of best practices over the years, we still have to make this-or-that types of decisions throughout our data modeling work, often based on deep experience rather than specific rules. That’s what I’ve instilled into this course: the fusion of data modeling art and science that you can bring to your organization and your own work. So come join me on this journey through the world of data modeling!

Who this course is for:
  • A business analyst, data engineer, or database designer, currently with little or no exposure to or experience with data modeling, who desires to build a personal toolbox of data modeling best practices and techniques.
  • After completing this course, you will be ready to begin working on real-world data modeling projects, either with expanded responsibilities as part of an existing role or to find a new position involving data modeling. Example positions include database designer, conceptual data modeler, database engineer, and business analyst with an emphasis on data requirements.
Course content
Expand all 37 lectures 02:58:38
+ Welcome
2 lectures 06:49

Who we are and why we created the course, and a first look at what you'll get out of the course.

Preview 03:29

A detailed overview of what the course will cover, and how to follow along with each module to get the most out of the course.

Preview 03:20
+ Data Modeling Fundamentals
7 lectures 32:56

Brief introduction to and overview of what you will learn in this section.

Introduction to Data Modeling Fundamentals

Why do we build data models rather than simply write SQL (or equivalent) code to create database objects? We are after a semantic, non-implementation-specific representation of our data as well as a graphical representation to enhance our understanding.

Preview 08:12

Basic terminology will be introduced as well as the primary object building blocks across various techniques: particularly entities, attributes, and relationships (high-level introduction only at this point).

Basic Data Modeling Concepts and Terminology

We are focusing on entity-relationship modeling, but ER will be compared to semantic data modeling, UML, and other modeling approaches.

Navigate Your Alternatives Among Methodologies, Techniques, and Notations

Database design is implementation-specific, while data modeling is multi-tiered, including physical-level database designs. The two closely related disciplines are explored, and the similarities and differences are explained.

Compare Data Modeling to Database Design

We are focusing on transactional modeling using ER notation, but the same notation can be used for analytical data modeling (i.e., for dimensional modeling a data warehouse) - despite the same notation, the modeling rules are entirely different. My companion course "Introduction to Data Warehousing" covers analytical and dimensional data modeling.

Compare Transactional Data Modeling to Analytical Data Modeling

Pull together key concepts from this section before moving on.

Summarize Data Modeling Fundamentals
Data Modeling Fundamentals
3 questions
+ The Building Blocks of Data Modeling
6 lectures 27:35

Brief introduction to and overview of what you will learn in this section.

Introducing Data Modeling Building Blocks

Entitles are our primary "objects" while attributes are the "fields" of those objects - these are key building blocks and will be described in detail, beginning with entities in this videos.

Preview 05:01

Our data model entities are fleshed out through attributes, and this video describes and shows how to add attributes to our entities in two different modeling notations.

Add Attributes to Your Data Model

A special type of attribute allows more than one possible value (e.g., phone number or e-mail address; we'll see how these are modeled and used, versus single-value attributes.

Use Multi-Valued Attributes in Your Data Model

All ER models are built around relationships among the various entities. Relationships are introduced in this video at an elementary level, building a foundation for the subsequent expansion of complex relationship-oriented topics in future sections.

Build Relationships into Your Data Model

Pull together key concepts from this section before moving on.

Summarize Data Modeling Building Blocks
Build the start of a simple data model involving two entities and their respective attributes.
Basic Data Modeling
1 question
+ Add Real-World Complexities to Entities and Attributes
5 lectures 29:35

Brief introduction to and overview of what you will learn in this section.

Why Real-World Complexities Matter in Data Modeling

Most data modeling techniques support hierarchies, which are a natural part of representing our data (example: "Employee" as a parent but subtypes of "Office Worker" "Contractor" and "Manufacturing Worker" with some differences among the subtypes. How do data models represent and use hierarchies? We'll show examples and discuss the principle of "inheritance" within our data models.

Build Hierarchies for the Entities in Your Data Model

Each attribute in a data model has, at a minimum, a constraint of a specific data type (and, if relevant, field size). Additional constraints can be added to limit data instances to specific values.

Specify Constraints for Your Attributes

Entities in a data model can be classified as either "strong" or "weak," and both terms can be used in multiple ways. This video goes beyond the sometimes confusing "strong vs. weak entity" distinction and describes identification and existence dependencies, along with examples of each.

Specify Cross-Entity Dependencies Through Strong and Weak Entities

Pull together key concepts from this section before moving on.

Summarize Real-World Entity and Attribute Complexities
Expand the beginning data model from Section 3 to add constraints
Entity and Attribute Constraints
2 questions
+ Add Real-World Complexities to Relationships
6 lectures 32:03

Brief introduction to and overview of what you will learn in this section.

Why Relationship Cardinality and Complexities Matter

Real-world relationships among objects can be more complex than a single, simple binary relationship. Ternary relationships involving three entities, recursive relationships involving only one entity, and multiple relationships among the same two entities are described and illustrated through examples.

Build Real-World Complexities into Data Model Relationships

1:1, 1:N, and M:N (many-to-many) relationships exist within a data model, and we'll look at examples of each in classic entity-relationship notation.

Define the Maximum Cardinality of a Relationship

The concept of weak entities, optional relationships, etc. are explored using examples in classic entity-relationship notation.

Define the Minimum Cardinality of a Relationship

The "crow's foot" model notation represents maximum and minimum cardinality differently than classic notation. Examples in "crow's foot" notation are presented, and differing notation representations are introduced to guide the viewer through possibly conflicting directions.

Use Crow's Foot Notation for Minimum and Maximum Cardinality

Pull together key concepts from this section before moving on.

Summarize Cardinality and Complex Relationships
Assessment: Relationship Complexity and Cardinality
6 questions
+ Move Across the Different Levels of a Data Model
6 lectures 35:14

Brief introduction to and overview of what you will learn in this section.

Harmonize Different Levels of a Data Model

To understand some of the transformations that occur between the conceptual and logical/physical levels, we need to take a quick look at relational database normalization rules (e.g., to understand why "intersection entities" come into existence).

A Brief Look at Relational Database Normalization
Forward-Engineering Your Conceptual Data Model

The discussion of forward-engineering a data model continues with additional content and examples.

More Data Model Forward-Engineering

Sometimes we begin with a database schema and want to see what that database looks like conceptually/graphically. We do so by reverse-engineering the database table definitions back into entities, attributes, and relationships and the accompanying constraints.

Reverse-Engineer a Physical Model Back into a Conceptual Model

Pull together key concepts from this section before moving on.

Summarize How to Work with Different Levels of a Data Model
Assessment: Forward- and Reverse-Engineering
4 questions
+ Software for Data Modeling
3 lectures 13:13

Brief introduction to and overview of what you will learn in this section.

The Importance of Data Modeling Software

One way to build a data model is with a general purpose drawing and presentation program, such as Microsoft PowerPoint. There are advantages and disadvantages to this approach, as this video explains.

Build a Data Model with a Drawing Program

Special data modeling tools (i.e., ERwin and others) are more expensive than Microsoft Visio, but also provide advanced support for data modeling. Both approaches - general-purpose diagramming software, and special-purpose data modeling software - are explored.

Build a Model with a Data Modeling Software Tool
Assessment: Data Modeling Software
3 questions
+ Conclusion
2 lectures 01:13

Some final points to conclude this course.

Thank you for taking the course!
Additional resources for further study