Skip to main content

ER Model

The ER Model is a fundamental framework for designing and visualizing databases using entities, attributes, and relationships. It helps simplify the understanding of complex databases. The graphical representation of the ER Model is known as an ER Diagram.

What is an Entity?​

An entity is a real-world object that exists independently and possesses a unique identity.

In ER modeling, entities are depicted as rectangles. For example, in a database, entities could include Student, Employee, Customer, etc.

Entity

Example of an Entity Representation

The circular parts attached to the rectangle represent attributes, which are properties or characteristics of the entity.

Types of Entities​

Strong Entity​

A strong entity is one that exists independently. For example, a "Customer" can exist on its own in a database, having attributes like CustomerID, Name, and Address. These attributes uniquely identify each customer, making it a strong entity.

Weak Entity​

A weak entity cannot exist independently and relies on a strong entity for its existence. For instance, an "Order" entity typically depends on a "Customer" entity. Without a customer, the order wouldn't make sense. Weak entities often have a partial key that, when combined with the key of a strong entity, uniquely identifies each instance.

Entity Set​

An entity set is a collection of similar types of entities. For instance, the Customer entity set would include all customers within a database. Each row in the entity set represents an individual entity.

Entity Set

Representation of an Entity Set

Note

Though entity set refers to the table, in practical terms, both "entity set" and "entity" are often used interchangeably to refer to the table itself.

Attributes​

Attributes define the properties or characteristics of an entity. They are represented as ovals connected to their respective entity rectangles.

Types of Attributes

Types of Attributes in an ER Model

Common Types of Attributes​

  • Simple: These attributes cannot be divided further. For example, Age is a simple attribute.

  • Composite: Attributes that can be broken down into smaller parts. For instance, a Name attribute can be split into First Name and Last Name.

  • Single-Valued: Attributes that can hold only one value for each entity. For example, a StudentID is single-valued.

  • Multi-Valued: Attributes that can have multiple values for each entity, such as Phone Numbers of a student.

  • Derived: Attributes whose values can be derived from other attributes, like calculating Age from Date of Birth.

  • NULL: Represents missing or unknown information for an attribute.

Relationships​

Relationships describe how entities are associated with each other. They are typically shown as diamond shapes connecting two or more entities. For instance, a "Teaches" relationship might connect "Teacher" and "Course" entities to show which teacher teaches which course.

Strong and Weak Relationships​

  • Strong Relationship: Occurs when all participating entities are strong entities. For example, the relationship between Teacher and Course is strong because both entities can exist independently.

  • Weak Relationship: Involves at least one weak entity. For example, Customer and Order form a weak relationship because Order depends on Customer.

Weak Relationship

Example of a Weak Relationship

Degree of Relationship​

  • Unary: A relationship involving only one entity, such as an employee managing itself.

  • Binary: Involves two different entities, like Teacher teaching a Course.

  • Ternary: Involves three different entities, for instance, a Teacher teaching a Course to a Student.

Relationship Constraints​

Mapping Cardinality​

Mapping cardinality defines the number of associations between entities through a relationship.

Mapping Cardinality

Types of Mapping Cardinality

  • One to One: Each student is assigned one unique ID card.

  • One to Many: One person can own multiple vehicles.

  • Many to One: Many employees work in one department.

  • Many to Many: A teacher can teach multiple courses, and a course can be taught by multiple teachers.

Participation Constraints​

  • Total Participation: Every instance of an entity is involved in the relationship. For example, all loans are associated with some customer.

  • Partial Participation: Only some instances of an entity are involved. Some customers may not have any loans.

Participation Constraints

Example of Participation Constraints

Extended ER Features​

Specialization​

Specialization is the process of defining a set of subclasses of an entity type, where each subclass contains specific attributes and relationships unique to that subclass.

For instance, consider a Person entity that could be a Student or a Professor. Person holds common attributes like Name and Age, while Student has a Roll Number and Professor has a Salary.

Specialization

Example of Specialization

Note

Specialization follows an isA relationship, similar to inheritance in object-oriented programming.

Generalization​

Generalization combines multiple entity types into a higher-level entity that represents their common features.

Instead of starting with a general Person entity and specializing, you may begin with Student and Professor entities and realize they share common attributes, leading to the creation of a generalized Person entity.

Aggregation​

Aggregation is a way to model a whole-part relationship between entities, simplifying complex relationships.

For example, consider an Employee works on a Project and needs a Machine. Instead of having multiple relationships (e.g., Employee-Machine, Project-Machine), aggregation allows combining Employee and Project into a higher-level entity to relate it to Machine.

Aggregation

Example of Aggregation in ER Model

Note

Aggregation is often described as a relationship between relationships, which typically involve two or more entities.