0% found this document useful (0 votes)
63 views33 pages

Lec3 - Relational Database Design ERD

The document provides an overview of database design at three levels: conceptual design using entity relationship diagrams to represent business requirements, logical design by transforming the ERD into relational model tables and constraints, and physical design by implementing the database design in a specific DBMS. It describes key concepts of the entity relationship model including entities, attributes, relationships and relationship cardinalities. Examples of various ERD notations and constructs are also presented.

Uploaded by

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

Lec3 - Relational Database Design ERD

The document provides an overview of database design at three levels: conceptual design using entity relationship diagrams to represent business requirements, logical design by transforming the ERD into relational model tables and constraints, and physical design by implementing the database design in a specific DBMS. It describes key concepts of the entity relationship model including entities, attributes, relationships and relationship cardinalities. Examples of various ERD notations and constructs are also presented.

Uploaded by

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

Database Design

Databases Systems [BS-IV(cs/se)] [Spring 2021]


Abdul Rehman Soomrani

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

• Transforming ERD to relational Model: tables,


Logical
Design
keys (constraints), et

• Creating database, physical tables and other


Physical
Design
database objects based on specific DBMS
Design Approaches
• Entity Relationship Model
• Models an enterprise as a collection of entities and relationships
• Entity: a “thing” or “object” in the enterprise that is distinguishable
from other objects
• Described by a set of attributes
• Relationship: an association among several entities
• Represented diagrammatically by an entity-relationship diagram:
• Normalization Theory
• Formalize what designs are bad, and test for them
ER model -- Database Modeling
• The ER data mode was developed to facilitate database design by allowing
specification of an enterprise schema that represents the overall logical
structure of a database.
• The ER model is very useful in mapping the meanings and interactions of real-
world enterprises onto a conceptual schema. Because of this usefulness,
many database-design tools draw on concepts from the ER model.
• The ER data model employs three basic concepts:
• entity sets,
• relationship sets,
• attributes.
• The ER model also has an associated diagrammatic representation, the ER
diagram, which can express the overall logical structure of a database
graphically.
Entity Sets
• An entity is an object that exists and is distinguishable from other objects.
• Example: specific person, company, event, plant
• 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
• An entity is represented by a set of attributes; i.e., descriptive properties
possessed by all members of an entity set.
• Example:
instructor = (ID, name, street, city, salary )
course= (course_id, title, credits)
• A subset of the attributes form a primary key of the entity set; i.e.,
uniquely identifying each member of the set.
Entity Sets -- instructor and student

instructor_ID instructor_name student-ID student_name


Relationship Sets
• A relationship is an association among several entities
Example:
44553 (Peltier) advisor 22222 (Einstein)
student entity relationship set instructor 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:
(44553,22222)  advisor
Relationship Set advisor
Relationship Sets (Cont.)
• An attribute can also be associated with a relationship set.
• For instance, the advisor relationship set between entity sets instructor and
student may have the attribute date which tracks when the student started
being associated with the advisor
Degree of a Relationship Set
• binary relationship
• involve two entity sets (or degree two).
• most relationship sets in a database system are binary.

• 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

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
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

Entity–relationship modeling was developed for database


and design by Peter Chen and published in a 1976

https://www.youtube.com/watch?v=5OxZRj26uDE
E-R Diagrams - Chen’s notation
• Entity Set • Attribute

• Weak Entity Set • Example


E-R Diagrams - Chen’s notation
• Key • Drived Attribute

• Multivalued Attribute
E-R Diagrams - Chen’s notation
• Composite Attribute
E-R Diagrams - Chen’s notation – Relationship
• Strong Relationship

• Weak (identifying) Relationship


E-R Diagrams - Chen’s notation – Relationship
• Cardinality
• one-to-one (1:1)

• 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.

You might also like