CHAPTER 5: THE RELATIONAL DATA MODEL AND RELATIONAL DATABASE
CONSTRAINTS
Answers to Selected Exercises
5.11 – Suppose each of the following Update operations is applied directly to the database of
Figure 3.6. Discuss all integrity constraints violated by each operation, if any, and the
different ways of enforcing these constraints:
(a) Insert < ‘Robert’, ‘F’, ‘Scott’, ‘943775543′, ’21-JUN-42′, ‘2365 Newcastle Rd,
Bellaire, TX’, M, 58000, ‘888665555′, 1 > into EMPLOYEE.
(b) Insert < ‘ProductA’, 4, ‘Bellaire’, 2 > into PROJECT.
(c) Insert < ‘Production’, 4, ‘943775543′, ’01-OCT-88′ > into DEPARTMENT.
(d) Insert < ‘677678989’, null, ‘40.0’ > into WORKS_ON.
(e) Insert < ‘453453453’, ‘John’, M, ’12-DEC-60′, ‘SPOUSE’ > into DEPENDENT.
(f) Delete the WORKS_ON tuples with ESSN= ‘333445555′.
(g) Delete the EMPLOYEE tuple with SSN= ‘987654321′.
(h) Delete the PROJECT tuple with PNAME= ‘ProductX’.
(i) Modify the MGRSSN and MGRSTARTDATE of the DEPARTMENT tuple with
DNUMBER=5 to ‘123456789′ and ’01-OCT-88′, respectively.
(j) Modify the SUPERSSN attribute of the EMPLOYEE tuple with SSN= ‘999887777’ to
‘943775543‘.
(k) Modify the HOURS attribute of the WORKS_ON tuple with ESSN= ‘999887777′ and
PNO= 10 to ‘5.0’.
Answers:
(a) No constraint violations.
(b) Violates referential integrity because DNUM=2 and there is no tuple in the
DEPARTMENT relation with DNUMBER=2. We may enforce the constraint by: (i) rejecting
(c) Violates both the key constraint and referential integrity. Violates the key constraint
because there already exists a DEPARTMENT tuple with DNUMBER=4. We may enforce
this constraint by: (i) rejecting the insertion, or (ii) changing the value of DNUMBER in the
new DEPARTMENT tuple to a value that does not violate the key constraint. Violates