Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should be able to use a third-generation programming language to access a relational database and perform a physical database design; understand query optimisation and its impact on programming; and understand the database management systems recovery, concurrency and transaction management mechanisms.
Synopsis Embedding SQL in a host language, SQLCA - functions and values, implicit and explicit error handling; cursors - programming and when they are appropriate. Physical database design: conceptual model logical access maps, transaction maps, composite usage maps, trade-offs involved in designing for performance versus design for flexibility. Query optimisation: internal forms, query trees, access path selection - heuristics versus systematic, selection criteria. Database integrity mechanisms: recovery mechanisms and theory, concurrency mechanisms and theory, security mechanisms. Distributed database management systems: theory of distributed systems, problems of achieving distribution, current distributed systems. Database trends and state-of-the-art data models: current hardware architecture and its limitations for database management systems, current data models and their limitations, database research areas, object-oriented database.
Assessment Examination (2 hours): 50% + Two practical assignments: 50%