What is a data model?.
A data model is not data itself, but is essentially a blueprint. We use a data model to define the structures into which data of some system will be organized, the relationships between those structures, and constraints that data stored in those structures must satisfy.
In this module, we introduce the entity, attribute, relationship, primary key, foreign key, and related concepts, all critical in understanding and creating relational data models—that is, models of data elements that are to be written to and read from a relational database.1 We also explore the entity-relationship diagram (ERD), a widely used visual representation for relational data models, along with a specific set of notational conventions, crow’s foot notation, used in building ERDs.
Most of the examples we will use in this module are based on a scenario of student registration and participation in the courses of some educational institution. Notwithstanding that, the concepts are techniques presented are broadly applicable to a virtually infinite variety of systems and situations.
We can also create data models for non-relational databases, but these are out of scope for this module. ↩