Real data is messier than the textbook. Tackle the entities that can't stand on their own, the relationships that identify them, and attributes that are multivalued or derived — with two exercises to test yourself.
This is the full written version of an interactive, slide-by-slide lesson deck used in teaching. Everything covered in the deck is below — open the interactive version to work through it with live diagrams, worked examples and a practice quiz where included.
An entity that cannot be uniquely identified on its own — it depends on a stronger entity for its very existence.
The special double-diamond that links a weak entity to its owner, providing the missing identity context.
An attribute that holds multiple values for one entity — like a list of phone numbers or email addresses.
An attribute computed from other data — like calculating Age from DateOfBirth. Never stored directly.
A weak entity cannot be uniquely identified by its own attributes alone. It depends entirely on another entity — called the strong entity or owner — for both existence and identity.
Drawn as a double rectangle — two concentric boxes. The outer border signals "this entity cannot stand alone."
The special relationship connecting a weak entity to its owner. It provides the ownership context needed to uniquely identify each weak entity instance.
Drawn as a double diamond — two concentric diamonds. It always connects a weak entity to its strong entity.
If you draw a double diamond, one side must be a weak entity (double rectangle). They always appear together.
A multivalued attribute can hold more than one value for a single entity instance. Rather than one phone number per employee, you can store many.
Drawn as a double ellipse — two concentric ovals. In text notation, written with curly braces: {PhoneNumbers}.
Because we don't know in advance how many values a given instance will have. Double ellipse = flexible, open-ended list.
A derived attribute is calculated from other stored data — it doesn't need to be saved in the database because you can always compute it on demand.
Drawn as a dashed ellipse — the broken border signals "this value isn't stored directly." In text: written as (Age) with parentheses.
Storing derived data risks inconsistency. If DateOfBirth changes, a stored Age becomes wrong. Compute it instead — always accurate.
A university manages its campus facilities. Each building has a building ID, name, and location. Each building has many rooms, but a room number (like "101") only makes sense within a specific building — Room 101 could exist in every building.
Each room has a room number and a room type (lecture hall, lab, office). A room cannot exist without its building. Additionally, each room has a seating capacity and a utilisation rate which is automatically calculated from bookings data. Buildings can have multiple contact phone numbers on record.
A company tracks its employees and their dependants (family members covered by insurance). Each employee has an employee ID, name, hire date, and date of birth. A dependant has only a name and relationship (e.g. "spouse", "child") — and cannot exist in the system without their employee. A dependant named "Emma" only makes sense in the context of a specific employee.
Employees may speak multiple languages. The company also needs to display each employee's years of service on their profile — but this should never be stored directly in the database.
An entity that cannot be identified by its own attributes alone and depends on another entity to exist. A hotel room number only makes sense alongside the hotel it belongs to. It is drawn with a double rectangle and connects to its owner through an identifying relationship, drawn as a double diamond.
When three entities genuinely participate in one relationship at the same time and splitting it into separate binary relationships would lose meaning — for example a supplier supplying a specific part to a specific project. If the fact only holds when all three are considered together, it is genuinely ternary.
The interactive deck adds live diagrams, step-by-step reveals and practice activities that this written version can't carry.