The Entity-Relationship Model
The Entity-Relationship Model
The Entity-Relationship Model
Model
Database Design
Goal of design is to generate a formal specification of the database schema
Methodology:
Use E-R model to get a high-level graphical view of essential components of
enterprise and how they are related
Then convert E-R diagram to SQL DDL, or whatever database model you are
using
E-R Model is not SQL based. It's not limited to any particular DBMS. It is a
conceptual and semantic model – captures meanings rather than an actual
implementation
The E-R Model: The enterprise is viewed as set of
Entities
Relationships among entities
Symbols used in E-R Diagram
Entity – rectangle
Attribute – oval
Relationship – diamond
Link - line
Sample
ERD
Entities and Attributes
Entity: an object that is involved in the enterprise and that be distinguished
from other objects. (not shown in the ER diagram--is an instance)
Can be person, place, event, object, concept in the real world
Can be physical object or abstraction
Ex: "John", "CSE305"
Entity Type: set of similar objects or a category of entities; they are well
defined
A rectangle represents an entity set
Ex: students, courses
We often just say "entity" and mean "entity type"
Attribute: describes one aspect of an entity type; usually [and best when]
single valued and indivisible (atomic)
Represented by oval on E-R diagram
Ex: name, maximum enrollment
May be multi-valued – use double oval on E-R diagram
May be composite – use oval for composite attribute, with ovals for components
connected to it by lines
May be derived – use dashed oval
Entity Types
An entity type is named and is described by set of
attributes
Student: Id, Name, Address, Hobbies
Domain: possible values of an attribute.
Note that the value for an attribute can be a set or list of values,
sometimes called "multi-valued" attributes
E.g., (111111, John, 123 Main St, (stamps, coins))
Key: subset of attributes that uniquely identifies an entity
(candidate key)
Entity Types tend to correspond to nouns; attributes are
also nouns albeit descriptions of the parts of entities
May have null values for some entity attribute instances
Keys
Superkey: an attribute or set of attributes that uniquely identifies an
entity--there can be many of these
Composite key: a key requiring more than one attribute
Candidate key: a superkey such that no proper subset of its
attributes is also a superkey
Primary key: the candidate key chosen to be used for identifying
entities and accessing records. Unless otherwise noted "key"
means "primary key"
Alternate key: a candidate key not used for primary key
Secondary key: attribute or set of attributes commonly used for
accessing records, but not necessarily unique
Foreign key: term used in relational databases (but not in the E-R
model) for an attribute that is the primary key of another table and is
used to establish a relationship with that table where it appears as
an attribute also.
Graphical Representation in E-R
diagram
Rectangle -- Entity
Ellipses -- Attribute (underlined attributes are [part of] the primary key)
Double ellipses -- multi-valued attribute
Dashed ellipses-- derived attribute, e.g. age is derivable from birthdate and
current date.
[Drawing notes: keep all attributes above the entity. Lines have no arrows.
Use straight lines only]
Relationships
Relationship: connects two or more entities into an
association/relationship
"John" majors in "Computer Science"
Relationship Type: set of similar relationships
Student (entity type) is related to Department (entity type)
by MajorsIn (relationship type).
Relationship Types may also have attributes in the E-R
model. When they are mapped to the relational model,
the attributes become part of the relation. Represented
by a diamond on E-R diagram.
Relationship types can have descriptive attributes like
entity sets
Relationships tend to be verbs or verb
phrases; attributes of relationships are again nouns
Attributes and Roles
An attribute of a relationship type describes the
relationship
e.g., "John" majors in "CS" since 2000
John and CS are related
2000 describes the relationship - it's the value of
the since attribute of MajorsIn relationship type
The role of a relationship type names one of the related
entities
e.g., "John" is value of Student role, "CS" value
of Department role of MajorsIn relationship type
(John, CS, 2000) describes a relationship
Relationship Type
Relationship types are described by set of roles
and attributes
e.g., MajorsIn: Student, Department, Since
Think that entities are nouns; relationship types are
often verbs
students and departments are the entities (nouns) and
roles in relationship types
majors is the relationship type (verb)
i.e., "student" "majors in " "department"
Here we have used as the role name (Student) the
name of the entity type (Student) of the participant in the
relationship.
Degree of relationship