Database Systems Thomas Connolly ch03
Database Systems Thomas Connolly ch03
2
© 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.
3
© Pearson Education Limited 1995, 2005
Relational Model Terminology
◆ Tuple is a row of a relation.
4
© Pearson Education Limited 1995, 2005
Instances of Branch and Staff Relations
6
© Pearson Education Limited 1995, 2005
Alternative Terminology for Relational Model
7
© 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)}
9
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
◆ Consider three sets D1, D2, D3 with Cartesian
Product D1 × D2 × D3; e.g.
10
© Pearson Education Limited 1995, 2005
Mathematical Definition of Relation
◆ Cartesian product of n sets (D1, D2, . . ., Dn) is:
11
© Pearson Education Limited 1995, 2005
Database Relations
◆ Relation schema
– Named relation defined by a set of attribute
and domain name pairs.
12
© Pearson Education Limited 1995, 2005
Properties of Relations
◆ Relation name is distinct from all other relation
names in relational schema.
13
© Pearson Education Limited 1995, 2005
Properties of Relations
◆ Each tuple is distinct; there are no duplicate
tuples.
14
© 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).
15
© 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.
16
© 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.
17
© 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.
18
© 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.
19
© 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.
20
© 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.
21
© Pearson Education Limited 1995, 2005
Purpose of Views
◆ Provides powerful and flexible security
mechanism by hiding parts of database from
certain users.
22
© 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.
23
© Pearson Education Limited 1995, 2005
Updating Views
◆ There are restrictions on types of modifications that
can be made through views:
– Updates are allowed if query involves a single base
relation and contains a candidate key of base
relation.
– Updates are not allowed involving multiple base
relations.
– Updates are not allowed involving aggregation or
grouping operations.
24
© Pearson Education Limited 1995, 2005
Updating Views
◆ Classes of views are defined as:
– theoretically not updateable;
– theoretically updateable;
– partially updateable.
25
© Pearson Education Limited 1995, 2005