Module Identifier CHM7020  
Academic Year 2001/2002  
Co-ordinator Dr Myra Wilson  
Semester Semester 1  
Other staff Mr Nigel Hardy  
Pre-Requisite Available only to students taking the Diploma/MSc in Computer Science scheme in Aberystwyth.  
Course delivery Lecture   33 Lectures  
  Practical   Up to 11 x 2hr  
Assessment Supplementary examination   Supplementary examination will take the same form, under the terms of the Department's policy.    
  Exam   3 Hours   100%  
Further details  

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.

Learning outcomes

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


1. Database Systems Concepts - 2 Lectures
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 - 4 Lectures, 1 Practical
Definition of a relation. Standard relational operators. Referential integrity.

3. Normalisation - 4 Lectures, 2 Practicals
Functional dependencies. Normalisation: first to fifth normal forms, domain/key normal form. Bottom up analysis.

4. Relational Modelling - 4 Lectures, 3 Practicals
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 - 3 Practicals
Overview of the facilities provided by Access. Queries, queries as views. Built-in functions. Forms and reports. Event handling.

6. SQL - 2 Lectures
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 - 1 Lecture
The need for nulls. Theoretical and practical problems. Null values and the outer join.

8. Application programs - 2 Lectures, 1 Practical
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 - 3 Lectures
Table design. Enterprise rule design. Transactional analysis and index choices. Controlled redundancy.

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

9. Distributed Databases, Concurrency and Transactions - 2 Lectures
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 - 1 Lecture
Hierarchical and network models: how they relate to the relational model.

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

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

13. Object Relational Systems - 2 Lectures
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.