This is the written version of an interactive, slide-by-slide deck. The live diagrams, worked examples and practice quiz are in the interactive deck.
In this lesson
- Weak entities
- Identifying rels
- Multivalued
- Derived
Advanced ER Concepts
Chen's Notation · Weak Entities · Special Attributes
Prerequisite: Basic ER Diagram knowledge
This lesson coversFour New Concepts to Master
Weak Entity
An entity that cannot be uniquely identified on its own — it depends on a stronger entity for its very existence.
Identifying Relationship
The special double-diamond that links a weak entity to its owner, providing the missing identity context.
Multivalued Attribute
An attribute that holds multiple values for one entity — like a list of phone numbers or email addresses.
Derived Attribute
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."
ROOM depends on BUILDING ORDER_ITEM depends on ORDER DEPENDENT depends on EMPLOYEE
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.
Cardinality: 1 (strong) to N (weak) Weak side: total participation
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}.
{PhoneNumbers} {EmailAddresses} {Skills} {Languages}
Why not just add 3 phone attributes?
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.
(Age) from DateOfBirth (TotalPrice) from UnitPrice × Qty (YearsOfService) from HireDate
Storing derived data risks inconsistency. If DateOfBirth changes, a stored Age becomes wrong. Compute it instead — always accurate.
Advanced Symbol Reference — Quick Guide
All four new symbols at a glance. Use this slide as your reference.
University Building & Rooms
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.
BUILDING (strong) ROOM (weak) HAS (identifying)
- Draw BUILDING as a strong entity with its key attribute
- Draw ROOM as a weak entity with its partial key (RoomNo)
- Connect them with an identifying relationship (double diamond)
- Show PhoneNumbers as a multivalued attribute on BUILDING
- Show UtilisationRate as a derived attribute on ROOM
Employee & Dependants
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.
EMPLOYEE (strong) DEPENDANT (weak) HAS_DEPENDANT (identifying)
- Identify and draw EMPLOYEE as a strong entity with EmpID as key
- Draw DEPENDANT as a weak entity; DepName is the partial key
- Connect them with HAS_DEPENDANT as an identifying relationship
- Add Languages as a multivalued attribute on EMPLOYEE
- Add YearsOfService as a derived attribute on EMPLOYEE


