Database Theory and Applications

Semester 2, 2017

About this Course

The aim of COSC344 is to teach the principles of designing a database, use of a database management system, and the design and implementation of the underlying database management system software.

Issues of data modelling and database design are explored briefly. The relational model, relational algebra and operators are covered as well as functional dependencies and normalisation. The query language, SQL, and programming within the database using PL/SQL and triggers are explored. The course introduces interfacing SQL externally to Java, C, and PHP. Database recovery and protection, issues of transactions, concurrent access and query optimisation are covered. The underlying storage structures and access methods are explained. New techniques such as NoSQL data modelling will be introduced.

Textbook (recommended)

Elmasri, R. & Navathe, S.,
    Fundamentals of Database Systems (7th Edition),   Pearson Education Limited,   2015

Venues for classes


There are two lectures per week.   (see the schedule for lectures)

Day Time Venue
Tuesday 9:00 - 9:50 Quad 4
Thursday 9:00 - 9:50 Quad 4


You need to attend one lab per week -- some students may not be able to attend a full two hour lab session, in which case they need to go to one hour of both lab sessions (this is a known clash for students who are enrolled in Cosc242 this semester).
No lab in Week 1, Week 10 and Week 13 (see the schedule for labs).

Day Time Venue
Monday 11:00 - 12:50 Lab E and Lab F, Owheo
Thursday 11:00 - 12:50 Lab E and Lab F, Owheo

Streaming questions

If you have any questions about your lab streams, then please contact the teaching team.

Last updated:  10th Jul 2017   09:11