Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should understand the ANSI architecture for relational Database Management Systems (DBMS) and the benefits that flow from the architecture; understand relational algebra, relational calculus and their relationship to Structured Query Languages (SQLs), underlying data structures of DBMS, concurrency and transaction boundaries on the manipulation of data in the database, embedded SQL, object-oriented data models; and be able to formulate non-trivial SQL statements to define the structure of a database, manipulate the data within it and to control access to that data.
Synopsis Introduce the ANSI architecture for relational DBMS and data independence; use SQL to interface to a database system. Consider the relationships between relational algebra, relational calculus and SQL; formulate queries in relational algebra. Consider performance implications of SQL queries. Examine the underlying data structures of DBMS, and the criteria for selecting suitable storage structures to enhance database performance. Use of stored rules and procedures to enforce database integrity. Consider the implications of concurrency, locking and transaction boundaries. Develop programs using embedded SQL. Consider other examples of data models for database systems, including object-oriented. Examine distributed database developments such as DRDA and open SQL. Copy management and data replication.
Assessment Examination (3 hours): 60% + Practical work: 40%