Overview:
It is an obvious fact that many organisations have to handle large
amounts of data. Moreover, no matter how large the primary memory of the
computer systems used in an organisation, there will be applications
that require one to store more information than can be held in primary
memory. Also, one may wish to permanently store information that was
manipulated in a program. In both cases, information will have to be
stored in files on secondary storage devices.
Accessing
information from a secondary storage device
is
considerably slower than retrieving information from primary memory. The
slowness of retrieving information from secondary storage is the prime
motivating factor behind file organisation. There are many different
ways of storing information in files and retrieving information from
them.
Choosing
the
most appropriate file organisation for a particular task
is an important task.
Fortunately, there are a number of so-called database
management systems on the market which enable one to deal with data at a
higher level, without one having to worry about how they are physically
stored on a disk. Database management systems, and in particular the
problem on how to model one's data to make optimum use of database
management systems, are the focus of this course.
Aims and objectives:
The
overall aim of this course is to introduce students to data modelling
and the theory of databases. Specifically, at the end of this course,
students should be able to
 |
Describe the functionalities of a database management system |
 |
Describe different data models |
 |
Describe the advantages of the relational data model |
 |
Construct an entity-relation diagram |
 |
Construct a set of normalised relations from an entity-relation
diagram |
 |
Explain why normalisation is important |
 |
Construct simple queries in relational calculus and relational algebra |
 |
Construct simple queries in SQL |
 |
Describe the internal workings of a typical multi-user relational
database management system |
 |
Describe the various regimes for distributed databases and to
recommend a pattern of distribution for a distributed application. |