Databases
Databases
Model
Database System Concepts - 7th Edition 6.2 ©Silberschatz, Korth and Sudarshan
Outline
Database System Concepts - 7th Edition 6.3 ©Silberschatz, Korth and Sudarshan
Design Phases
Database System Concepts - 7th Edition 6.4 ©Silberschatz, Korth and Sudarshan
Design Phases (Cont.)
Database System Concepts - 7th Edition 6.5 ©Silberschatz, Korth and Sudarshan
Design Alternatives
Database System Concepts - 7th Edition 6.6 ©Silberschatz, Korth and Sudarshan
Design Approaches
Database System Concepts - 7th Edition 6.7 ©Silberschatz, Korth and Sudarshan
Outline of the ER Model
Database System Concepts - 7th Edition 6.8 ©Silberschatz, Korth and Sudarshan
ER model -- Database Modeling
Database System Concepts - 7th Edition 6.9 ©Silberschatz, Korth and Sudarshan
Entity Sets
Database System Concepts - 7th Edition 6.10 ©Silberschatz, Korth and Sudarshan
Entity Sets -- instructor and student
Database System Concepts - 7th Edition 6.11 ©Silberschatz, Korth and Sudarshan
Representing Entity sets in ER Diagram
Database System Concepts - 7th Edition 6.12 ©Silberschatz, Korth and Sudarshan
Relationship Sets
Database System Concepts - 7th Edition 6.13 ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)
Database System Concepts - 7th Edition 6.14 ©Silberschatz, Korth and Sudarshan
Representing Relationship Sets via ER Diagrams
Database System Concepts - 7th Edition 6.15 ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)
Database System Concepts - 7th Edition 6.16 ©Silberschatz, Korth and Sudarshan
Relationship Sets with Attributes
Database System Concepts - 7th Edition 6.17 ©Silberschatz, Korth and Sudarshan
Roles
Database System Concepts - 7th Edition 6.18 ©Silberschatz, Korth and Sudarshan
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. (More on this later.)
• Example: students work on research projects under the guidance of
an instructor.
• relationship proj_guide is a ternary relationship between instructor,
student, and project
Database System Concepts - 7th Edition 6.19 ©Silberschatz, Korth and Sudarshan
Non-binary Relationship Sets
Database System Concepts - 7th Edition 6.20 ©Silberschatz, Korth and Sudarshan
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
Database System Concepts - 7th Edition 6.21 ©Silberschatz, Korth and Sudarshan
Composite Attributes
Database System Concepts - 7th Edition 6.22 ©Silberschatz, Korth and Sudarshan
Representing Complex Attributes in ER Diagram
Database System Concepts - 7th Edition 6.23 ©Silberschatz, Korth and Sudarshan
Mapping Cardinality Constraints
Database System Concepts - 7th Edition 6.24 ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Database System Concepts - 7th Edition 6.25 ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Database System Concepts - 7th Edition 6.26 ©Silberschatz, Korth and Sudarshan
Representing Cardinality Constraints in ER Diagram
Database System Concepts - 7th Edition 6.27 ©Silberschatz, Korth and Sudarshan
One-to-Many Relationship
Database System Concepts - 7th Edition 6.28 ©Silberschatz, Korth and Sudarshan
Many-to-One Relationships
Database System Concepts - 7th Edition 6.29 ©Silberschatz, Korth and Sudarshan
Many-to-Many Relationship
Database System Concepts - 7th Edition 6.30 ©Silberschatz, Korth and Sudarshan
Total and Partial Participation
Total participation (indicated by double line): every entity in the entity set
participates in at least one relationship in the relationship set
Database System Concepts - 7th Edition 6.31 ©Silberschatz, Korth and Sudarshan
Notation for Expressing More Complex Constraints
Database System Concepts - 7th Edition 6.32 ©Silberschatz, Korth and Sudarshan
Cardinality Constraints on Ternary Relationship
Database System Concepts - 7th Edition 6.33 ©Silberschatz, Korth and Sudarshan
Primary Key
Primary keys provide a way to specify how entities and relations are
distinguished. We will consider:
• Entity sets
• Relationship sets.
• Weak entity sets
Database System Concepts - 7th Edition 6.34 ©Silberschatz, Korth and Sudarshan
Primary key for Entity Sets
Database System Concepts - 7th Edition 6.35 ©Silberschatz, Korth and Sudarshan
Primary Key for Relationship Sets
Database System Concepts - 7th Edition 6.36 ©Silberschatz, Korth and Sudarshan
Choice of Primary key for Binary Relationship
Database System Concepts - 7th Edition 6.37 ©Silberschatz, Korth and Sudarshan
Weak Entity Sets
Database System Concepts - 7th Edition 6.38 ©Silberschatz, Korth and Sudarshan
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.
Database System Concepts - 7th Edition 6.39 ©Silberschatz, Korth and Sudarshan
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.
Database System Concepts - 7th Edition 6.40 ©Silberschatz, Korth and Sudarshan
Expressing Weak Entity Sets
Database System Concepts - 7th Edition 6.41 ©Silberschatz, Korth and Sudarshan
Redundant Attributes
Database System Concepts - 7th Edition 6.42 ©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 7th Edition 6.43 ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas
Database System Concepts - 7th Edition 6.44 ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas
Database System Concepts - 7th Edition 6.45 ©Silberschatz, Korth and Sudarshan
Representing Entity Sets
A weak entity set becomes a table that includes a column for the primary
key of the identifying strong entity set
section ( course_id, sec_id, sem, year )
Example
Database System Concepts - 7th Edition 6.46 ©Silberschatz, Korth and Sudarshan
Representation of Entity Sets with Composite Attributes
Database System Concepts - 7th Edition 6.47 ©Silberschatz, Korth and Sudarshan
Representation of Entity Sets with Multivalued Attributes
Database System Concepts - 7th Edition 6.48 ©Silberschatz, Korth and Sudarshan
Representing Relationship Sets
Database System Concepts - 7th Edition 6.49 ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas
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
Example: Instead of creating a schema for relationship set inst_dept, add
an attribute dept_name to the schema arising from entity set instructor
Example
Database System Concepts - 7th Edition 6.50 ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas (Cont.)
For one-to-one relationship sets, either side can be chosen to act as the
“many” side
• That is, an extra attribute can be added to either of the tables
corresponding to the two entity sets
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
Database System Concepts - 7th Edition 6.51 ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas (Cont.)
Database System Concepts - 7th Edition 6.52 ©Silberschatz, Korth and Sudarshan
Extended E-R Features
Database System Concepts - 7th Edition 6.53 ©Silberschatz, Korth and Sudarshan
Specialization
Database System Concepts - 7th Edition 6.54 ©Silberschatz, Korth and Sudarshan
Specialization Example
Overlapping – employee and student
Disjoint – instructor and secretary
Total and partial
Database System Concepts - 7th Edition 6.55 ©Silberschatz, Korth and Sudarshan
Representing Specialization via Schemas
Method 1:
• Form a schema for the higher-level entity
• Form a schema for each lower-level entity set, include primary key
of higher-level entity set and local attributes
Database System Concepts - 7th Edition 6.56 ©Silberschatz, Korth and Sudarshan
Representing Specialization as Schemas (Cont.)
Method 2:
• Form a schema for each entity set with all local and inherited
attributes
Database System Concepts - 7th Edition 6.57 ©Silberschatz, Korth and Sudarshan
Generalization
Database System Concepts - 7th Edition 6.58 ©Silberschatz, Korth and Sudarshan
Completeness constraint
Database System Concepts - 7th Edition 6.59 ©Silberschatz, Korth and Sudarshan
Completeness constraint (Cont.)
Database System Concepts - 7th Edition 6.60 ©Silberschatz, Korth and Sudarshan
Aggregation
Database System Concepts - 7th Edition 6.61 ©Silberschatz, Korth and Sudarshan
Aggregation (Cont.)
Database System Concepts - 7th Edition 6.62 ©Silberschatz, Korth and Sudarshan
Aggregation (Cont.)
Database System Concepts - 7th Edition 6.63 ©Silberschatz, Korth and Sudarshan
Reduction to Relational Schemas
Database System Concepts - 7th Edition 6.64 ©Silberschatz, Korth and Sudarshan
Design Issues
Database System Concepts - 7th Edition 6.65 ©Silberschatz, Korth and Sudarshan
Common Mistakes in E-R Diagrams
Database System Concepts - 7th Edition 6.66 ©Silberschatz, Korth and Sudarshan
Common Mistakes in E-R Diagrams (Cont.)
Database System Concepts - 7th Edition 6.67 ©Silberschatz, Korth and Sudarshan
Entities vs. Attributes
Database System Concepts - 7th Edition 6.68 ©Silberschatz, Korth and Sudarshan
Entities vs. Relationship sets
Database System Concepts - 7th Edition 6.69 ©Silberschatz, Korth and Sudarshan
Binary Vs. Non-Binary Relationships
Database System Concepts - 7th Edition 6.70 ©Silberschatz, Korth and Sudarshan
Converting Non-Binary Relationships to Binary Form
Database System Concepts - 7th Edition 6.71 ©Silberschatz, Korth and Sudarshan
Converting Non-Binary Relationships (Cont.)
Database System Concepts - 7th Edition 6.72 ©Silberschatz, Korth and Sudarshan
E-R Design Decisions
Database System Concepts - 7th Edition 6.73 ©Silberschatz, Korth and Sudarshan
Summary of Symbols Used in E-R Notation
Database System Concepts - 7th Edition 6.74 ©Silberschatz, Korth and Sudarshan
Symbols Used in E-R Notation (Cont.)
Database System Concepts - 7th Edition 6.75 ©Silberschatz, Korth and Sudarshan
Alternative ER Notations
Chen, IDE1FX, …
Database System Concepts - 7th Edition 6.76 ©Silberschatz, Korth and Sudarshan
Alternative ER Notations
Database System Concepts - 7th Edition 6.77 ©Silberschatz, Korth and Sudarshan
UML
Database System Concepts - 7th Edition 6.78 ©Silberschatz, Korth and Sudarshan
ER vs. UML Class Diagrams
Database System Concepts - 7th Edition 6.79 ©Silberschatz, Korth and Sudarshan
ER vs. UML Class Diagrams
ER Diagram Notation Equivalent in UML
Database System Concepts - 7th Edition 6.80 ©Silberschatz, Korth and Sudarshan
UML Class Diagrams (Cont.)
Database System Concepts - 7th Edition 6.81 ©Silberschatz, Korth and Sudarshan
ER vs. UML Class Diagrams
Database System Concepts - 7th Edition 6.82 ©Silberschatz, Korth and Sudarshan
Other Aspects of Database Design
Functional Requirements
Data Flow, Workflow
Schema Evolution
Database System Concepts - 7th Edition 6.83 ©Silberschatz, Korth and Sudarshan
End of Chapter 6
Database System Concepts - 7th Edition 6.84 ©Silberschatz, Korth and Sudarshan