0% found this document useful (0 votes)
11 views16 pages

DB Lec 17

Uploaded by

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

DB Lec 17

Uploaded by

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

1

Database Systems
Lecture 17

Relational Model Concepts


Database Management
Systems
2

Database Management S
ystems

Today’s Agenda
• Relational Model Constraints
1. Key constraints
2. Entity integrity constraints
3. Referential integrity constraints
3

Database Management S
ystems

Relational Model Constraints


• The state of the whole database will correspond
to the states of all its relations at a particular
point in time. There are generally many
restrictions or constraints on the actual values in
a database state.
• Constraints on databases can generally be
divided into three main categories:
▫ Inherent model-based constraints
▫ Schema-based constraints
▫ Application-based constraints
4

Database Management S
ystems

Relational Integrity Constraints


• Constraints are conditions that must hold on
all valid relation instances. There are three
main types of constraints:
1. Key constraints
2. Entity integrity constraints
3. Referential integrity constraints
5

Database Management S
ystems

Key Constraints
• Superkey of R: A set of attributes SK of R such that
no two tuples in any valid relation instance r(R) will
have the same value for SK. That is, for any distinct
tuples t1 and t2 in r(R), t1[SK]  t2[SK].
• Key of R: A "minimal" superkey; that is, a superkey K
such that removal of any attribute from K results in a
set of attributes that is not a superkey.
Example: The CAR relation schema:
CAR(State, Reg#, SerialNo, Make, Model, Year)
has two keys Key1 = {State, Reg#}, Key2 = {SerialNo}, which are
also superkeys. {SerialNo, Make} is a superkey but not a key.
• If a relation has several candidate keys, one is
chosen arbitrarily to be the primary key. The
primary key attributes are underlined.
6

Database Management S
ystems

Key Constraints
7

Database Management S
ystems

Entity Integrity
• Relational Database Schema: A set S of relation
schemas that belong to the same database. S is the
name of the database.
S = {R1, R2, ..., Rn}
• Entity Integrity: The primary key attributes PK of
each relation schema R in S cannot have null values
in any tuple of r(R). This is because primary key
values are used to identify the individual tuples.
t[PK]  null for any tuple t in r(R)
• Note: Other attributes of R may be similarly
constrained to disallow null values, even though they
are not members of the primary key.
8

Database Management S
ystems

Referential Integrity
• A constraint involving two relations (the previous
constraints involve a single relation).
• Used to specify a relationship among tuples in two
relations: the referencing relation and the
referenced relation.
• Tuples in the referencing relation R1 have attributes
FK (called foreign key attributes) that reference the
primary key attributes PK of the referenced relation
R2. A tuple t1 in R1 is said to reference a tuple t2 in
R2 if t1[FK] = t2[PK].
• A referential integrity constraint can be displayed in a
relational database schema as a directed arc from
R1.FK to R2.
9

Database Management S
ystems

Referential Integrity
Constraint
Statement of the constraint
The value in the foreign key column (or columns)
FK of the the referencing relation R1 can be
either:
(1) a value of an existing primary key value of
the corresponding primary key PK in the
referenced relation R2,, or..
(2) a null.
In case (2), the FK in R1 should not be a part of its
own primary key.
10

Database Management S
ystems
11

Database Management S
ystems

Other Types of Constraints


Semantic Integrity Constraints:
-based on application semantics and cannot
be expressed by the model
-E.g., “the max. no. of hours per employee for
all projects he or she works on is 56 hrs per
week”
-A constraint specification language may
have to be used to express these
-SQL-99 allows triggers and ASSERTIONS to
allow for some of these
12

Database Management S
ystems
13

Database Management S
ystems
14

Database Management S
ystems

Update Operations on Relations


• INSERT a tuple.
• DELETE a tuple.
• MODIFY a tuple.

• Integrity constraints should not be violated by the


update operations.
• Several update operations may have to be grouped
together.
• Updates may propagate to cause other updates
automatically. This may be necessary to maintain
integrity constraints.
15

Database Management S
ystems

Update Operations on Relations


• In case of integrity violation, several actions
can be taken:
▫ Cancel the operation that causes the violation
(REJECT option)
▫ Perform the operation but inform the user of the
violation
▫ Trigger additional updates so the violation is
corrected (CASCADE option, SET NULL option)
▫ Execute a user-specified error-correction routine
16

Database Management S
ystems

In-Class Exercise
(Taken from Exercise 5.15)
Consider the following relations for a database that
keeps track of student enrollment in courses and the
books adopted for each course:
STUDENT(SSN, Name, Major, Bdate)
COURSE(Course#, Cname, Dept)
ENROLL(SSN, Course#, Quarter, Grade)
BOOK_ADOPTION(Course#, Quarter, Book_ISBN)
TEXT(Book_ISBN, Book_Title, Publisher, Author)
Draw a relational schema diagram specifying
the foreign keys for this schema.

You might also like