Introduction To Relational Model
Introduction To Relational Model
Database System Concepts - 6th Edition 2.2 ©Silberschatz, Korth and Sudarshan
Example of a Relation
attributes
(or columns)
tuples
(or rows)
Relation:
A Table
Tuple:
A Row
Attributes:
A Column
header
Database System Concepts - 6th Edition 2.3 ©Silberschatz, Korth and Sudarshan
Attribute Types
Database System Concepts - 6th Edition 2.4 ©Silberschatz, Korth and Sudarshan
Relation Schema and Instance
The schema of a relation refers to its logical design. The
schema of a relation includes its attributes, and optionally
the types of the attributes and constraints on the relation
such as primary and foreign key constraints.
Example: instructor(id, name, dept_name, salary)
Database System Concepts - 6th Edition 2.5 ©Silberschatz, Korth and Sudarshan
Relations are Unordered
Database System Concepts - 6th Edition 2.6 ©Silberschatz, Korth and Sudarshan
Database
A database consists of multiple relations
Information about an enterprise is broken up into parts
instructor
student
advisor
Bad design:
univ (instructor -ID, name, dept_name, salary,
student_Id, ..)
results in
repetition of information (e.g., two students have the same
instructor)
the need for null values (e.g., represent an student with
no advisor)
Normalization theory (Chapter 7) deals with how to design
“good” relational schemas
Database System Concepts - 6th Edition 2.7 ©Silberschatz, Korth and Sudarshan
Keys
Let K R
K is a superkey of R if values for K are sufficient to identify
a unique tuple of each possible relation r(R)
Example: {ID} and {ID,name} are both superkeys of
instructor.
Superkey K is a candidate key if K is minimal
Example: {ID} is a candidate key for Instructor
One of the candidate keys is selected to be the primary
key.
which one?
Foreign key constraint: Value in one relation must appear
in another
Referencing relation
Referenced relation
Database System Concepts - 6th Edition 2.8 ©Silberschatz, Korth and Sudarshan
Schema Diagram for University
Database
Database System Concepts - 6th Edition 2.9 ©Silberschatz, Korth and Sudarshan
Relational Query Languages
Procedural vs.non-procedural, or declarative
Procedural: the user instructs the system to perform a
sequence of operations on the database to compute the
desired result.
Non-procedural: the user describes the desired
information without
giving a specific procedure for obtaining that information.
“Pure” and formal languages:
Relational algebra
Tuple relational calculus
Domain relational calculus
Relational operators
Database System Concepts - 6th Edition 2.10 ©Silberschatz, Korth and Sudarshan
Selection of tuples
Relation
r
Database System Concepts - 6th Edition 2.11 ©Silberschatz, Korth and Sudarshan
Selection of Columns (Attributes)
Relation r:
Select A and C
Projection
Π A, C (r)
Database System Concepts - 6th Edition 2.12 ©Silberschatz, Korth and Sudarshan
Joining two relations – Cartesian
Product
Relations r, s:
r x s:
Database System Concepts - 6th Edition 2.13 ©Silberschatz, Korth and Sudarshan
Union of two relations
Relations r, s:
r s:
Database System Concepts - 6th Edition 2.14 ©Silberschatz, Korth and Sudarshan
Set difference of two relations
Relations r, s:
r – s:
Database System Concepts - 6th Edition 2.15 ©Silberschatz, Korth and Sudarshan
Set Intersection of two relations
Relation r, s:
rs
Database System Concepts - 6th Edition 2.16 ©Silberschatz, Korth and Sudarshan
Joining two relations – Natural
Join
Database System Concepts - 6th Edition 2.17 ©Silberschatz, Korth and Sudarshan
Natural Join Example
Relations r, s:
Natural Join
r s
Database System Concepts - 6th Edition 2.18 ©Silberschatz, Korth and Sudarshan
Figure in-2.1
Database System Concepts - 6th Edition 2.19 ©Silberschatz, Korth and Sudarshan
End of Chapter 2
Database System Concepts - 6th Edition 2.21 ©Silberschatz, Korth and Sudarshan
Figure 2.02
Database System Concepts - 6th Edition 2.22 ©Silberschatz, Korth and Sudarshan
Figure 2.03
Database System Concepts - 6th Edition 2.23 ©Silberschatz, Korth and Sudarshan
Figure 2.04
Database System Concepts - 6th Edition 2.24 ©Silberschatz, Korth and Sudarshan
Figure 2.05
Database System Concepts - 6th Edition 2.25 ©Silberschatz, Korth and Sudarshan
Figure 2.06
Database System Concepts - 6th Edition 2.26 ©Silberschatz, Korth and Sudarshan
Figure 2.07
Database System Concepts - 6th Edition 2.27 ©Silberschatz, Korth and Sudarshan
Figure 2.10
Database System Concepts - 6th Edition 2.28 ©Silberschatz, Korth and Sudarshan
Figure 2.11
Database System Concepts - 6th Edition 2.29 ©Silberschatz, Korth and Sudarshan
Figure 2.12
Database System Concepts - 6th Edition 2.30 ©Silberschatz, Korth and Sudarshan
Figure 2.13
Database System Concepts - 6th Edition 2.31 ©Silberschatz, Korth and Sudarshan