0% found this document useful (0 votes)
54 views34 pages

ER Diagram - 1

This document outlines key concepts in entity-relationship (ER) modeling including: 1) Entities, attributes, and relationships can be modeled as entity sets, attributes, and relationship sets. 2) Cardinality constraints like one-to-one, one-to-many, many-to-one, and many-to-many describe relationships between entity sets. 3) Keys including candidate keys and primary keys uniquely identify entities, and the combination of related entity sets' primary keys form the key for a relationship set.

Uploaded by

rakhaadit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views34 pages

ER Diagram - 1

This document outlines key concepts in entity-relationship (ER) modeling including: 1) Entities, attributes, and relationships can be modeled as entity sets, attributes, and relationship sets. 2) Cardinality constraints like one-to-one, one-to-many, many-to-one, and many-to-many describe relationships between entity sets. 3) Keys including candidate keys and primary keys uniquely identify entities, and the combination of related entity sets' primary keys form the key for a relationship set.

Uploaded by

rakhaadit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

CSH2C3/ PEMODELAN BASIS DATA

ER DIAGRAM (1)

TEAM DOSEN PBD GANJIL 2018/2019


Outline OUTOUTLINELINE

Modeling
– Entity, Relationship, Attributes

Mapping Cardinality Constraints


Key
ER Diagram
Design Issues
Modeling
A database can be modeled as:
– a collection of entities,
– relationship among entities.

An entity is an object that exists and is distinguishable


from other objects.
– Example: specific person, company, event, plant

Entities have attributes


– Example: people have names and addresses

An entity set is a set of entities of the same type that


share the same properties.
– Example: set of all persons, companies, trees, holidays
Example : Entity set Customer

Attribute
Entity 1
Customer-Id Customer- Customer- Customer-City
name Street
Entity 2
321-12-3123 Jones Main Harison
019-28-3746 Smith North Rye Entity 3
677-89-9011 Hayes Main Harison
Entity 4
555-55-5555 Jackson Dupont Woodside

CUSTOMER
Entity Set
Relationship Sets
A relationship is an association among several entities

Example:
Hayes depositor A-102
customer entity relationship set account entity

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


– Example:
(Hayes, A-102)  depositor
Relationshipset Example - borrower
Customer-Id Customer- Customer- Customer-City Loan- Amount
name Street Number

L-17 1000
321-12-3123 Jones Main Harison
L-23 2000
019-28-3746 Smith North Rye
L-15 1500

677-89-9011 Hayes Main Harison L-14 500

555-55-5555 Jackson Dupont Woodside L-19 900

CUSTOMER LOAN
Relationship Sets
An attribute can also be property of a relationship set.
For instance, the depositor relationship set between
entity sets customer and account may have the attribute
access-date
Degree of a Relationship Set
Refers to number of entity sets that participate
in a relationship set.
Relationship sets that involve two entity sets
are binary (or degree two). Generally, most
relationship sets in a database system are
binary.
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
Example : Degree of a Relationship Set
Binary Relationship

Student Teacher

Ternary Relationship

Employee Branch

Job
Attributes
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 )

Domain – the set of permitted values for each


attribute
Attributes Types
– Simple and composite attributes.
▪ Simple Attributes : attributes that can’t be divided into different parts ;
▪ Composite Attribute : attributes that can be divided into parts ;
example : Name, that can be divided into First Name and Last Name
– Single-valued and multi-valued attributes
▪ Single-valued Attributes : attributes that only have 1 value
▪ Multi-valued Attributes : Attributes that can have many values in the
same domain ;
▪ Example: multivalued attribute: phone_numbers, address
– Derived attributes
▪ Can be computed from other attributes
▪ Example: age, given date_of_birth
Example : Composite Attributes
Mapping Cardinality Constraints

Express the number of entities to which another entity can


be associated via a relationship set.

Most useful in describing binary relationship sets.

For a binary relationship set the mapping cardinality must be


one of the following types:
– One to one
– One to many
– Many to one
– Many to many
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
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
Keys
A super key of an entity set is a set of one or
more attributes whose values uniquely
determine each entity.
A candidate key of an entity set is a minimal
super key
– Customer_id is candidate key of customer
– account_number is candidate key of account

Although several candidate keys may exist, one


of the candidate keys is selected to be the
primary key.
Keys for Relationship Sets
The combination of primary keys of the participating
entity sets forms a super key of a relationship set.
– (customer_id, account_number) is the super key of depositor
– NOTE: this means a pair of entity sets can have at most one
relationship in a particular relationship set.
▪ Example: if we wish to track all access_dates to each account by
each customer, we cannot assume a relationship for each access.
We can use a multivalued attribute though

Must consider the mapping cardinality of the


relationship set when deciding what are the
candidate keys
Keys Example
Customer = (Customer-Id, Customer-Name,
Customer-Street, Customer-City)
Super Key :
– Customer-Id, Customer-Name, Customer-Street, Customer-City
– Customer-Id, Customer-Name, Customer-Street
– Customer-Id, Customer-Name
– Customer-Id

Candidate Key :
– Customer-Id

Primary Key :
– Customer-Id
E-R Diagrams

o Rectangles represent entity sets.


o Diamonds represent relationship sets.
o Lines link attributes to entity sets and entity sets to relationship sets.
o Ellipses represent attributes
l Double ellipses represent multivalued attributes.
l Dashed ellipses denote derived attributes.
o Underline indicates primary key attributes
Example : E-R Diagram With Composite,
Multivalued, and Derived Attributes
Relationship Sets with Attributes
Roles
Entity sets of a relationship need not be distinct

The labels “manager” and “worker” are called roles ; they specify
how employee entities interact via the works_for relationship set.

Roles are indicated in E-R diagrams by labeling the lines that connect
diamonds to rectangles.

Role labels are optional, and are used to clarify semantics of the
relationship
Cardinality Constraints
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.
Or, we can express cardinality constraints by
numbering the line with 1 (for “one”), and n /m (for
“many”)
One-to-one relationship:
– A customer is associated with at most one loan via the
relationship borrower
– A loan is associated with at most one customer via borrower
One-To-One Relationship (1 – 1)
In the one-to-one relationship a loan is
associated with only one customer via
borrower, a customer is associated with only
one loans via borrower
One-To-Many Relationship (1 – N)
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
Many-To-One Relationships (N – 1)
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
Many-To-Many Relationship (N – M)
A customer is associated with several
(possibly 0) loans via borrower
A loan is associated with several (possibly 0)
customers via borrower
Design Issues
Use of entity sets vs. attributes
Choice mainly depends on the structure of the enterprise being
modeled, and on the semantics associated with the attribute in
question.

Use of entity sets vs. relationship sets


Possible guideline is to designate a relationship set to describe an
action that occurs between entities

Binary versus n-ary relationship sets


Although it is possible to replace any nonbinary (n-ary, for n > 2)
relationship set by a number of distinct binary relationship sets, a
n-ary relationship set shows more clearly that several entities
participate in a single relationship.

Placement of relationship attributes


Entity vs. Attribute

Should address be an attribute of Employees or an


entity (connected to Employees by a relationship)?
Depends upon the use we want to make of address
information, and the semantics of the data:
▪ If we have several addresses per employee, address must
be an entity (since attributes cannot be set-valued).
▪ If the structure (city, street, etc.) is important, e.g., we
want to retrieve employees in a given city, address must be
modeled as an entity (since attribute values are atomic).
Binary Vs. Non-Binary Relationships

Some relationships that appear to be non-binary


may be better represented using binary
relationships
– E.g. A ternary relationship parents, relating a child to
his/her father and mother, is best replaced by two binary
relationships, father and mother
▪ Using two binary relationships allows partial information (e.g.
only mother being know)
– But there are some relationships that are naturally non-
binary
▪ Example: works_on
Converting Non-Binary Relationships
to Binary Form (1)

In general, any non-binary relationship can be represented using binary


relationships by creating an artificial entity set.
– Replace R between entity sets A, B and C by an entity set E, and three relationship
sets:

1. RA, relating E and A 2.RB, relating E and B

3. RC, relating E and C


– Create a special identifying attribute for E
– Add any attributes of R to E
– For each relationship (ai , bi , ci) in R, create

1. a new entity ei in the entity set E 2. add (ei , ai ) to RA

3. add (ei , bi ) to RB 4. add (ei , ci ) to RC


Example : Converting ERD

You might also like