Chapter 2
Chapter 2
attributes
(or columns)
tuples
(or rows)
Database System Concepts - 6th Edition 2.2 ©Silberschatz, Korth and Sudarshan
Attribute Types
The set of allowed values for each attribute is called the domain
of the attribute
Attribute values are (normally) required to be atomic; that is,
indivisible
The special value null is a member of every domain
The null value causes complications in the definition of many
operations
Database System Concepts - 6th Edition 2.3 ©Silberschatz, Korth and Sudarshan
Relation Schema and Instance
A1, A2, …, An are attributes
Database System Concepts - 6th Edition 2.4 ©Silberschatz, Korth and Sudarshan
Relations are Unordered
Database System Concepts - 6th Edition 2.5 ©Silberschatz, Korth and Sudarshan
Database
A database consists of multiple relations
instructor
student
advisor
Bad design:
univ (instructor -ID, name, dept_name, salary, student_Id, ..)
results in
Database System Concepts - 6th Edition 2.6 ©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.7 ©Silberschatz, Korth and Sudarshan
Schema Diagram for University Database
Database System Concepts - 6th Edition 2.8 ©Silberschatz, Korth and Sudarshan
Relational Query Languages
Procedural vs.non-procedural, or declarative
“Pure” languages:
Relational algebra
Tuple relational calculus
Domain relational calculus
Relational operators
Database System Concepts - 6th Edition 2.9 ©Silberschatz, Korth and Sudarshan
Selection of tuples
Relation r
Database System Concepts - 6th Edition 2.10 ©Silberschatz, Korth and Sudarshan
Selection of Columns (Attributes)
Relation r:
Select A and C
Projection
Π A, C (r)
Database System Concepts - 6th Edition 2.11 ©Silberschatz, Korth and Sudarshan
Joining two relations – Cartesian Product
Relations r, s:
r x s:
Database System Concepts - 6th Edition 2.12 ©Silberschatz, Korth and Sudarshan
Union of two relations
Relations r, s:
r s:
Database System Concepts - 6th Edition 2.13 ©Silberschatz, Korth and Sudarshan
Set difference of two relations
Relations r, s:
r – s:
Database System Concepts - 6th Edition 2.14 ©Silberschatz, Korth and Sudarshan
Set Intersection of two relations
Relation r, s:
rs
Database System Concepts - 6th Edition 2.15 ©Silberschatz, Korth and Sudarshan
Joining two relations – Natural Join
Database System Concepts - 6th Edition 2.16 ©Silberschatz, Korth and Sudarshan
Natural Join Example
Relations r, s:
Natural Join
r s
Database System Concepts - 6th Edition 2.17 ©Silberschatz, Korth and Sudarshan
Figure in-2.1
Database System Concepts - 6th Edition 2.18 ©Silberschatz, Korth and Sudarshan
End of Chapter 2
Database System Concepts - 6th Edition 2.20 ©Silberschatz, Korth and Sudarshan
Figure 2.02
Database System Concepts - 6th Edition 2.21 ©Silberschatz, Korth and Sudarshan
Figure 2.03
Database System Concepts - 6th Edition 2.22 ©Silberschatz, Korth and Sudarshan
Figure 2.04
Database System Concepts - 6th Edition 2.23 ©Silberschatz, Korth and Sudarshan
Figure 2.05
Database System Concepts - 6th Edition 2.24 ©Silberschatz, Korth and Sudarshan
Figure 2.06
Database System Concepts - 6th Edition 2.25 ©Silberschatz, Korth and Sudarshan
Figure 2.07
Database System Concepts - 6th Edition 2.26 ©Silberschatz, Korth and Sudarshan
Figure 2.10
Database System Concepts - 6th Edition 2.27 ©Silberschatz, Korth and Sudarshan
Figure 2.11
Database System Concepts - 6th Edition 2.28 ©Silberschatz, Korth and Sudarshan
Figure 2.12
Database System Concepts - 6th Edition 2.29 ©Silberschatz, Korth and Sudarshan
Figure 2.13
Database System Concepts - 6th Edition 2.30 ©Silberschatz, Korth and Sudarshan