Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Alan Simon

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.

Read more

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.

Enroll now

What's inside

Learning objectives

  • 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.

Syllabus

You'll learn exactly what this course will include; how best to follow along; and the value you'll take away.

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

Read more

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.

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

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.

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).

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

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.

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.

Pull together key concepts from this section before moving on.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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).

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

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.

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.

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.

Some final points to conclude this course.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Examines common techniques and principles used in data modeling and data management
Teaches methodologies and approaches to building semantically sound data models including hierarchy management and business rule reflections
Develops proficiency in both classic entity-relationship notation and the "crow's foot notation" to enhance visual understanding of data structures and relationships
Taught by Alan Simon, a recognized expert in data modeling with 30 years of experience in software engineering, consulting, and analytics
Fits well with the learning objectives of aspiring and experienced data management and IT professionals looking to build and refine data models
Offers hands-on practice through sample data model building and assignments, ensuring knowledge retention and practical application

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Mastering data modeling fundamentals for it pros

According to learners, this course offers a comprehensive and practical approach to data modeling. Students highlight the instructor's 30+ years of valuable experience, which provides unique insights and 'lessons learned.' The course effectively covers foundational concepts, progresses to real-world complexities, and demonstrates different modeling notations like classic ER and Crow's Foot. The inclusion of hands-on assignments and scenario-based quizzes is frequently praised for solidifying understanding. While providing a solid grounding, some note it serves as an excellent starting point, especially for those new to the practical application of design principles.
Provides insights into various software for data modeling.
"The section on data modeling tools, contrasting general-purpose vs. specialized software, was a useful overview."
"I found the discussion on using PowerPoint for basic diagrams interesting, though it's not my primary tool."
"It gave me a good idea of the landscape of data modeling software available."
Explores classic ER and Crow's Foot, and the data modeling lifecycle.
"Learning both classic ER and Crow's Foot notations gave me versatility in my data modeling approach."
"Understanding the forward and reverse engineering aspects of the data modeling lifecycle is very practical."
"The comparisons between different modeling approaches like ER, semantic, and UML were insightful."
Emphasizes learning through hands-on assignments and quizzes.
"The hands-on assignments were crucial for putting what I learned into practice immediately."
"Scenario-based quiz questions really helped me test my understanding of key concepts."
"Being able to define sample data model segments in both ER and Crow's Foot was very helpful for real-world use."
Covers concepts from basic building blocks to advanced complexities.
"I appreciated how the course started with the basics and gradually introduced more complex topics like hierarchies."
"It really helped me grasp the symbiotic relationship between data modeling and database design."
"The detailed explanation of entities, attributes, and relationships, in multiple notations, was very thorough."
Leverages 30+ years of practical industry knowledge.
"I found the instructor's insights from 30+ years of experience incredibly valuable; it's not just theory."
"The real-world lessons learned shared by the instructor made complex topics much clearer."
"This course is clearly built on deep practical knowledge, which I appreciate as a professional."
Strong for fundamentals, but might require further advanced study.
"While excellent for fundamentals, I found I needed to explore some advanced normalization rules more deeply on my own."
"The course provides a solid base, but for truly mastering the 'art,' continued practice is essential."
"It's a great introduction for aspiring professionals, but experienced modelers might seek more advanced nuances."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Mastering Data Modeling Fundamentals with these activities:
Review knowledge of data modeling concepts
Refresh knowledge of key concepts in data modeling.
Show steps
  • Review notes from previous courses or textbooks on data modeling.
  • Read articles or blog posts on the latest trends and techniques in data modeling.
  • Attend a webinar or workshop on data modeling.
Review basic programming concepts
Ensure a solid foundation in programming concepts to enhance your ability to implement data models and perform data analysis.
Browse courses on Programming Fundamentals
Show steps
  • Review variables, data types, and operators
  • Review control flow and loops
  • Review basic data structures (e.g., arrays, lists)
Organize the syllabus and assignments
Organize and prepare materials needed for learning.
Show steps
  • Read the syllabus to become familiar with general expectations for the course including policies, due dates, and grading.
  • Create a file system and/or folder system to organize assignments and materials for the course.
  • Print a copy of the syllabus to take notes as you progress through the course.
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
Understand basic database architecture
Start by revisiting foundational concepts of database architecture to ensure a strong foundation for this course.
Browse courses on Database Architecture
Show steps
  • Review hierarchical structure of databases
  • Review different database models (relational, NoSQL, etc.)
  • Review normalization rules
Practice identifying entities, attributes, and relationships
Practice identifying and classifying basic building blocks of data models to refine and reinforce this foundational skill.
Show steps
  • Identify entities in a given scenario
  • Identify attributes for each entity
  • Identify relationships between entities
Follow tutorials on data modeling best practices
Refine and develop skills using external resources
Show steps
  • Identify specific areas of data modeling where you need to improve your skills.
  • Search for and select tutorials that cover these specific topics.
  • Follow the tutorials step-by-step and complete the exercises.
  • Apply the techniques and best practices you learned in the tutorials to your own data modeling projects.
Follow a tutorial on ER modeling using a specific tool
Gain practical experience by following a guided tutorial on using a specific tool for ER modeling, enhancing your understanding of the process.
Browse courses on ER Modeling
Show steps
  • Choose a data modeling tool
  • Find a tutorial for the chosen tool
  • Follow the tutorial to create an ER model
Create a visual representation of a data model
Solidify your understanding of data models by creating a visual representation, such as an ER diagram or a mind map, to illustrate the relationships between entities and attributes.
Show steps
  • Choose a data modeling scenario
  • Identify the entities and attributes involved
  • Create a visual representation of the data model
Create a data model for a real-world scenario
Apply skills and knowledge through a practical exercise.
Show steps
  • Choose a real-world scenario that you are familiar with, such as a business process or a system.
  • Identify the entities, attributes, and relationships involved in the scenario.
  • Create a data model diagram using the appropriate notation (e.g., entity-relationship diagram, crow's foot notation).
  • Write a brief description of your data model, explaining the purpose of each entity, attribute, and relationship.
Volunteer at a local data analytics organization
Gain practical experience and apply your knowledge by volunteering at a data analytics organization, where you can contribute to real-world projects and learn from experts.
Show steps
  • Research data analytics organizations in your area
  • Contact the organizations to inquire about volunteer opportunities
  • Attend volunteer training or orientation
Participate in a data modeling competition
Challenge yourself and assess your skills by participating in a data modeling competition, where you can solve real-world problems and receive feedback from experts.
Show steps
  • Find a data modeling competition that aligns with your interests
  • Assemble a team or work individually
  • Develop a data model solution

Career center

Learners who complete Mastering Data Modeling Fundamentals will develop knowledge and skills that may be useful to these careers:
Data Modeler
A Data Modeler develops and maintains data models for use in data management and analytics systems. This course provides a foundation in data modeling concepts, techniques, and notations, which are essential for building accurate and effective data models. The course also covers the data modeling lifecycle, from conceptual to logical to physical models, which is a key skill for Data Modelers.
Data Architect
A Data Architect designs and manages the organization's data architecture, which includes data models, data governance policies, and data integration strategies. This course provides a comprehensive overview of data modeling principles and best practices, which are essential for developing and maintaining a sound data architecture. The course also covers the relationship between data modeling and database design, which is a key consideration for Data Architects.
Database Administrator
A Database Administrator (DBA) manages and maintains databases, including data modeling, performance tuning, and security. This course provides a foundation in data modeling concepts and techniques, which are essential for DBAs to understand and manage the data in their databases. The course also covers the data modeling lifecycle, which is a key process for DBAs to follow when making changes to databases.
Data Analyst
A Data Analyst analyzes data to identify trends, patterns, and insights. This course provides a foundation in data modeling concepts and techniques, which are essential for Data Analysts to understand the structure and relationships of the data they are analyzing. The course also covers the data modeling lifecycle, which is a key process for Data Analysts to follow when developing data analysis solutions.
Business Analyst
A Business Analyst gathers and analyzes business requirements to help organizations improve their processes and systems. This course provides a foundation in data modeling concepts and techniques, which are essential for Business Analysts to understand the data needs of the organization. The course also covers the data modeling lifecycle, which is a key process for Business Analysts to follow when developing business analysis solutions.
Data Scientist
A Data Scientist uses data to build predictive models and solve business problems. This course provides a foundation in data modeling concepts and techniques, which are essential for Data Scientists to understand the structure and relationships of the data they are using. The course also covers the data modeling lifecycle, which is a key process for Data Scientists to follow when developing data science solutions.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. This course may be useful for Software Engineers who are working on data-intensive applications, as it provides a foundation in data modeling concepts and techniques. The course also covers the data modeling lifecycle, which is a key process for Software Engineers to follow when developing data-intensive applications.
Information Architect
An Information Architect designs and manages the organization's information architecture, which includes data models, taxonomies, and metadata. This course provides a foundation in data modeling concepts and techniques, which are essential for Information Architects to understand and manage the organization's information assets. The course also covers the data modeling lifecycle, which is a key process for Information Architects to follow when making changes to the organization's information architecture.
Data Governance Analyst
A Data Governance Analyst develops and implements data governance policies and procedures. This course provides a foundation in data modeling concepts and techniques, which are essential for Data Governance Analysts to understand the data assets of the organization. The course also covers the data modeling lifecycle, which is a key process for Data Governance Analysts to follow when developing data governance policies and procedures.
Enterprise Architect
An Enterprise Architect designs and manages the organization's enterprise architecture, which includes data models, process models, and application architectures. This course provides a foundation in data modeling concepts and techniques, which are essential for Enterprise Architects to understand and manage the organization's data assets. The course also covers the data modeling lifecycle, which is a key process for Enterprise Architects to follow when making changes to the organization's enterprise architecture.
Systems Analyst
A Systems Analyst analyzes and designs business systems, including data models, process models, and application architectures. This course provides a foundation in data modeling concepts and techniques, which are essential for Systems Analysts to understand and design business systems. The course also covers the data modeling lifecycle, which is a key process for Systems Analysts to follow when developing business systems.
Business Intelligence Analyst
A Business Intelligence Analyst analyzes data to identify trends, patterns, and insights to help organizations make better decisions. This course provides a foundation in data modeling concepts and techniques, which are essential for Business Intelligence Analysts to understand the structure and relationships of the data they are analyzing. The course also covers the data modeling lifecycle, which is a key process for Business Intelligence Analysts to follow when developing business intelligence solutions.
Data Engineer
A Data Engineer designs, builds, and maintains data pipelines and data warehouses. This course provides a foundation in data modeling concepts and techniques, which are essential for Data Engineers to understand the data they are working with. The course also covers the data modeling lifecycle, which is a key process for Data Engineers to follow when developing data pipelines and data warehouses.
Database Designer
A Database Designer designs and develops database schemas. This course provides a foundation in data modeling concepts and techniques, which are essential for Database Designers to understand the data they are working with. The course also covers the data modeling lifecycle, which is a key process for Database Designers to follow when developing database schemas.
Data Warehouse Architect
A Data Warehouse Architect designs and manages data warehouses. This course provides a foundation in data modeling concepts and techniques, which are essential for Data Warehouse Architects to understand the data they are working with. The course also covers the data modeling lifecycle, which is a key process for Data Warehouse Architects to follow when developing data warehouses.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Mastering Data Modeling Fundamentals.
The 3rd edition of this book provides an updated treatment of data warehouse and business intelligence concepts. It is an industry standard, and especially valuable as further reading on dimensional modeling.
Solid foundational text on the principles of relational database design. It is recommended background reading to make the course's content more accessible.
Practical guide to data modeling techniques and tools. It covers a wide range of topics, including conceptual data modeling, logical data modeling, and physical data modeling.
Explains the concepts and advantages of data modeling patterns, and can be a helpful reference for extending the basic data modeling techniques taught in the course.
Practical guide to data modeling for business users. It covers all the essential topics, including conceptual data modeling, logical data modeling, and physical data modeling.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser