Académique Documents
Professionnel Documents
Culture Documents
Model
attributes
(or columns)
tuples
(or rows)
Database System Concepts - 6th Edition 2.2 ©Silberschatz, Korth and Sudarshan
Attribute Types
Database System Concepts - 6th Edition 2.3 ©Silberschatz, Korth and Sudarshan
Relation Schema and Instance
A1, A2, …, An are attributes
R = (A1, A2, …, An ) is a relation schema
Example: instructor = (ID, name, dept_name, salary)
Formally, given domains D1, D2, …, Dn, a relation r is a subset of
D1 x D2 x … x Dn
Thus, a relation is a set of n-tuples (a1, a2, …, an) where each ai Di
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
Relations are Unordered
Database System Concepts - 6th Edition 2.6 ©Silberschatz, Korth and Sudarshan
Keys
We need a way to specify how tuples within a relation are
distinguished, in order to access a unique tuple, since tuples are
unordered.
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.
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
Keys A1 A2 A3 A4
1 a alpha x
2 a beta x
Let K R.
2 b gamma y
For example {A1, A2} {A1, A2, A3, A4}.
3 c delta z
We use the example to discuss what
the keys are for the relation.
Superkeys
{A1, A2} and anything including {A1, A2}.
{A3} and anything including {A3}
…
Candidate keys: {A1, A2}, {A3}, …
One of many candidate keys can be chosen as a primary key.
We define the key first, and do not allow data to be inserted
if it violates the key definition!!!
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
Some 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:
tr ts
Natural Join
t
r s
Database System Concepts - 6th Edition 2.18 ©Silberschatz, Korth and Sudarshan