Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

The Relational Model: © Pearson Education Limited 1995, 2005

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Chapter 4

The Relational Model

© Pearson Education Limited 1995, 2005


Relational Model Terminology
‹A relation is a table with columns and rows.
– Only applies to logical structure of the
database, not the physical structure.

‹ Attribute is a named column of a relation.

‹ Domain is the set of allowable values for one or


more attributes.

2
© Pearson Education Limited 1995, 2005
Relational Model Terminology
‹ Tuple is a row of a relation.

‹ Degree is the number of attributes in a relation.

‹ Cardinality is the number of tuples in a relation.

‹ Relational Database is a collection of normalized


relations with distinct relation names.

3
© Pearson Education Limited 1995, 2005
Instances of Branch and Staff Relations

© Pearson Education Limited 1995, 2005


Examples of Attribute Domains

5
© Pearson Education Limited 1995, 2005
Alternative Terminology for Relational Model

6
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
‹ Consider two sets, D1 & D2, where D1 = {2, 4} and
D2 = {1, 3, 5}.
‹ Cartesian product, D1 × D2, is set of all ordered
pairs, where first element is member of D1 and
second element is member of D2.

D1 × D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}

‹ Alternativeway is to find all combinations of


elements with first from D1 and second from D2.
7
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
‹ Any subset of Cartesian product is a relation; e.g.
R = {(2, 1), (4, 1)}
‹ May specify which pairs are in relation using
some condition for selection; e.g.
– second element is 1:
R = {(x, y) | x ∈D1, y ∈D2, and y = 1}
– first element is always twice the second:
S = {(x, y) | x ∈D1, y ∈D2, and x = 2y}

8
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
‹ Consider three sets D1, D2, D3 with Cartesian
Product D1 × D2 × D3; e.g.

D1 = {1, 3} D2 = {2, 4} D3 = {5, 6}


D1 × D2 × D3 = {(1,2,5), (1,2,6), (1,4,5),
(1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)}

‹ Any subset of these ordered triples is a


relation.

9
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
‹ Cartesian product of n sets (D1, D2, . . ., Dn) is:

D1 × D2 × . . . × Dn = {(d1, d2, . . . , dn) | d1 ∈D1, d2 ∈D2, . . .


, dn∈Dn}
usually written as:
n
X Di
i=1

‹ Any set of n-tuples from this Cartesian product


is a relation on the n sets.

10
© Pearson Education Limited 1995, 2005
Database Relations
‹ Relation schema
– Named relation defined by a set of attribute
and domain name pairs.

‹ Relational database schema


– Set of relation schemas, each with a distinct
name.

11
© Pearson Education Limited 1995, 2005
Properties of Relations
‹ Relationname is distinct from all other relation
names in relational schema.

‹ Each cell of relation contains exactly one atomic


(single) value.

‹ Each attribute has a distinct name.

‹ Valuesof an attribute are all from the same


domain.

12
© Pearson Education Limited 1995, 2005
Properties of Relations
‹ Each tuple is distinct; there are no duplicate
tuples.

‹ Order of attributes has no significance.

‹ Order of tuples has no significance, theoretically.

13
© Pearson Education Limited 1995, 2005
Relational Keys
‹ Superkey
– An attribute, or set of attributes, that uniquely
identifies a tuple within a relation.

‹ Candidate Key
– Superkey (K) such that no proper subset is a superkey
within the relation.
– In each tuple of R, values of K uniquely identify that
tuple (uniqueness).
– No proper subset of K has the uniqueness property
(irreducibility).

14
© Pearson Education Limited 1995, 2005
Relational Keys
‹ Primary Key
– Candidate key selected to identify tuples uniquely
within relation.

‹ Alternate Keys
– Candidate keys that are not selected to be primary
key.

‹ Foreign Key
– Attribute, or set of attributes, within one relation
that matches candidate key of some (possibly same)
relation.

15
© Pearson Education Limited 1995, 2005
Integrity Constraints
‹ Null
– Represents value for an attribute that is
currently unknown or not applicable for tuple.
– Deals with incomplete or exceptional data.
– Represents the absence of a value and is not the
same as zero or spaces, which are values.

16
© Pearson Education Limited 1995, 2005
Integrity Constraints
‹ Entity Integrity
– In a base relation, no attribute of a primary
key can be null.

‹ Referential Integrity
– If foreign key exists in a relation, either
foreign key value must match a candidate
key value of some tuple in its home relation
or foreign key value must be wholly null.

17
© Pearson Education Limited 1995, 2005
Integrity Constraints
‹ General Constraints
– Additional rules specified by users or
database administrators that define or
constrain some aspect of the enterprise.

18
© Pearson Education Limited 1995, 2005
Views
‹ Base Relation
– Named relation corresponding to an entity
in conceptual schema, whose tuples are
physically stored in database.

‹ View
– Dynamic result of one or more relational
operations operating on base relations to
produce another relation.

19
© Pearson Education Limited 1995, 2005
Views
‹A virtual relation that does not necessarily
actually exist in the database but is produced
upon request, at time of request.

‹ Contents of a view are defined as a query on one


or more base relations.

‹ Views are dynamic, meaning that changes made


to base relations that affect view attributes are
immediately reflected in the view.

20
© Pearson Education Limited 1995, 2005
Purpose of Views
‹ Provides powerful and flexible security
mechanism by hiding parts of database from
certain users.

‹ Permits users to access data in a customized


way, so that same data can be seen by different
users in different ways, at same time.

‹ Can simplify complex operations on base


relations.

21
© Pearson Education Limited 1995, 2005
Updating Views
‹ All updates to a base relation should be
immediately reflected in all views that
reference that base relation.

‹ Ifview is updated, underlying base relation


should reflect change.

22
© Pearson Education Limited 1995, 2005
Updating Views
‹ Classes of views are defined as:
– theoretically not updateable;
– theoretically updateable;
– partially updateable.

23
© Pearson Education Limited 1995, 2005

You might also like