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

Learning outcomes

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

Brief 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.


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
** Consult For Futher Information
C.J. Date (2000) An Introduction to Database Systems 7th. Addison-Wesley
Date is a very authoratative text, containing much theoretical justifications. Many people find it hard to use.
** Consult For Futher Information
David M. Kroenke (2000) Database Processing: Fundamentals, design and implementation 7th. Prentice Hall, London
Kroenke provides a simple introduction and more useful examples.


This module is at CQFW Level 5