01Home 02Work With Me 03Speaking 04Research 05Teaching 06Students 07Products 08News 09Writing 10About 11Platform New 12Contact 13Curriculum Vitae
Data Modelling

Advanced ER Concepts

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.

3 min readFree, no login
Data Modelling The first slide of Advanced ER Concepts

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

Common questions

What is a weak entity?

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 do you need a ternary relationship?

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.

Work through it interactively.

The deck adds live diagrams, step-by-step reveals and practice activities that a written page can't carry.