Lec3 - Relational Database Design ERD
Lec3 - Relational Database Design ERD
Most of the content was taken from slides of book “Database System Concepts, 7 th Ed, Silberschatz, Korth and Sudarshan”
Database Design – 3 levels
• Creating an Entity Relationship Diagram (ERD) to represent the
Conceptual reality and capture business data requirements
Design
• Relationships between more than two entity sets are rare. Most
relationships are binary.
Example: students work on research projects under the guidance of an instructor.
relationship proj_guide is a ternary relationship between instructor, student, and
project
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
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
Complex Attributes
• Attribute types:
• Simple and composite attributes.
• Single-valued and multivalued attributes
• Example: multivalued attribute: phone_numbers
• Derived attributes
• Can be computed from other attributes
• Example: age, given date_of_birth
• Domain – the set of permitted values for each attribute
Composite Attributes
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; although
each section entity is distinct, sections for different courses may share the same
section_id, year, and semester.
• 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.
• The notion of weak entity set formalizes the above intuition. 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. An entity set that is not a weak entity set is termed a strong entity set.
Weak Entity Sets (Cont.)
• 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.
Popular Notations
19
20
E-R Diagrams - Chen’s notation
https://www.youtube.com/watch?v=5OxZRj26uDE
E-R Diagrams - Chen’s notation
• Entity Set • Attribute
• Multivalued Attribute
E-R Diagrams - Chen’s notation
• Composite Attribute
E-R Diagrams - Chen’s notation – Relationship
• Strong Relationship
• one-to-many (1:N)
• many-to-many (M:N)
E-R Diagrams - Chen’s notation – Relationship
• Participation
• Total
• Partial
E-R Diagrams - Chen’s notation
• Example
• Employee
• Department
E-R Diagrams - Chen’s notation – Exercise
• Example
• A salesperson may manage many other salespeople. A salesperson is
managed by only one salespeople. A salesperson can be an agent for
many customers. A customer is managed by one salespeople. A
customer can place many orders. An order can be placed by one
customer. An order include many inventory products. An inventory
product may be listed on many orders. An inventory product is
assembled from many parts. A part may be assembled into many
inventory product. Many employees assemble an inventory product
from many parts. A supplier supplies many parts. A part may be
supplied by many suppliers
E-R Diagrams - Chen’s notation – Exercise
• Example 2
A publishing company produces books on various subjects. The books are
written by authors who specialize in one particular subject. The company
employs editors who, not necessarily being specialist in a particular area,
each take sole responsibility for editing one or more items for publications.
Every book requires some items for publication. These items supplied by
suppliers. One supplier can supply many items. Shop owner buys books from
the publisher. Shop owner can buy many books but one book can be bought
by one shop owner. Books are uniquely identified by Bookid.
E-R Diagrams - Chen’s notation – Exercise
• Example 3
ERD for DreamHome Use Case
• Professors have an SSN, a name, an age, a rank, and a research specialty.
• Projects have a project number, a sponsor name (e.g., NSF), a starting date, an ending date, and a budget.
• Graduate students have an SSN, a name, an age, and a degree program (e.g., M.S. or Ph.D.).
• Each project is managed by one professor (known as the project’s principal investigator).
• Each project is worked on by one or more professors (known as the project’s co-investigators).
• Professors can manage and/or work on multiple projects.
• Each project is worked on by one or more graduate students (known as the project’s research assistants).
• When graduate students work on a project, a professor must supervise their work on the project.
Graduate students can work on multiple projects, in which case they will have a (potentially different)
supervisor for each one.
• Departments have a department number, a department name, and a main office.
• Departments have a professor (known as the chairman) who runs the department.
• Professors work in one or more departments, and for each department that they work in, a time
percentage is associated with their job.
• Graduate students have one major department in which they are working on their degree.
• Each graduate student has another, more senior graduate student (known as a student advisor) who
advises him or her on what courses to take.
• A manufacturing company produces products.
• The following product information is stored: product name, product ID and quantity
on hand.
• These products are made up of many components. Each component can be supplied
by one or more suppliers. The following component information is kept: component
ID, name, description, suppliers who supply them, and products in which they are
used.
• Create an ERD to show how you would track this information.
• Show entity names, primary keys, attributes for each entity, relationships between
the entities and cardinality.
• ASSUMPTIONS
• A supplier can exist without providing components.
• A component does not have to be associated with a product. Not all components
are used in products.
• A product cannot exist without components.