Module Identifier COM7020  
Academic Year 2003/2004  
Co-ordinator Mr Christopher W Loftus  
Semester Available all semesters  
Pre-Requisite Available only to students taking the Diploma/MSc in Computer Science scheme in Singapore.  
Course delivery Other   Contact Hours. 55 hours of contact time; lectures, practicals, workshops. 145 hours of private study, practical work and assessment.  
Assessment TypeAssessment Length/DetailsProportion
Semester Exam3 Hours  100%
Supplementary Exam Supplementary examination 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 introduces fundamental principles of database design and implementation. It covers practical topics concerned with entity-relationship modelling and effective use of the facilities provided by Access and theoretical topics concerned with data modelling, placing particular emphasis on the relational data model, relational algebra and the realisation of the relational model in Access.


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.


1. Database Systems Concepts
The difference between databases and files. Databases, DBMS and applications programs. Why databases are needed. The idea of a data model. Available models.

2. Relational Algebra
Definition of a relation. Standard relational operators. Referential integrity.

3. Normalisation
Functional dependencies. Normalisation: first to fifth normal forms, domain/key normal form. Bottom up analysis.

4. Relational Modelling
Top down analysis. Enterprise modelling. Entities and relationships. Connection traps. The design of relations. Transformation of an E-R model into a relational schema.

5. Implementing a Database
Overview of the facilities provided by Access. Queries, queries as views. Built-in functions. Forms and reports. Event handling.

6. SQL
Outline of the language. The language as an implementation of the relational model. DDL as a contrast to Access facilities. Nested queries and sub-queries.

7. Missing values
The need for nulls. Theoretical and practical problems. Null values and the outer join.

8. Application programs
Procedural interfaces. SQL in applications programs. The data dictionary. General integrity constraints: DBMS facilities versus application code. Interoperability of database systems. Back up and recovery.

9.   Physical Database Design
Table design. Enterprise rule design. Transactional analysis and index choices. Controlled redundancy.

9.   Database Lifecycle
Synthesis and revision: logical design, physical design, monitoring and tuning.

9. Distributed Databases, Concurrency and Transactions
Introduction to concurrency. What is a distributed database, why should one wish to use one, and what problems will it bring? Transaction processing. Backup and recovery.

10. Older Data Models
Hierarchical and network models: how they relate to the relational model.

11. Introduction to Object Databases
Perceived weaknesses of the relational model. Possible benefits of an object model. ODMG model.

12. Building and Manipulating Object Databases
Design; use of the UML. ODL and database aspects of CORBA. OQL and OML.

13. Object Relational Systems
Comparisons of relational and object systems. Object oriented extensions to relational systems. SQL3.

Reading Lists

** Recommended Text
Thomas Connolly and Carolyn Begg (2001) Database Systems: A practical Approach to Design, Implementation and Management 3rd if out. Addison-Wesley ISBN: 0201342871
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
Students should await the latest publication information before deciding on a text


This module is at CQFW Level 7