Module Identifier CS27310  
Academic Year 2001/2002  
Co-ordinator Dr Mark Ratcliffe  
Semester Semester 2  
Other staff Dr Horst Holstein  
Pre-Requisite CS12420 , CS10610 or equivalent  
Course delivery Lecture   22 lectures  
  Workshop   Up to 4 workshop sessions  
  Practical   Up to 2 x 2hr  
Assessment Supplementary examination   Will take the same form, under the terms of the Department's policy    
  Exam   2 Hours   100%  
Further details  

General description

This module develops the concepts of database design and implementation. The emphasis is on relational systems but object databases are introduced. It covers practical topics concerned with modelling and effective use of the facilities provided by a modern Database Management System (DBMS). Theoretical topics include data modelling, placing particular emphasis on the data model, relational algebra and the realisation of the relational model in a DBMS.


This module aims to familiarise students with the techniques used in designing and implementing database systems, and with the concepts embodied in relational database systems. Students will gain practical skills and develop their understanding through the use of a small scale DBMS. Students will be introduced to the concepts in object databases.

Learning outcomes

On successful completion of this module, students will be able to:


1. Database System Concepts - 1 Lecture
Persistence. Outline history: file-based, network, relational and object-based systems. Databases, DBMS and applications programs. DBMS as reuse.

2. Relational Modelling I - 4 Lectures
Entities and relationships. Connection traps. The design of relations. Transformation of an E-R model into a relational schema.

3. The Relational Model - 4 Lectures
Domains, Relations and tuples. Primary and foreign keys. Referential integrity. Relational algebra. Null values and the outer join. Data normalisation. Validating a design.

4. SQL2 and implementation - 2 Lectures
Introduction. Status. DDL statements. SELECT clauses. Constraints. Built-in functions. Queries and views. Nested SELECT.

5. Introduction to Object Databases - 2 Lectures
Perceived weaknesses of the relational model. Possible benefits of an object model. ODMG model.

6. Building and Manipulating Object Databases - 3 Lectures
Design; use of the UML. ODL and database aspects of CORBA. OQL and OML.

7. Object Relational Systems - 1 Lecture
Comparisons of relational and object systems. Object oriented extensions to relational systems. SQL3.

8. Building Applications - 1 Lecture
Integrity constraints. Introduction to transactions. Rollback.

9. Standard Interfaces - 1 Lecture
Forms; binding, GUI items, user support. Reports. Languages provided with DBMS.

10. Procedural Interfaces - 1 Lecture
DBMS connections and services. ODBC, JDBC. Application development. The data dictionary.

11. Large Scale DBMS - 2 Lectures
Concurrency. Security. Distributed Databases.

Reading Lists

** Recommended Text
Thomas M Connolly and Carolyn E. Begg. (2000) Database Solutions: A step-by-step approach to building databases.. 1. Addison -Wesley ISBN 0-201-67476-9
** Recommended Text
Thomas Connolly and Carolyn Begg. (1998) Database Systems: A practical Approach to Design, Implementation and Management. 2nd. Addison-Wesley ISBN: 0201342871
** Supplementary Text
Barry Eaglestone and Mick Ridley. (1998) Object databases: An introduction.. McGraw Hill 0077093542
** Consult For Futher Information
C.J. Date. (2000) An Introduction to Database Systems. 7th. Addison-Wesley 0201684195
Date is a very authoratative text, containing much theoretical justifications. Many people find it hard to use..
** Consult For Futher Information
David M. Kroenke. (2002) Database Processing: Fundamentals, design and implementation. 8th. Prentice Hall, London 0130648396
Kroenke provides a simple introduction and more useful examples..