Chapter 2: Intro To Relational Model
Chapter 2: Intro To Relational Model
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. Indicated
that the value is “unknown”
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
Example:
instructor = (ID, name, dept_name, salary)
Formally, given sets 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
Database System Concepts - 6th Edition 2.5 ©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
Example – dept_name in instructor is a foreign key from instructor
referencing department
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 Query Languages
Procedural vs .non-procedural, or declarative
“Pure” languages:
Relational algebra
Tuple relational calculus
Domain relational calculus
The above 3 pure languages are equivalent in computing power
We will concentrate in this chapter on relational algebra
Not turning-machine equivalent
consists of 6 basic operations
Database System Concepts - 6th Edition 2.8 ©Silberschatz, Korth and Sudarshan
End of Chapter 2