DB Week 3 Lecture 2
DB Week 3 Lecture 2
Conducted by
Hasan Muhammad Kafi
Assistant Professor, Dept. of CSE
Bangladesh Army University of Science and Technology (BAUST)
Mapping Cardinality Constraints
One to one
One to many
Many to one
Many to many
Mapping Cardinalities
Note: Some elements in A and B may not be mapped to any elements in the
other set
Mapping Cardinalities
Note: Some elements in A and B may not be mapped to any elements in the
other set
Representing Cardinality Constraints in
ER Diagram
• 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.
Instructor can advise 0 or more students. A student must have 1 advisor; cannot
have multiple advisors
Cardinality Constraints on Ternary
Relationship
• We allow at most one arrow out of a ternary (or greater degree) relationship to
indicate a cardinality constraint
• For example, an arrow from proj_guide to instructor indicates each student has at
most one guide for a project
• If there is more than one arrow, there are two ways of defining the meaning.
For example, a ternary relationship R between A, B and C with arrows to B and C
could mean
Each A entity is associated with a unique entity from and C or
Each pair of entities from (A, B) is associated with a unique C entity, and
each pair (A, C) is associated with a unique B
Entity sets
Relationship sets.
Weak entity sets
Primary key for Entity Sets
• By definition, individual entities are distinct.
• From database perspective, the differences among them must be expressed
in terms of their attributes.
• The values of the attribute values of an entity must be such that they can
uniquely identify the entity.
• No two entities in an entity set are allowed to have exactly the same value for
all attributes.
• The choice of the primary key for a relationship set depends on the mapping
cardinality of the relationship set.
Choice of Primary key for Binary
Relationship
• Many-to-Many relationships. The preceding union of the primary keys is a
minimal superkey and is chosen as the primary key.
• One-to-Many relationships . The primary key of the “Many” side is a
minimal superkey and is used as the primary key.
• Many-to-one relationships. The primary key of the “Many” side is a
minimal superkey and is used as the primary key.
• One-to-one relationships. The primary key of either one of the participating
entity sets forms a minimal superkey, and either one can be chosen as the
primary key.
Weak Entity Sets
• Consider a section entity, which is uniquely identified by a course_id,
semester, year, and sec_id.
• Clearly, section entities are related to course entities. Suppose we create a
relationship set sec_course between entity sets section and course.
• Note that the information in sec_course is redundant, since section already
has an attribute course_id, which identifies the course with which the
section is related.
• One option to deal with this redundancy is to get rid of the relationship
sec_course; however, by doing so the relationship between section and
course becomes implicit in an attribute, which is not desirable.
Weak Entity Sets (Cont.)
• An alternative way to deal with this redundancy is to not store the attribute
course_id in the section entity and to only store the remaining attributes section_id,
year, and semester.
However, the entity set section then does not have enough attributes to identify a
particular section entity uniquely
• To deal with this problem, we treat the relationship sec_course as a special
relationship that provides extra information, in this case, the course_id, required
to identify section entities uniquely.
• A weak entity set is one whose existence is dependent on another entity, called
its identifying entity
• Instead of associating a primary key with a weak entity, we use the identifying
entity, along with extra attributes called discriminator to uniquely identify a
weak entity.
Weak Entity Sets (Cont.)
• An entity set that is not a weak entity set is termed a strong entity set.
• Every weak entity must be associated with an identifying entity; that is, the
weak entity set is said to be existence dependent on the identifying entity
set.
• The identifying entity set is said to own the weak entity set that it identifies.
• The relationship associating the weak entity set with the identifying entity
set is called the identifying relationship.
• Note that the relational schema we eventually create from the entity set
section does have the attribute course_id, for reasons that will become clear
later, even though we have dropped the attribute course_id from the entity
set section.
Expressing Weak Entity Sets
• In E-R diagrams, a weak entity set is depicted via a double rectangle.
• We underline the discriminator of a weak entity set with a dashed line.
• The relationship set connecting the weak entity set to the identifying strong
entity set is depicted by a double diamond.
• Primary key for section – (course_id, sec_id, semester, year)
Redundant Attributes
• Suppose we have entity sets:
student, with attributes: ID, name, tot_cred, dept_name
department, with attributes: dept_name, building, budget
• We model the fact that each student has an associated department using a
relationship set stud_dept
• The attribute dept_name in student below replicates information present in the
relationship and is therefore redundant
and needs to be removed.
• BUT: when converting back to tables, in some cases the attribute gets reintroduced,
as we will see later.
E-R Diagram for a University Enterprise