SlideShare a Scribd company logo
1 of 49
Chapter 6: Entity-Relationship
           Model




      Database System Concepts, 5th Ed.
           ©Silberschatz, Korth and Sudarshan
      See www.db-book.com for conditions on re-use
Chapter 6: Entity-Relationship
                                    Model

               s Modeling
               s Constraints
               s E-R Diagram
               s Design Issues
               s Weak Entity Sets
               s Extended E-R Features
               s Design of the Bank Database
               s Reduction to Relation Schemas
               s Database Design




Database System Concepts - 5 th Edition, Oct 5, 2006   6.2   ©Silberschatz, Korth and Sudarshan
Modeling

               s A database can be modeled as:
                      q   a collection of entities,
                      q   relationship among entities.
               s An entity is an object that exists and is distinguishable from other
                    objects.
                      q   Example: specific person, company, event, plant
               s Entities have attributes
                      q   Example: people have names and addresses
               s An entity set is a set of entities of the same type that share the same
                    properties.
                      q   Example: set of all persons, companies, trees, holidays




Database System Concepts - 5 th Edition, Oct 5, 2006      6.3              ©Silberschatz, Korth and Sudarshan
Entity Sets customer and loan
                   customer_id customer_ customer_ customer_     loan_      amount
                                 name street      city         number




Database System Concepts - 5 th Edition, Oct 5, 2006   6.4     ©Silberschatz, Korth and Sudarshan
Relationship Sets

               s A relationship is an association among several entities
                    Example:
                           Hayes                          depositor          A-102
                       customer entity                 relationship set   account entity
               s A relationship set is a mathematical relation among n ≥ 2 entities,
                    each taken from entity sets
                                      {(e1, e2, … en) | e1 ∈ E1, e2 ∈ E2, …, en ∈ En}

                    where (e1, e2, …, en) is a relationship
                      q   Example:
                                  (Hayes, A-102) ∈ depositor




Database System Concepts - 5 th Edition, Oct 5, 2006            6.5                 ©Silberschatz, Korth and Sudarshan
Relationship Set borrower




Database System Concepts - 5 th Edition, Oct 5, 2006   6.6   ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)

               s An attribute can also be property of a relationship set.
               s For instance, the depositor relationship set between entity sets customer
                    and account may have the attribute access-date




Database System Concepts - 5 th Edition, Oct 5, 2006   6.7             ©Silberschatz, Korth and Sudarshan
Degree of a Relationship Set

               s Refers to number of entity sets that participate in a relationship
                    set.
               s Relationship sets that involve two entity sets are binary (or
                    degree two). Generally, most relationship sets in a database
                    system are binary.
               s Relationship sets may involve more than two entity sets.

                         Example: Suppose employees of a bank may have jobs
                          (responsibilities) at multiple branches, with different jobs at
                          different branches. Then there is a ternary relationship set
                          between entity sets employee, job, and branch

               s Relationships between more than two entity sets are rare. Most
                    relationships are binary. (More on this later.)




Database System Concepts - 5 th Edition, Oct 5, 2006   6.8                    ©Silberschatz, Korth and Sudarshan
Attributes

               s An entity is represented by a set of attributes, that is descriptive
                    properties possessed by all members of an entity set.
                        Example:
                                      customer = (customer_id, customer_name,
                                                 customer_street, customer_city )
                                      loan = (loan_number, amount )

               s Domain – the set of permitted values for each attribute
               s Attribute types:
                      q   Simple and composite attributes.
                      q   Single-valued and multi-valued attributes
                               Example: multivalued attribute: phone_numbers
                      q   Derived attributes
                               Can be computed from other attributes
                               Example: age, given date_of_birth

Database System Concepts - 5 th Edition, Oct 5, 2006      6.9               ©Silberschatz, Korth and Sudarshan
Composite Attributes




Database System Concepts - 5 th Edition, Oct 5, 2006   6.10   ©Silberschatz, Korth and Sudarshan
Mapping Cardinality Constraints

               s Express the number of entities to which another entity can be
                    associated via a relationship set.
               s Most useful in describing binary relationship sets.
               s For a binary relationship set the mapping cardinality must be one of
                    the following types:
                      q   One to one
                      q   One to many
                      q   Many to one
                      q   Many to many




Database System Concepts - 5 th Edition, Oct 5, 2006   6.11            ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities




                               One to one                     One to many
                  Note: Some elements in A and B may not be mapped to any
                  elements in the other set

Database System Concepts - 5 th Edition, Oct 5, 2006   6.12           ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities




                                Many to one                   Many to many
                    Note: Some elements in A and B may not be mapped to any
                    elements in the other set
Database System Concepts - 5 th Edition, Oct 5, 2006   6.13           ©Silberschatz, Korth and Sudarshan
Keys

               s A super key of an entity set is a set of one or more attributes
                    whose values uniquely determine each entity.
               s A candidate key of an entity set is a minimal super key
                      q   Customer_id is candidate key of customer
                      q   account_number is candidate key of account
               s Although several candidate keys may exist, one of the candidate
                    keys is selected to be the primary key.




Database System Concepts - 5 th Edition, Oct 5, 2006    6.14           ©Silberschatz, Korth and Sudarshan
E-R Diagrams




               s Rectangles represent entity sets.
               s Diamonds represent relationship sets.
               s Lines link attributes to entity sets and entity sets to relationship sets.
               s Ellipses represent attributes
                      q   Double ellipses represent multivalued attributes.
                      q   Dashed ellipses denote derived attributes.
               s Underline indicates primary key attributes (will study later)


Database System Concepts - 5 th Edition, Oct 5, 2006   6.15                   ©Silberschatz, Korth and Sudarshan
E-R Diagram With Composite, Multivalued, and
                             Derived Attributes




Database System Concepts - 5 th Edition, Oct 5, 2006   6.16   ©Silberschatz, Korth and Sudarshan
Relationship Sets with Attributes




Database System Concepts - 5 th Edition, Oct 5, 2006   6.17   ©Silberschatz, Korth and Sudarshan
Roles

               s Entity sets of a relationship need not be distinct
               s The labels “manager” and “worker” are called roles; they specify how
                    employee entities interact via the works_for relationship set.
               s Roles are indicated in E-R diagrams by labeling the lines that connect
                    diamonds to rectangles.
               s Role labels are optional, and are used to clarify semantics of the
                    relationship




Database System Concepts - 5 th Edition, Oct 5, 2006    6.18                ©Silberschatz, Korth and Sudarshan
Cardinality Constraints

               s We express cardinality constraints by drawing either a directed line (→),
                    signifying “one,” or an undirected line (—), signifying “many,” between
                    the relationship set and the entity set.
               s One-to-one relationship:
                      q   A customer is associated with at most one loan via the relationship
                          borrower
                      q   A loan is associated with at most one customer via borrower




Database System Concepts - 5 th Edition, Oct 5, 2006   6.19                 ©Silberschatz, Korth and Sudarshan
One-To-Many Relationship

               s In the one-to-many relationship a loan is associated with at most one
                    customer via borrower, a customer is associated with several (including
                    0) loans via borrower




Database System Concepts - 5 th Edition, Oct 5, 2006   6.20              ©Silberschatz, Korth and Sudarshan
Many-To-One Relationships

               s In a many-to-one relationship a loan is associated with several
                    (including 0) customers via borrower, a customer is associated with at
                    most one loan via borrower




Database System Concepts - 5 th Edition, Oct 5, 2006   6.21               ©Silberschatz, Korth and Sudarshan
Many-To-Many Relationship

               s A customer is associated with several (possibly 0) loans via
                    borrower
               s A loan is associated with several (possibly 0) customers via
                    borrower




Database System Concepts - 5 th Edition, Oct 5, 2006   6.22            ©Silberschatz, Korth and Sudarshan
Participation of an Entity Set in a
                                     Relationship Set

               s Total participation (indicated by double line): every entity in the entity set
                    participates in at least one relationship in the relationship set
                      q   E.g. participation of loan in borrower is total
                               every loan must have a customer associated to it via borrower
               s Partial participation: some entities may not participate in any relationship in
                    the relationship set
                      q   Example: participation of customer in borrower is partial




Database System Concepts - 5 th Edition, Oct 5, 2006    6.23                  ©Silberschatz, Korth and Sudarshan
Alternative Notation for Cardinality
                                    Limits

               s Cardinality limits can also express participation constraints




Database System Concepts - 5 th Edition, Oct 5, 2006   6.24              ©Silberschatz, Korth and Sudarshan
E-R Diagram with a Ternary
                                       Relationship




Database System Concepts - 5 th Edition, Oct 5, 2006   6.25   ©Silberschatz, Korth and Sudarshan
Weak Entity Sets

               s An entity set that does not have a primary key is referred to as a weak
                    entity set.
               s The existence of a weak entity set depends on the existence of a
                    identifying entity set
                      q    it must relate to the identifying entity set via a total, one-to-many
                          relationship set from the identifying to the weak entity set
                      q   Identifying relationship depicted using a double diamond
               s The discriminator (or partial key) of a weak entity set is the set of
                    attributes that distinguishes among all the entities of a weak entity set.
               s The primary key of a weak entity set is formed by the primary key of the
                    strong entity set on which the weak entity set is existence dependent,
                    plus the weak entity set’s discriminator.




Database System Concepts - 5 th Edition, Oct 5, 2006    6.26                    ©Silberschatz, Korth and Sudarshan
Weak Entity Sets (Cont.)

               s We depict a weak entity set by double rectangles.
               s We underline the discriminator of a weak entity set with a dashed
                    line.
               s payment_number – discriminator of the payment entity set
               s Primary key for payment – (loan_number, payment_number)




Database System Concepts - 5 th Edition, Oct 5, 2006   6.27           ©Silberschatz, Korth and Sudarshan
Weak Entity Sets (Cont.)

               s Note: the primary key of the strong entity set is not explicitly stored
                    with the weak entity set, since it is implicit in the identifying
                    relationship.
               s If loan_number were explicitly stored, payment could be made a
                    strong entity, but then the relationship between payment and loan
                    would be duplicated by an implicit relationship defined by the
                    attribute loan_number common to payment and loan




Database System Concepts - 5 th Edition, Oct 5, 2006    6.28                    ©Silberschatz, Korth and Sudarshan
More Weak Entity Set Examples

               s In a university, a course is a strong entity and a course_offering can
                    be modeled as a weak entity
               s The discriminator of course_offering would be semester (including
                    year) and section_number (if there is more than one section)
               s If we model course_offering as a strong entity we would model
                    course_number as an attribute.
                    Then the relationship with course would be implicit in the
                    course_number attribute




Database System Concepts - 5 th Edition, Oct 5, 2006   6.29                ©Silberschatz, Korth and Sudarshan
Extended E-R Features:
                                       Specialization

               s Top-down design process; we designate subgroupings within an entity set
                    that are distinctive from other entities in the set.
               s These subgroupings become lower-level entity sets that have attributes or
                    participate in relationships that do not apply to the higher-level entity set.
               s Depicted by a triangle component labeled ISA (E.g. customer “is a”
                    person).
               s Attribute inheritance – a lower-level entity set inherits all the attributes
                    and relationship participation of the higher-level entity set to which it is
                    linked.




Database System Concepts - 5 th Edition, Oct 5, 2006   6.30                   ©Silberschatz, Korth and Sudarshan
Specialization Example




Database System Concepts - 5 th Edition, Oct 5, 2006   6.31   ©Silberschatz, Korth and Sudarshan
Extended ER Features:
                                        Generalization

               s A bottom-up design process – combine a number of entity
                    sets that share the same features into a higher-level entity set.
               s Specialization and generalization are simple inversions of each
                    other; they are represented in an E-R diagram in the same way.
               s The terms specialization and generalization are used
                    interchangeably.




Database System Concepts - 5 th Edition, Oct 5, 2006   6.32                 ©Silberschatz, Korth and Sudarshan
Specialization and Generalization
                                    (Cont.)

               s Can have multiple specializations of an entity set based on different
                    features.
               s E.g. permanent_employee vs. temporary_employee, in addition to
                    officer vs. secretary vs. teller
               s Each particular employee would be
                      q   a member of one of permanent_employee or temporary_employee,
                      q   and also a member of one of officer, secretary, or teller
               s The ISA relationship also referred to as superclass - subclass
                    relationship




Database System Concepts - 5 th Edition, Oct 5, 2006   6.33                  ©Silberschatz, Korth and Sudarshan
Design Constraints on a
                                  Specialization/Generalization
               s Constraint on which entities can be members of a given lower-level
                    entity set.
                      q   condition-defined
                               Example: all customers over 65 years are members of senior-
                                citizen entity set; senior-citizen ISA person.
                      q   user-defined
               s Constraint on whether or not entities may belong to more than one
                    lower-level entity set within a single generalization.
                      q   Disjoint
                               an entity can belong to only one lower-level entity set
                               Noted in E-R diagram by writing disjoint next to the ISA
                                triangle
                      q   Overlapping
                               an entity can belong to more than one lower-level entity set


Database System Concepts - 5 th Edition, Oct 5, 2006     6.34                   ©Silberschatz, Korth and Sudarshan
Design Constraints on a
                       Specialization/Generalization (Cont.)
               s Completeness constraint -- specifies whether or not an
                    entity in the higher-level entity set must belong to at least one
                    of the lower-level entity sets within a generalization.
                      q   total : an entity must belong to one of the lower-level
                          entity sets
                      q   partial: an entity need not belong to one of the lower-level
                          entity sets




Database System Concepts - 5 th Edition, Oct 5, 2006   6.35                  ©Silberschatz, Korth and Sudarshan
Aggregation

               s Consider the ternary relationship works_on, which we saw earlier

               s Suppose we want to record managers for tasks performed by an
                  employee at a branch




Database System Concepts - 5 th Edition, Oct 5, 2006        6.36       ©Silberschatz, Korth and Sudarshan
Aggregation (Cont.)

               s Relationship sets works_on and manages represent overlapping information
                      q   Every manages relationship corresponds to a works_on relationship
                      q   However, some works_on relationships may not correspond to any
                          manages relationships
                               So we can’t discard the works_on relationship
               s Eliminate this redundancy via aggregation
                      q   Treat relationship as an abstract entity
                      q   Allows relationships between relationships
                      q   Abstraction of relationship into new entity
               s Without introducing redundancy, the following diagram represents:
                      q   An employee works on a particular job at a particular branch
                      q   An employee, branch, job combination may have an associated manager




Database System Concepts - 5 th Edition, Oct 5, 2006    6.37                    ©Silberschatz, Korth and Sudarshan
E-R Diagram With Aggregation




Database System Concepts - 5 th Edition, Oct 5, 2006   6.38   ©Silberschatz, Korth and Sudarshan
E-R Diagram for a Banking
                                       Enterprise




Database System Concepts - 5 th Edition, Oct 5, 2006   6.39   ©Silberschatz, Korth and Sudarshan
Summary of Symbols Used in E-R Notation




Database System Concepts - 5 th Edition, Oct 5, 2006   6.40   ©Silberschatz, Korth and Sudarshan
Summary of Symbols (Cont.)




Database System Concepts - 5 th Edition, Oct 5, 2006   6.41   ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas

               s Primary keys allow entity sets and relationship sets to be
                    expressed uniformly as relation schemas that represent the
                    contents of the database.
               s A database which conforms to an E-R diagram can be
                    represented by a collection of schemas.
               s For each entity set and relationship set there is a unique
                    schema that is assigned the name of the corresponding entity
                    set or relationship set.
               s Each schema has a number of columns (generally
                    corresponding to attributes), which have unique names.




Database System Concepts - 5 th Edition, Oct 5, 2006   6.42             ©Silberschatz, Korth and Sudarshan
Representing Entity Sets as
                                    Schemas

         s A strong entity set reduces to a schema with the same attributes.
         s A weak entity set becomes a table that includes a column for the
               primary key of the identifying strong entity set
               payment =
               ( loan_number, payment_number, payment_date, payment_amount )




Database System Concepts - 5 th Edition, Oct 5, 2006   6.43       ©Silberschatz, Korth and Sudarshan
Representing Relationship Sets as
                                Schemas
               s A many-to-many relationship set is represented as a schema with
                    attributes for the primary keys of the two participating entity sets,
                    and any descriptive attributes of the relationship set.
               s Example: schema for relationship set borrower
                    borrower = (customer_id, loan_number )




Database System Concepts - 5 th Edition, Oct 5, 2006   6.44            ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas

               s Many-to-one and one-to-many relationship sets that are total on the
                    many-side can be represented by adding an extra attribute to the
                    “many” side, containing the primary key of the “one” side
               s Example: Instead of creating a schema for relationship set
                    account_branch, add an attribute branch_name to the schema
                    arising from entity set account




Database System Concepts - 5 th Edition, Oct 5, 2006   6.45              ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas (Cont.)

               s For one-to-one relationship sets, either side can be chosen to act as the
                    “many” side
                      q   That is, extra attribute can be added to either of the tables
                          corresponding to the two entity sets
               s If participation is partial on the “many” side, replacing a schema by an
                    extra attribute in the schema corresponding to the “many” side could
                    result in null values
               s The schema corresponding to a relationship set linking a weak entity set
                    to its identifying strong entity set is redundant.
                      q   Example: The payment schema already contains the attributes that
                          would appear in the loan_payment schema (i.e., loan_number and
                          payment_number).




Database System Concepts - 5 th Edition, Oct 5, 2006   6.46                   ©Silberschatz, Korth and Sudarshan
Composite and Multivalued
                                        Attributes
            s Composite attributes are flattened out by creating a separate attribute for
                 each component attribute
                  q    Example: given entity set customer with composite attribute name with
                       component attributes first_name and last_name the schema
                       corresponding to the entity set has two attributes
                                 name.first_name and name.last_name
            s A multivalued attribute M of an entity E is represented by a separate
                 schema EM
                  q    Schema EM has attributes corresponding to the primary key of E and
                       an attribute corresponding to multivalued attribute M
                  q    Example: Multivalued attribute dependent_names of employee is
                       represented by a schema:
                         employee_dependent_names = ( employee_id, dname)
                  q    Each value of the multivalued attribute maps to a separate tuple of the
                       relation on schema EM
                           For example, an employee entity with primary key 123-45-6789
                            and dependents Jack and Jane maps to two tuples:
                              (123-45-6789 , Jack) and (123-45-6789 , Jane)
Database System Concepts - 5 th Edition, Oct 5, 2006   6.47                 ©Silberschatz, Korth and Sudarshan
Representing Specialization via
                                 Schemas
               s Method 1:
                      q   Form a schema for the higher-level entity
                      q   Form a schema for each lower-level entity set, include primary
                          key of higher-level entity set and local attributes

                                schema                  attributes
                               person                  name, street, city
                               customer                name, credit_rating
                               employee                name, salary
                      q   Drawback: getting information about, an employee requires
                          accessing two relations, the one corresponding to the low-level
                          schema and the one corresponding to the high-level schema




Database System Concepts - 5 th Edition, Oct 5, 2006            6.48         ©Silberschatz, Korth and Sudarshan
Representing Specialization as Schemas
                                (Cont.)
               s Method 2:
                      q   Form a schema for each entity set with all local and inherited attributes

                           schema                        attributes
                          person                       name, street, city
                          customer                     name, street, city, credit_rating
                          employee                     name, street, city, salary

                      q   If specialization is total, the schema for the generalized entity set
                          (person) not required to store information
                               Can be defined as a “view” relation containing union of specialization
                                relations
                               But explicit schema may still be needed for foreign key constraints
                      q   Drawback: street and city may be stored redundantly for people who are
                          both customers and employees


Database System Concepts - 5 th Edition, Oct 5, 2006               6.49                    ©Silberschatz, Korth and Sudarshan

More Related Content

What's hot

3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMSkoolkampus
 
Query optimization in SQL
Query optimization in SQLQuery optimization in SQL
Query optimization in SQLAbdul Rehman
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational modelChirag vasava
 
Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database conceptsTemesgenthanks
 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016Mark Tabladillo
 
Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...
Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...
Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...Beat Signer
 
LISP Programming Language (Artificial Intelligence)
LISP Programming Language (Artificial Intelligence)LISP Programming Language (Artificial Intelligence)
LISP Programming Language (Artificial Intelligence)wahab khan
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship DiagramShakila Mahjabin
 
The Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database ConstraintsThe Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database Constraintssontumax
 
Lecture 01 introduction to database
Lecture 01 introduction to databaseLecture 01 introduction to database
Lecture 01 introduction to databaseemailharmeet
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraintsKumar
 
Er & eer to relational mapping
Er & eer to relational mappingEr & eer to relational mapping
Er & eer to relational mappingsaurabhshertukde
 
Slide 6 er strong & weak entity
Slide 6 er  strong & weak entitySlide 6 er  strong & weak entity
Slide 6 er strong & weak entityVisakh V
 

What's hot (20)

3. Relational Models in DBMS
3. Relational Models in DBMS3. Relational Models in DBMS
3. Relational Models in DBMS
 
Query optimization in SQL
Query optimization in SQLQuery optimization in SQL
Query optimization in SQL
 
relational algebra
relational algebrarelational algebra
relational algebra
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
 
Database keys
Database keysDatabase keys
Database keys
 
Object oriented database concepts
Object oriented database conceptsObject oriented database concepts
Object oriented database concepts
 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016
 
Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...
Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...
Extended ER Model and other Modelling Languages - Lecture 2 - Introduction to...
 
LISP Programming Language (Artificial Intelligence)
LISP Programming Language (Artificial Intelligence)LISP Programming Language (Artificial Intelligence)
LISP Programming Language (Artificial Intelligence)
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
Triggers and Stored Procedures
Triggers and Stored ProceduresTriggers and Stored Procedures
Triggers and Stored Procedures
 
The Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database ConstraintsThe Relational Data Model and Relational Database Constraints
The Relational Data Model and Relational Database Constraints
 
Eer case study
Eer case studyEer case study
Eer case study
 
Lecture 01 introduction to database
Lecture 01 introduction to databaseLecture 01 introduction to database
Lecture 01 introduction to database
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
 
Er & eer to relational mapping
Er & eer to relational mappingEr & eer to relational mapping
Er & eer to relational mapping
 
Entity relationship modelling
Entity relationship modellingEntity relationship modelling
Entity relationship modelling
 
Slide 6 er strong & weak entity
Slide 6 er  strong & weak entitySlide 6 er  strong & weak entity
Slide 6 er strong & weak entity
 
Er diagram
Er diagramEr diagram
Er diagram
 

Viewers also liked

Aarogya Bharat India Healthcare Roadmap for 2025.
Aarogya Bharat India Healthcare Roadmap for 2025.Aarogya Bharat India Healthcare Roadmap for 2025.
Aarogya Bharat India Healthcare Roadmap for 2025.Healthcare consultant
 
Global Trends Of It Outsourcing.
Global Trends Of It Outsourcing.Global Trends Of It Outsourcing.
Global Trends Of It Outsourcing.sudarshanhandigital
 
Database management system chapter16
Database management system chapter16Database management system chapter16
Database management system chapter16Md. Mahedi Mahfuj
 
Entity relationship diagram (erd)
Entity relationship diagram (erd)Entity relationship diagram (erd)
Entity relationship diagram (erd)tameemyousaf
 

Viewers also liked (7)

Aarogya Bharat India Healthcare Roadmap for 2025.
Aarogya Bharat India Healthcare Roadmap for 2025.Aarogya Bharat India Healthcare Roadmap for 2025.
Aarogya Bharat India Healthcare Roadmap for 2025.
 
Global Trends Of It Outsourcing.
Global Trends Of It Outsourcing.Global Trends Of It Outsourcing.
Global Trends Of It Outsourcing.
 
Database management system chapter16
Database management system chapter16Database management system chapter16
Database management system chapter16
 
ER MODEL
ER MODELER MODEL
ER MODEL
 
E R Diagram
E R DiagramE R Diagram
E R Diagram
 
EER Model
EER ModelEER Model
EER Model
 
Entity relationship diagram (erd)
Entity relationship diagram (erd)Entity relationship diagram (erd)
Entity relationship diagram (erd)
 

Similar to Er model (20)

Ch6
Ch6Ch6
Ch6
 
Relational Model
Relational ModelRelational Model
Relational Model
 
Ch2
Ch2Ch2
Ch2
 
Ch7
Ch7Ch7
Ch7
 
Ch2
Ch2Ch2
Ch2
 
Ch2
Ch2Ch2
Ch2
 
Database Design E-R Model.pdf
Database Design E-R Model.pdfDatabase Design E-R Model.pdf
Database Design E-R Model.pdf
 
ER Models.ppt
ER Models.pptER Models.ppt
ER Models.ppt
 
DATABASE MANAGEMENT SYSTEMS ER MODEL.ppt
DATABASE MANAGEMENT SYSTEMS ER MODEL.pptDATABASE MANAGEMENT SYSTEMS ER MODEL.ppt
DATABASE MANAGEMENT SYSTEMS ER MODEL.ppt
 
DBMS-UNIT 3-part1.ppt
DBMS-UNIT 3-part1.pptDBMS-UNIT 3-part1.ppt
DBMS-UNIT 3-part1.ppt
 
erfrombook.ppt
erfrombook.ppterfrombook.ppt
erfrombook.ppt
 
Ch3
Ch3Ch3
Ch3
 
Ch3
Ch3Ch3
Ch3
 
Introduction To DBMS
Introduction To DBMSIntroduction To DBMS
Introduction To DBMS
 
U2_ER_upto_map_relations.pdf
U2_ER_upto_map_relations.pdfU2_ER_upto_map_relations.pdf
U2_ER_upto_map_relations.pdf
 
Bab 6 pendukung
Bab 6 pendukungBab 6 pendukung
Bab 6 pendukung
 
ch7.ppt ER Model lecture 102 slides set in ppt
ch7.ppt ER Model lecture 102 slides set in pptch7.ppt ER Model lecture 102 slides set in ppt
ch7.ppt ER Model lecture 102 slides set in ppt
 
ch6.pptx
ch6.pptxch6.pptx
ch6.pptx
 
ER Model Ppt.ppt
ER Model Ppt.pptER Model Ppt.ppt
ER Model Ppt.ppt
 
Er model
Er modelEr model
Er model
 

More from saurabhshertukde (17)

Revision sql te it new syllabus
Revision sql te it new syllabusRevision sql te it new syllabus
Revision sql te it new syllabus
 
Oodbms ch 20
Oodbms ch 20Oodbms ch 20
Oodbms ch 20
 
Introduction er & eer
Introduction er & eerIntroduction er & eer
Introduction er & eer
 
Introduction er & eer
Introduction er &  eerIntroduction er &  eer
Introduction er & eer
 
Integrity & security
Integrity & securityIntegrity & security
Integrity & security
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
 
Softwareproject planning
Softwareproject planningSoftwareproject planning
Softwareproject planning
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Design concepts and principles
Design concepts and principlesDesign concepts and principles
Design concepts and principles
 
Analysis modelling
Analysis modellingAnalysis modelling
Analysis modelling
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Risk analysis
Risk analysisRisk analysis
Risk analysis
 

Er model

  • 1. Chapter 6: Entity-Relationship Model Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use
  • 2. Chapter 6: Entity-Relationship Model s Modeling s Constraints s E-R Diagram s Design Issues s Weak Entity Sets s Extended E-R Features s Design of the Bank Database s Reduction to Relation Schemas s Database Design Database System Concepts - 5 th Edition, Oct 5, 2006 6.2 ©Silberschatz, Korth and Sudarshan
  • 3. Modeling s A database can be modeled as: q a collection of entities, q relationship among entities. s An entity is an object that exists and is distinguishable from other objects. q Example: specific person, company, event, plant s Entities have attributes q Example: people have names and addresses s An entity set is a set of entities of the same type that share the same properties. q Example: set of all persons, companies, trees, holidays Database System Concepts - 5 th Edition, Oct 5, 2006 6.3 ©Silberschatz, Korth and Sudarshan
  • 4. Entity Sets customer and loan customer_id customer_ customer_ customer_ loan_ amount name street city number Database System Concepts - 5 th Edition, Oct 5, 2006 6.4 ©Silberschatz, Korth and Sudarshan
  • 5. Relationship Sets s A relationship is an association among several entities Example: Hayes depositor A-102 customer entity relationship set account entity s A relationship set is a mathematical relation among n ≥ 2 entities, each taken from entity sets {(e1, e2, … en) | e1 ∈ E1, e2 ∈ E2, …, en ∈ En} where (e1, e2, …, en) is a relationship q Example: (Hayes, A-102) ∈ depositor Database System Concepts - 5 th Edition, Oct 5, 2006 6.5 ©Silberschatz, Korth and Sudarshan
  • 6. Relationship Set borrower Database System Concepts - 5 th Edition, Oct 5, 2006 6.6 ©Silberschatz, Korth and Sudarshan
  • 7. Relationship Sets (Cont.) s An attribute can also be property of a relationship set. s For instance, the depositor relationship set between entity sets customer and account may have the attribute access-date Database System Concepts - 5 th Edition, Oct 5, 2006 6.7 ©Silberschatz, Korth and Sudarshan
  • 8. Degree of a Relationship Set s Refers to number of entity sets that participate in a relationship set. s Relationship sets that involve two entity sets are binary (or degree two). Generally, most relationship sets in a database system are binary. s Relationship sets may involve more than two entity sets. Example: Suppose employees of a bank may have jobs (responsibilities) at multiple branches, with different jobs at different branches. Then there is a ternary relationship set between entity sets employee, job, and branch s Relationships between more than two entity sets are rare. Most relationships are binary. (More on this later.) Database System Concepts - 5 th Edition, Oct 5, 2006 6.8 ©Silberschatz, Korth and Sudarshan
  • 9. Attributes s An entity is represented by a set of attributes, that is descriptive properties possessed by all members of an entity set. Example: customer = (customer_id, customer_name, customer_street, customer_city ) loan = (loan_number, amount ) s Domain – the set of permitted values for each attribute s Attribute types: q Simple and composite attributes. q Single-valued and multi-valued attributes  Example: multivalued attribute: phone_numbers q Derived attributes  Can be computed from other attributes  Example: age, given date_of_birth Database System Concepts - 5 th Edition, Oct 5, 2006 6.9 ©Silberschatz, Korth and Sudarshan
  • 10. Composite Attributes Database System Concepts - 5 th Edition, Oct 5, 2006 6.10 ©Silberschatz, Korth and Sudarshan
  • 11. Mapping Cardinality Constraints s Express the number of entities to which another entity can be associated via a relationship set. s Most useful in describing binary relationship sets. s For a binary relationship set the mapping cardinality must be one of the following types: q One to one q One to many q Many to one q Many to many Database System Concepts - 5 th Edition, Oct 5, 2006 6.11 ©Silberschatz, Korth and Sudarshan
  • 12. Mapping Cardinalities One to one One to many Note: Some elements in A and B may not be mapped to any elements in the other set Database System Concepts - 5 th Edition, Oct 5, 2006 6.12 ©Silberschatz, Korth and Sudarshan
  • 13. Mapping Cardinalities Many to one Many to many Note: Some elements in A and B may not be mapped to any elements in the other set Database System Concepts - 5 th Edition, Oct 5, 2006 6.13 ©Silberschatz, Korth and Sudarshan
  • 14. Keys s A super key of an entity set is a set of one or more attributes whose values uniquely determine each entity. s A candidate key of an entity set is a minimal super key q Customer_id is candidate key of customer q account_number is candidate key of account s Although several candidate keys may exist, one of the candidate keys is selected to be the primary key. Database System Concepts - 5 th Edition, Oct 5, 2006 6.14 ©Silberschatz, Korth and Sudarshan
  • 15. E-R Diagrams s Rectangles represent entity sets. s Diamonds represent relationship sets. s Lines link attributes to entity sets and entity sets to relationship sets. s Ellipses represent attributes q Double ellipses represent multivalued attributes. q Dashed ellipses denote derived attributes. s Underline indicates primary key attributes (will study later) Database System Concepts - 5 th Edition, Oct 5, 2006 6.15 ©Silberschatz, Korth and Sudarshan
  • 16. E-R Diagram With Composite, Multivalued, and Derived Attributes Database System Concepts - 5 th Edition, Oct 5, 2006 6.16 ©Silberschatz, Korth and Sudarshan
  • 17. Relationship Sets with Attributes Database System Concepts - 5 th Edition, Oct 5, 2006 6.17 ©Silberschatz, Korth and Sudarshan
  • 18. Roles s Entity sets of a relationship need not be distinct s The labels “manager” and “worker” are called roles; they specify how employee entities interact via the works_for relationship set. s Roles are indicated in E-R diagrams by labeling the lines that connect diamonds to rectangles. s Role labels are optional, and are used to clarify semantics of the relationship Database System Concepts - 5 th Edition, Oct 5, 2006 6.18 ©Silberschatz, Korth and Sudarshan
  • 19. Cardinality Constraints s We express cardinality constraints by drawing either a directed line (→), signifying “one,” or an undirected line (—), signifying “many,” between the relationship set and the entity set. s One-to-one relationship: q A customer is associated with at most one loan via the relationship borrower q A loan is associated with at most one customer via borrower Database System Concepts - 5 th Edition, Oct 5, 2006 6.19 ©Silberschatz, Korth and Sudarshan
  • 20. One-To-Many Relationship s In the one-to-many relationship a loan is associated with at most one customer via borrower, a customer is associated with several (including 0) loans via borrower Database System Concepts - 5 th Edition, Oct 5, 2006 6.20 ©Silberschatz, Korth and Sudarshan
  • 21. Many-To-One Relationships s In a many-to-one relationship a loan is associated with several (including 0) customers via borrower, a customer is associated with at most one loan via borrower Database System Concepts - 5 th Edition, Oct 5, 2006 6.21 ©Silberschatz, Korth and Sudarshan
  • 22. Many-To-Many Relationship s A customer is associated with several (possibly 0) loans via borrower s A loan is associated with several (possibly 0) customers via borrower Database System Concepts - 5 th Edition, Oct 5, 2006 6.22 ©Silberschatz, Korth and Sudarshan
  • 23. Participation of an Entity Set in a Relationship Set s Total participation (indicated by double line): every entity in the entity set participates in at least one relationship in the relationship set q E.g. participation of loan in borrower is total  every loan must have a customer associated to it via borrower s Partial participation: some entities may not participate in any relationship in the relationship set q Example: participation of customer in borrower is partial Database System Concepts - 5 th Edition, Oct 5, 2006 6.23 ©Silberschatz, Korth and Sudarshan
  • 24. Alternative Notation for Cardinality Limits s Cardinality limits can also express participation constraints Database System Concepts - 5 th Edition, Oct 5, 2006 6.24 ©Silberschatz, Korth and Sudarshan
  • 25. E-R Diagram with a Ternary Relationship Database System Concepts - 5 th Edition, Oct 5, 2006 6.25 ©Silberschatz, Korth and Sudarshan
  • 26. Weak Entity Sets s An entity set that does not have a primary key is referred to as a weak entity set. s The existence of a weak entity set depends on the existence of a identifying entity set q it must relate to the identifying entity set via a total, one-to-many relationship set from the identifying to the weak entity set q Identifying relationship depicted using a double diamond s The discriminator (or partial key) of a weak entity set is the set of attributes that distinguishes among all the entities of a weak entity set. s The primary key of a weak entity set is formed by the primary key of the strong entity set on which the weak entity set is existence dependent, plus the weak entity set’s discriminator. Database System Concepts - 5 th Edition, Oct 5, 2006 6.26 ©Silberschatz, Korth and Sudarshan
  • 27. Weak Entity Sets (Cont.) s We depict a weak entity set by double rectangles. s We underline the discriminator of a weak entity set with a dashed line. s payment_number – discriminator of the payment entity set s Primary key for payment – (loan_number, payment_number) Database System Concepts - 5 th Edition, Oct 5, 2006 6.27 ©Silberschatz, Korth and Sudarshan
  • 28. Weak Entity Sets (Cont.) s Note: the primary key of the strong entity set is not explicitly stored with the weak entity set, since it is implicit in the identifying relationship. s If loan_number were explicitly stored, payment could be made a strong entity, but then the relationship between payment and loan would be duplicated by an implicit relationship defined by the attribute loan_number common to payment and loan Database System Concepts - 5 th Edition, Oct 5, 2006 6.28 ©Silberschatz, Korth and Sudarshan
  • 29. More Weak Entity Set Examples s In a university, a course is a strong entity and a course_offering can be modeled as a weak entity s The discriminator of course_offering would be semester (including year) and section_number (if there is more than one section) s If we model course_offering as a strong entity we would model course_number as an attribute. Then the relationship with course would be implicit in the course_number attribute Database System Concepts - 5 th Edition, Oct 5, 2006 6.29 ©Silberschatz, Korth and Sudarshan
  • 30. Extended E-R Features: Specialization s Top-down design process; we designate subgroupings within an entity set that are distinctive from other entities in the set. s These subgroupings become lower-level entity sets that have attributes or participate in relationships that do not apply to the higher-level entity set. s Depicted by a triangle component labeled ISA (E.g. customer “is a” person). s Attribute inheritance – a lower-level entity set inherits all the attributes and relationship participation of the higher-level entity set to which it is linked. Database System Concepts - 5 th Edition, Oct 5, 2006 6.30 ©Silberschatz, Korth and Sudarshan
  • 31. Specialization Example Database System Concepts - 5 th Edition, Oct 5, 2006 6.31 ©Silberschatz, Korth and Sudarshan
  • 32. Extended ER Features: Generalization s A bottom-up design process – combine a number of entity sets that share the same features into a higher-level entity set. s Specialization and generalization are simple inversions of each other; they are represented in an E-R diagram in the same way. s The terms specialization and generalization are used interchangeably. Database System Concepts - 5 th Edition, Oct 5, 2006 6.32 ©Silberschatz, Korth and Sudarshan
  • 33. Specialization and Generalization (Cont.) s Can have multiple specializations of an entity set based on different features. s E.g. permanent_employee vs. temporary_employee, in addition to officer vs. secretary vs. teller s Each particular employee would be q a member of one of permanent_employee or temporary_employee, q and also a member of one of officer, secretary, or teller s The ISA relationship also referred to as superclass - subclass relationship Database System Concepts - 5 th Edition, Oct 5, 2006 6.33 ©Silberschatz, Korth and Sudarshan
  • 34. Design Constraints on a Specialization/Generalization s Constraint on which entities can be members of a given lower-level entity set. q condition-defined  Example: all customers over 65 years are members of senior- citizen entity set; senior-citizen ISA person. q user-defined s Constraint on whether or not entities may belong to more than one lower-level entity set within a single generalization. q Disjoint  an entity can belong to only one lower-level entity set  Noted in E-R diagram by writing disjoint next to the ISA triangle q Overlapping  an entity can belong to more than one lower-level entity set Database System Concepts - 5 th Edition, Oct 5, 2006 6.34 ©Silberschatz, Korth and Sudarshan
  • 35. Design Constraints on a Specialization/Generalization (Cont.) s Completeness constraint -- specifies whether or not an entity in the higher-level entity set must belong to at least one of the lower-level entity sets within a generalization. q total : an entity must belong to one of the lower-level entity sets q partial: an entity need not belong to one of the lower-level entity sets Database System Concepts - 5 th Edition, Oct 5, 2006 6.35 ©Silberschatz, Korth and Sudarshan
  • 36. Aggregation s Consider the ternary relationship works_on, which we saw earlier s Suppose we want to record managers for tasks performed by an employee at a branch Database System Concepts - 5 th Edition, Oct 5, 2006 6.36 ©Silberschatz, Korth and Sudarshan
  • 37. Aggregation (Cont.) s Relationship sets works_on and manages represent overlapping information q Every manages relationship corresponds to a works_on relationship q However, some works_on relationships may not correspond to any manages relationships  So we can’t discard the works_on relationship s Eliminate this redundancy via aggregation q Treat relationship as an abstract entity q Allows relationships between relationships q Abstraction of relationship into new entity s Without introducing redundancy, the following diagram represents: q An employee works on a particular job at a particular branch q An employee, branch, job combination may have an associated manager Database System Concepts - 5 th Edition, Oct 5, 2006 6.37 ©Silberschatz, Korth and Sudarshan
  • 38. E-R Diagram With Aggregation Database System Concepts - 5 th Edition, Oct 5, 2006 6.38 ©Silberschatz, Korth and Sudarshan
  • 39. E-R Diagram for a Banking Enterprise Database System Concepts - 5 th Edition, Oct 5, 2006 6.39 ©Silberschatz, Korth and Sudarshan
  • 40. Summary of Symbols Used in E-R Notation Database System Concepts - 5 th Edition, Oct 5, 2006 6.40 ©Silberschatz, Korth and Sudarshan
  • 41. Summary of Symbols (Cont.) Database System Concepts - 5 th Edition, Oct 5, 2006 6.41 ©Silberschatz, Korth and Sudarshan
  • 42. Reduction to Relation Schemas s Primary keys allow entity sets and relationship sets to be expressed uniformly as relation schemas that represent the contents of the database. s A database which conforms to an E-R diagram can be represented by a collection of schemas. s For each entity set and relationship set there is a unique schema that is assigned the name of the corresponding entity set or relationship set. s Each schema has a number of columns (generally corresponding to attributes), which have unique names. Database System Concepts - 5 th Edition, Oct 5, 2006 6.42 ©Silberschatz, Korth and Sudarshan
  • 43. Representing Entity Sets as Schemas s A strong entity set reduces to a schema with the same attributes. s A weak entity set becomes a table that includes a column for the primary key of the identifying strong entity set payment = ( loan_number, payment_number, payment_date, payment_amount ) Database System Concepts - 5 th Edition, Oct 5, 2006 6.43 ©Silberschatz, Korth and Sudarshan
  • 44. Representing Relationship Sets as Schemas s A many-to-many relationship set is represented as a schema with attributes for the primary keys of the two participating entity sets, and any descriptive attributes of the relationship set. s Example: schema for relationship set borrower borrower = (customer_id, loan_number ) Database System Concepts - 5 th Edition, Oct 5, 2006 6.44 ©Silberschatz, Korth and Sudarshan
  • 45. Redundancy of Schemas s Many-to-one and one-to-many relationship sets that are total on the many-side can be represented by adding an extra attribute to the “many” side, containing the primary key of the “one” side s Example: Instead of creating a schema for relationship set account_branch, add an attribute branch_name to the schema arising from entity set account Database System Concepts - 5 th Edition, Oct 5, 2006 6.45 ©Silberschatz, Korth and Sudarshan
  • 46. Redundancy of Schemas (Cont.) s For one-to-one relationship sets, either side can be chosen to act as the “many” side q That is, extra attribute can be added to either of the tables corresponding to the two entity sets s If participation is partial on the “many” side, replacing a schema by an extra attribute in the schema corresponding to the “many” side could result in null values s The schema corresponding to a relationship set linking a weak entity set to its identifying strong entity set is redundant. q Example: The payment schema already contains the attributes that would appear in the loan_payment schema (i.e., loan_number and payment_number). Database System Concepts - 5 th Edition, Oct 5, 2006 6.46 ©Silberschatz, Korth and Sudarshan
  • 47. Composite and Multivalued Attributes s Composite attributes are flattened out by creating a separate attribute for each component attribute q Example: given entity set customer with composite attribute name with component attributes first_name and last_name the schema corresponding to the entity set has two attributes name.first_name and name.last_name s A multivalued attribute M of an entity E is represented by a separate schema EM q Schema EM has attributes corresponding to the primary key of E and an attribute corresponding to multivalued attribute M q Example: Multivalued attribute dependent_names of employee is represented by a schema: employee_dependent_names = ( employee_id, dname) q Each value of the multivalued attribute maps to a separate tuple of the relation on schema EM  For example, an employee entity with primary key 123-45-6789 and dependents Jack and Jane maps to two tuples: (123-45-6789 , Jack) and (123-45-6789 , Jane) Database System Concepts - 5 th Edition, Oct 5, 2006 6.47 ©Silberschatz, Korth and Sudarshan
  • 48. Representing Specialization via Schemas s Method 1: q Form a schema for the higher-level entity q Form a schema for each lower-level entity set, include primary key of higher-level entity set and local attributes schema attributes person name, street, city customer name, credit_rating employee name, salary q Drawback: getting information about, an employee requires accessing two relations, the one corresponding to the low-level schema and the one corresponding to the high-level schema Database System Concepts - 5 th Edition, Oct 5, 2006 6.48 ©Silberschatz, Korth and Sudarshan
  • 49. Representing Specialization as Schemas (Cont.) s Method 2: q Form a schema for each entity set with all local and inherited attributes schema attributes person name, street, city customer name, street, city, credit_rating employee name, street, city, salary q If specialization is total, the schema for the generalized entity set (person) not required to store information  Can be defined as a “view” relation containing union of specialization relations  But explicit schema may still be needed for foreign key constraints q Drawback: street and city may be stored redundantly for people who are both customers and employees Database System Concepts - 5 th Edition, Oct 5, 2006 6.49 ©Silberschatz, Korth and Sudarshan