A high-level data model based on a perception of a real world that consists of a collection of basic objects, called entities, and of relationships among these objects.
Collection of conceptual tools for describing data, data relationships, data semantics, and consistency constraints.
- It is a high level dataa odel based on a perception of a real world that consists of a collection of basic objects, called entities, and of relationships among these objects.
- Graphical representation of ER Model is ER diagram, which acts as a blueprint of DB.
An Entity is a "thing" or "object" in the real world that is distinguishable from all other objects.
Can be uniquely identified by its own attributes.
It is a set of entities of the same type that share the same properties, or attributes.
E.g., Student is an entity set. Customer of a bank.
Attributes which can't be divided further.
Can be divided into subparts (e.g., Name → First, Middle, Last).
Only one value attribute.
Attribute having more than one value.
Value can be derived from other related attributes.
Attribute does not have a value (Unknown, Not exists, Missing).
Number of entities to which another entity can be associated via a relationship.
Also known as Minimum cardinality constraint.
Entity
Weak Entity
Relationship
Weak Relationship
Attribute
Multi-valued Attribute
Primary Key Attribute
Weak Key Attribute
Derived Attribute
Total Participation
Basic ER features are sufficient for most DBs, but complex schemas require extended features.
Subgrouping an entity set into other entity sets that are distinct in some way. Splitting up an entity set into further sub entity sets based on functionalities.
Not all attributes apply to everyone. e.g., Salary applies only to Employee.
Reverse of Specialisation. Identifying common properties of two or more entities to create a new generalised entity set (Super class).
Attributes of higher level entity sets are inherited by lower level entity sets.
Ex: Customer & Employee inherit attributes of Person (Name, Age).
If a parent entity set participates in a relationship, then its child entity sets will also participate in that relationship.
How to show relationships among relationships? Aggregation is the technique.
An Project is managed by a Manager. This relationship itself can be aggregated into a single entity to relate with Work Reports. (e.g., A "Management" relationship interacts with "Reports").