0% found this document useful (0 votes)
61 views18 pages

Chapter 2: Introduction To Relational Model: Database System Concepts, 6 Ed

SEEM 3550

Uploaded by

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

Chapter 2: Introduction To Relational Model: Database System Concepts, 6 Ed

SEEM 3550

Uploaded by

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

Chapter 2: Introduction to Relational

Model

Database System Concepts, 6th Ed.


©Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
Example of a Relation

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

 The current values (relation instance) of a relation are


specified by a table
 An element t of r is a tuple, represented by a row in a table

Database System Concepts - 6th Edition 2.4 ©Silberschatz, Korth and Sudarshan
Relations are Unordered

 Order of tuples is irrelevant (tuples may be stored in an arbitrary order)


 Example: instructor relation with unordered tuples

Database System Concepts - 6th Edition 2.5 ©Silberschatz, Korth and Sudarshan
Relations are Unordered

 Why is the order of tuples irrelevant?


 An unordered collection of elements is a set:
{1, 2, 3} = {2, 1, 3}.
 An ordered collection of elements is a list:
(1, 2, 3)  (2, 1, 3).
 A set is used to express (expressiveness).
 We care you are a student, but we don’t
care when you register (the order).
 A list is used to process (efficiency).
 Binary Search (we will discuss it later).

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

 Select tuples with


A=B and D > 5
 σA=B and D > 5(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:

 rs

Database System Concepts - 6th Edition 2.16 ©Silberschatz, Korth and Sudarshan
Joining two relations – Natural Join

 Let r and s be relations on schemas R and S


respectively. Then, the “natural join” of relations R
and S is a relation on schema R  S obtained as
follows:
 Consider every pair of tuples tr from r and ts from s.
 If tr and ts have the same value on each of the
attributes in R  S, add a tuple t to the result,
where
t has the same value as tr on r
t has the same value as ts on s

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

You might also like