COMP207

Database Development

Aims

  1. To introduce students to the problems arising from concurrency in databases, and how they are solved;
  2. To introduce students to the problems arising from the integration of heterogeneous sources of information and the use of semi-structured data;
  3. To introduce students to non-relational databases;
  4. To introduce students to techniques for analyzing large amounts of data.

Syllabus

  • Advanced SQL topics (2 lectures): Triggers, Indexes, and materialised view
  • Query optimisation (3 lectures)
  • Transaction management (9 lectures): transaction management, advanced transaction management, recoverability;
  • Object relational databases (3 lectures)
  • Distributed databases (3 lectures)
  • Web technologies and DBMS (6 lectures): semistructured databases (xml and xpath), connectivity (JDBC)
  • Data warehousing and data mining (4 lectures)

Recommended Texts

The main textbooks are:

  • R. Elmasri, and S.B. Navathe: Fundamentals of Database Systems. (Addison-Wesley most recent edition)
  • H. Garcia-Molina, J. D. Ullman, and J. Widom: Database Systems: The Complete Book (Prentice Hall most recent edition)
  • T. Connolly and C. Begg: Database Systems (Addison-Wesley most recent edition)

Learning Outcomes

At the end of this module the student should be able to

  1. identify and apply the principles underpinning transaction management within DBMS;
  2. demonstrate an understanding of advanced SQL topics;
  3. illustrate the issues related to Web technologies and DBMS and XML as a semi-structured data representation formalism;
  4. identify the principles underlying object relational models;
  5. state the main concepts in data warehousing and data mining.

Learning Strategy

Formal Lectures: In a typical week, students will be expected to attend three hours of formal lectures. Formal lectures will be used to introduce students to the concepts and methods covered by the module.

Practicals and Tutorias: In a typical week, students will be expected to attend one hour of tutorials or computer lab practicals. Computer lab practicals are intended to allow students to undertake practical exercises with the possibility of immediate feedback. The lab exercises will focus on the design and implementation of applications that exploit and utilise the approaches discussed in the lectures.

Private study: In a typical week students will be expected to devote about 6 hours of unsupervised time to private study. Private study will provide time for reflection and consideration of lecture material, background reading and completion of the assessment tasks.

Assessment: Continuous assessment will be used to test to what extent practical skills have been learnt. A final examination at the end of the module will assess the academic achievement of students.