The Entity Relationship Model
Data Modeling
Data modeling – a technique for organizing and
documenting a system’s data. Sometimes called
database modeling.
2
Entity relationship diagram (ERD) – a data
model utilizing several notations to depict data
in terms of the entities and relationships
described by that data.
Purpose of E-R Model
• Facilitates database design
• Express logical properties of mini-world of
interest within enterprise - Universe of
DiscourseDiscourse
• Conceptual level model
• Not limited to any particular DBMS
• E-R diagrams used as design tools
• A semantic model – captures meanings
Symbols used in E-R Diagram
• Entity – rectangle
• Attribute – oval
• Relationship – diamond
• Link - line• Link - line
Course
Number
Title
Credit Hours
ER diagram
Section StudentTakes
Grade
Belongs
Term
Semester Year
Id Name
e-mail
Number
Entity
• Object that exists and that can be distinguished from other objects
• Can be person, place, event, object, concept in the real world
• Can be physical object or abstraction
• Entity instance is a particular person, place, etc.
• Entity type is a category of entities
• Entity set is a collection of entities of same type-must be well-defined
• In E-R diagram, rectangle represents entity set
Data Modeling Concepts: Entity
Entity instance – a single occurrence of an entity.
Student ID Last Name First Name
2144 Arnold Betty
entity
8-7
2144 Arnold Betty
3122 Taylor John
3843 Simmons Lisa
9844 Macy Bill
2837 Leath Heather
2293 Wrench Tim
instances
Data Modeling Concepts: Degree
Associative entity –
an entity that inherits
its primary key from
more than one other
entity (called parents).
8-8
Each part of that
concatenated key
points to one and only
one instance of each
of the connecting
entities.
Associative
Entity
Attributes
• Defining properties or qualities of entity type
• Represented by oval on E-R diagram
• Domain – set of allowable values for attribute
– Credit hours might be integer values between 0 and 150
– lastName might be all legal last names – a string that might
also include apostrophes, blanks, hyphens, or other special
characterscharacters
• Attribute maps entity set to domain
• May have null values for some entity instances – no
mapping to domain for those instances
Attributes (cont.)
• May be multi-valued – use double oval on E-R
diagram (e.g., student may have more than one
email address)
• May be composite – use oval for composite
attribute, with ovals for components connected
to it by lines
address
emailStudents
• May be derived – use dashed oval
address
street city state
zip
Faculty age
Keys
• Superkey: attribute or set of attributes that uniquely
identifies an entity (can always tell one entity instance
from another)
– stuId is superkey for Student entity
– stuId, credits together form a superkey, because stuId is a superkey
• Composite key: key with more than one attribute
– courseNumber, sectionNumber, semester make up a composite key
• Candidate key: superkey such that no proper subset of its
attributes is also a superkey (minimal superkey –no
unnecessary attributes)
– Although stuId, credits is a superkey, only stuId is a candidate key
– courseNumber, sectionNumber, semester is a candidate (no one attribute is a
superkey)
– If Student entity contains stuId and ssan as atributes, both stuId and ssan are
candidate keys
Keys (cont.)
• Primary key: the candidate key actually used for
identifying entities and accessing records
• Alternate key: candidate key not used for primary
key
• Secondary key: attribute or set of attributes used
for accessing records, but not necessarily unique
– lastName might be used to find instances in Student, to
help narrow down the resultshelp narrow down the results
• Foreign key: term used in relational model (but
not in the E-R model) for an attribute that is
primary key of a table and is used to establish a
relationship, usually with another table, where it
appears as an attribute also
– stuId in Enroll entity
Relationships
• Connections or interactions between entity instances
• Represented by diamond on E-R diagram
• Relationship type – category of relationships
• Relationship set – collection of relationships of same type, consists of
relationship instances – relationships that exist at a given moment
• Type forms intension; set forms extension of relationship• Type forms intension; set forms extension of relationship
• Relationship can have descriptive attributes
• Degree of relationship
– Binary – links two entity sets; set of ordered pairs
– Ternary – links three entity sets; ordered triples
– N-ary – links n entity sets; ordered n-tuples
– Note: ternary relationships may sometimes be replaced by two binary
relationships
Replace Ternary Relationship with Two
Binary Relationships
Ternary Relationship Binary Relationship
Cardinality of Relationships
• Number of entity instances to which another entity can map
under the relationship
• One-to-one: X:Y is 1:1 is each entity in X is associated with at
most one entity in Y and each entity in Y with at most one
entity in X.
• One-to-many: X:Y is 1:M is each entity in X can be associated• One-to-many: X:Y is 1:M is each entity in X can be associated
with many entities in Y, but each entity in Y with at most one
entity in X.
• Many-to-many: X:Y is M:M if each entity in X can be
associated with many entities in Y, and each entity in Y with
many entities in X (many=more than one)
Showing Cardinalities on ER Diagram
One: 1
Many: M, n
Faculty ClassFaculty-
Class
1 M
Chair- 11
Student ClassEnroll NM
Chairperson Department
Chair-
Dept
11
Chair-
Showing Cardinalities on ER Diagram
One: Single Arrow
Many: Double Arrow
Faculty ClassFaculty-
Class
Chairperson Department
Chair-
Dept
Student ClassEnroll
Faculty ClassFaculty-
Class
Chair-
Showing Cardinalities on ER Diagram
One: Single Arrow
Many: No Arrow
Chairperson Department
Chair-
Dept
Student ClassEnroll
Showing Cardinalities on ER Diagram
One: No Arrow
Many: Big Dot
Faculty ClassFaculty-
Class
Chairperson Department
Chair-
Dept
Student ClassEnroll
Showing Cardinalities on ER Diagram
One: No Arrow
Many: Crow’s Feet
Faculty ClassFaculty-
Class
Chairperson Department
Chair-
Dept
Student ClassEnroll
Cardinality Example
Recursive Relationship
Entity Sets with Two Relationships
Existence Dependency and Weak Entities
• Entity Y is existence dependent on entity X is each instance of
Y must have a corresponding instance of X
• Y must have total participation in its relationship with X
• If Y does not have its own candidate key, Y is called a weak
entity, and X is strong entity
• Weak entity may have a partial key, a discriminator, that• Weak entity may have a partial key, a discriminator, that
distinguishes instances of the weak entity that are related to
the same strong entity
• Use double rectangle for weak entity, with double diamond
for relationship connecting it to its strong entity
Data Modeling Concepts:
Parent and Child Entities
Parent entity - a data entity that contributes
one or more attributes to another entity, called
the child. In a one-to-many relationship the
parent is the entity on the "one" side.
8-25
Child entity - a data entity that derives one or
more attributes from another entity, called the
parent. In a one-to-many relationship the child
is the entity on the "many" side.
Data Modeling Concepts:
Generalization
Generalization – a concept wherein the attributes that
are common to several types of an entity are grouped
into their own entity.
Supertype – an entity whose instances store attributes
8-26
Supertype – an entity whose instances store attributes
that are common to one or more entity subtypes.
Subtype – an entity whose instances may inherit
common attributes from its entity supertype
And then add other attributes unique to the subtype.
Entity Discovery
• In interviews or JRP sessions, pay attention to key
words (i.e. "we need to keep track of ...").
• In interviews or JRP sessions, ask users to identify
things about which they would like to capture,
8-27
things about which they would like to capture,
store, and produce information.
• Study existing forms, files, and reports.
• Scan use case narratives for nouns.
• Some CASE tools can reverse engineer existing files
and databases.
ER Diagram Example
Existence Dependency and Weak Entities
Example
Faculty
facId
name
rank
Evaluation
IsRated
date
rater
rating
ER Diagram Example
deptName
Department
deptCode
office
EmploysChairsHasMajor
Offers
Textbook
isbn
title
credit
Student
stuId
major
lastName
firstName
lastName Faculty
facId
rank
firstName
Faculty-
Class-
Textbook
Teaches
Textbook
author
publisher
E-R Diagram description
• Student: stuId, lastName, firstName, major, credits
– Each student has a unique id and has at most one major
• Department: deptCode, deptName, office
– Each department has a unique code and a unique name, and that each
department has one office designated as the departmental office
• Faculty: facId, lastName, firstName, rank
– facId is unique and that every faculty member must belong to
department. One faculty member in each department is thedepartment. One faculty member in each department is the
chairperson.
• Class: classNumber, sched, room
– classNumber consists of deptCode, courseNumber, section
• Textbook: isbn, author, title, publisher
– A book can have multiple authors
• Evaluation: date, rater, rating
– Evaluation is a weak entity, dependent on Faculty

RDBMS ERD

  • 1.
  • 2.
    Data Modeling Data modeling– a technique for organizing and documenting a system’s data. Sometimes called database modeling. 2 Entity relationship diagram (ERD) – a data model utilizing several notations to depict data in terms of the entities and relationships described by that data.
  • 3.
    Purpose of E-RModel • Facilitates database design • Express logical properties of mini-world of interest within enterprise - Universe of DiscourseDiscourse • Conceptual level model • Not limited to any particular DBMS • E-R diagrams used as design tools • A semantic model – captures meanings
  • 4.
    Symbols used inE-R Diagram • Entity – rectangle • Attribute – oval • Relationship – diamond • Link - line• Link - line
  • 5.
    Course Number Title Credit Hours ER diagram SectionStudentTakes Grade Belongs Term Semester Year Id Name e-mail Number
  • 6.
    Entity • Object thatexists and that can be distinguished from other objects • Can be person, place, event, object, concept in the real world • Can be physical object or abstraction • Entity instance is a particular person, place, etc. • Entity type is a category of entities • Entity set is a collection of entities of same type-must be well-defined • In E-R diagram, rectangle represents entity set
  • 7.
    Data Modeling Concepts:Entity Entity instance – a single occurrence of an entity. Student ID Last Name First Name 2144 Arnold Betty entity 8-7 2144 Arnold Betty 3122 Taylor John 3843 Simmons Lisa 9844 Macy Bill 2837 Leath Heather 2293 Wrench Tim instances
  • 8.
    Data Modeling Concepts:Degree Associative entity – an entity that inherits its primary key from more than one other entity (called parents). 8-8 Each part of that concatenated key points to one and only one instance of each of the connecting entities. Associative Entity
  • 9.
    Attributes • Defining propertiesor qualities of entity type • Represented by oval on E-R diagram • Domain – set of allowable values for attribute – Credit hours might be integer values between 0 and 150 – lastName might be all legal last names – a string that might also include apostrophes, blanks, hyphens, or other special characterscharacters • Attribute maps entity set to domain • May have null values for some entity instances – no mapping to domain for those instances
  • 10.
    Attributes (cont.) • Maybe multi-valued – use double oval on E-R diagram (e.g., student may have more than one email address) • May be composite – use oval for composite attribute, with ovals for components connected to it by lines address emailStudents • May be derived – use dashed oval address street city state zip Faculty age
  • 11.
    Keys • Superkey: attributeor set of attributes that uniquely identifies an entity (can always tell one entity instance from another) – stuId is superkey for Student entity – stuId, credits together form a superkey, because stuId is a superkey • Composite key: key with more than one attribute – courseNumber, sectionNumber, semester make up a composite key • Candidate key: superkey such that no proper subset of its attributes is also a superkey (minimal superkey –no unnecessary attributes) – Although stuId, credits is a superkey, only stuId is a candidate key – courseNumber, sectionNumber, semester is a candidate (no one attribute is a superkey) – If Student entity contains stuId and ssan as atributes, both stuId and ssan are candidate keys
  • 12.
    Keys (cont.) • Primarykey: the candidate key actually used for identifying entities and accessing records • Alternate key: candidate key not used for primary key • Secondary key: attribute or set of attributes used for accessing records, but not necessarily unique – lastName might be used to find instances in Student, to help narrow down the resultshelp narrow down the results • Foreign key: term used in relational model (but not in the E-R model) for an attribute that is primary key of a table and is used to establish a relationship, usually with another table, where it appears as an attribute also – stuId in Enroll entity
  • 13.
    Relationships • Connections orinteractions between entity instances • Represented by diamond on E-R diagram • Relationship type – category of relationships • Relationship set – collection of relationships of same type, consists of relationship instances – relationships that exist at a given moment • Type forms intension; set forms extension of relationship• Type forms intension; set forms extension of relationship • Relationship can have descriptive attributes • Degree of relationship – Binary – links two entity sets; set of ordered pairs – Ternary – links three entity sets; ordered triples – N-ary – links n entity sets; ordered n-tuples – Note: ternary relationships may sometimes be replaced by two binary relationships
  • 14.
    Replace Ternary Relationshipwith Two Binary Relationships Ternary Relationship Binary Relationship
  • 15.
    Cardinality of Relationships •Number of entity instances to which another entity can map under the relationship • One-to-one: X:Y is 1:1 is each entity in X is associated with at most one entity in Y and each entity in Y with at most one entity in X. • One-to-many: X:Y is 1:M is each entity in X can be associated• One-to-many: X:Y is 1:M is each entity in X can be associated with many entities in Y, but each entity in Y with at most one entity in X. • Many-to-many: X:Y is M:M if each entity in X can be associated with many entities in Y, and each entity in Y with many entities in X (many=more than one)
  • 16.
    Showing Cardinalities onER Diagram One: 1 Many: M, n Faculty ClassFaculty- Class 1 M Chair- 11 Student ClassEnroll NM Chairperson Department Chair- Dept 11
  • 17.
    Chair- Showing Cardinalities onER Diagram One: Single Arrow Many: Double Arrow Faculty ClassFaculty- Class Chairperson Department Chair- Dept Student ClassEnroll
  • 18.
    Faculty ClassFaculty- Class Chair- Showing Cardinalitieson ER Diagram One: Single Arrow Many: No Arrow Chairperson Department Chair- Dept Student ClassEnroll
  • 19.
    Showing Cardinalities onER Diagram One: No Arrow Many: Big Dot Faculty ClassFaculty- Class Chairperson Department Chair- Dept Student ClassEnroll
  • 20.
    Showing Cardinalities onER Diagram One: No Arrow Many: Crow’s Feet Faculty ClassFaculty- Class Chairperson Department Chair- Dept Student ClassEnroll
  • 21.
  • 22.
  • 23.
    Entity Sets withTwo Relationships
  • 24.
    Existence Dependency andWeak Entities • Entity Y is existence dependent on entity X is each instance of Y must have a corresponding instance of X • Y must have total participation in its relationship with X • If Y does not have its own candidate key, Y is called a weak entity, and X is strong entity • Weak entity may have a partial key, a discriminator, that• Weak entity may have a partial key, a discriminator, that distinguishes instances of the weak entity that are related to the same strong entity • Use double rectangle for weak entity, with double diamond for relationship connecting it to its strong entity
  • 25.
    Data Modeling Concepts: Parentand Child Entities Parent entity - a data entity that contributes one or more attributes to another entity, called the child. In a one-to-many relationship the parent is the entity on the "one" side. 8-25 Child entity - a data entity that derives one or more attributes from another entity, called the parent. In a one-to-many relationship the child is the entity on the "many" side.
  • 26.
    Data Modeling Concepts: Generalization Generalization– a concept wherein the attributes that are common to several types of an entity are grouped into their own entity. Supertype – an entity whose instances store attributes 8-26 Supertype – an entity whose instances store attributes that are common to one or more entity subtypes. Subtype – an entity whose instances may inherit common attributes from its entity supertype And then add other attributes unique to the subtype.
  • 27.
    Entity Discovery • Ininterviews or JRP sessions, pay attention to key words (i.e. "we need to keep track of ..."). • In interviews or JRP sessions, ask users to identify things about which they would like to capture, 8-27 things about which they would like to capture, store, and produce information. • Study existing forms, files, and reports. • Scan use case narratives for nouns. • Some CASE tools can reverse engineer existing files and databases.
  • 28.
  • 29.
    Existence Dependency andWeak Entities Example Faculty facId name rank Evaluation IsRated date rater rating
  • 30.
  • 31.
    E-R Diagram description •Student: stuId, lastName, firstName, major, credits – Each student has a unique id and has at most one major • Department: deptCode, deptName, office – Each department has a unique code and a unique name, and that each department has one office designated as the departmental office • Faculty: facId, lastName, firstName, rank – facId is unique and that every faculty member must belong to department. One faculty member in each department is thedepartment. One faculty member in each department is the chairperson. • Class: classNumber, sched, room – classNumber consists of deptCode, courseNumber, section • Textbook: isbn, author, title, publisher – A book can have multiple authors • Evaluation: date, rater, rating – Evaluation is a weak entity, dependent on Faculty