|Assessment Type||Assessment length / details||Proportion|
|Semester Exam||3 Hours||100%|
|Supplementary Exam||Supplementary examination will take the same form, under the terms of the Department's policy.|
On successful completion of this module students should be able to:
design and validate a database from an enterprise description and uncertainity.
use technical judgement to improve an initial logical design and choose an appropriate physical design to enhance run time performance.
implement a database design and access the database through an appropriate programme interface
describe the facilities of modern database management systems and justify the choice of a particular system on limited technical grounds.
explain and provide a rationale for relational, object and object-relational database concepts
undestand and use a data model, in particular, the relational data model and contrast this with an object model.
plan, design and manage the improvement and extension of a database design
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.
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.
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.
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 ListRecommended Text
Thomas Connolly and Carolyn Begg (2005) Database Systems: A practical Approach to Design, Implementation and Management 4 edition Addison-Wesley Primo search Thomas M Connolly and Carolyn E. Begg (2003) Database Solutions: A step-by-step approach to building databases. Addison -Wesley Primo search
Students should await the latest publication information before deciding on a text Primo search
This module is at CQFW Level 7