|Module Title||DATABASES AND DATA ANALYSIS|
|Co-ordinator||Dr Myra Wilson|
|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.|
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.