December 1998
DB212: DATABASE MANAGEMENT SYSTEMS

QUESTION 5

Total Marks: 20 Marks

Click here to access other questions

Click to access
SUGGESTED SOLUTIONS
for Question 5

 

(a) What is an index, and why are indexes often used in large database systems?

 

[2]
(b) There are several guidelines to help in choosing what indexes to define for a relational database. For each of the following guidelines, explain the reasons why it is often given:
(i) Specify an unique index for the primary key attribute of each table.
(ii) Specify an index for foreign keys that are used in joining tables.

 

 

[3]

(c) For which non-key attributes might it be useful to specify an index?

 

[2]
(d) Under what circumstances would the designer of a large database decide not to use any indexes?

 

[2]
(e) What is meant by 'referential integrity' in a database?
Give a rule which ensures that referential integrity is maintained for:
[2]
  • an insertion
[2]
  • a deletion
[2]
With reference to the tables below, give an example of an insertion and  a deletion which are forbidden by these rules

Course

Course-code Course-title Tutor-code
DB100 Databases 45
SA200 Systems analysis 63
SD300 Systems design 21
CP400 Programming in C 63

Tutor

Tutor-code Tutor-name Date-of-birth
21 Brown 4/5/63
45 Jones 11/4/61
61 Peters 12/4/55
63 Smith 25/12/23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[2]

 

(f) How might referential integrity constraints be enforced in a database? [3]