Download Introduction to Relational Model

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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 sets of values 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  D i
 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).
Database System Concepts - 6th Edition
2.6
©Silberschatz, Korth and Sudarshan
Schema Diagram for University Database
Database System Concepts - 6th Edition
2.7
©Silberschatz, Korth and Sudarshan
Relational Operators
Database System Concepts - 6th Edition
2.8
©Silberschatz, Korth and Sudarshan
Selection of tuples
 Relation r
 Select tuples with
A=B and D > 5
 σ A=B and D > 5
Database System Concepts - 6th Edition
(r)
2.9
©Silberschatz, Korth and Sudarshan
Selection of Columns (Attributes)
 Relation r:
 Select A and C

Projection

Π A, C (r)
Database System Concepts - 6th Edition
2.10
©Silberschatz, Korth and Sudarshan
Joining two relations – Cartesian Product
 Relations r, s:
 r x s:
Database System Concepts - 6th Edition
2.11
©Silberschatz, Korth and Sudarshan
Union of two relations
 Relations r, s:
 r  s:
Database System Concepts - 6th Edition
2.12
©Silberschatz, Korth and Sudarshan
Set difference of two relations
 Relations r, s:
 r – s:
Database System Concepts - 6th Edition
2.13
©Silberschatz, Korth and Sudarshan
Set Intersection of two relations
 Relation r, s:
 rs
Database System Concepts - 6th Edition
2.14
©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 each 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.15
©Silberschatz, Korth and Sudarshan
Natural Join Example
 Relations r, s:
 Natural Join

r
s
Database System Concepts - 6th Edition
2.16
©Silberschatz, Korth and Sudarshan
Related documents