Red X iconGreen tick iconYellow tick icon


    An introduction to fundamental database technology, including database theory, database design, and extensive practical work.

    About this paper

    Paper title Database Theory and Applications
    Subject Computer Science
    EFTS 0.15
    Points 18 points
    Teaching period Semester 1 (On campus)
    Domestic Tuition Fees ( NZD ) $1,173.30
    International Tuition Fees Tuition Fees for international students are elsewhere on this website.
    COSC 203 or COSC 242
    COSC 444
    Recommended Preparation
    COSC 201
    Schedule C
    Arts and Music, Science

    Computer Science Adviser

    Teaching staff

    Lecturers: Dr Haibo Zhang
    Dr Yawen Chen

    Paper Structure

    The aim of COSC 344 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. 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 are explored.

    Database recovery and protection, issues of transactions, concurrent access and query optimisation are covered. The underlying storage structures and access methods are explained. Distributed databases are introduced. Advanced data models such as NoSQL are explored.


    • Assignment and lab work 40%
    • Final exam 60%
    Teaching Arrangements
    There are two 1-hour lectures and a 2-hour lab per week. Weekly exercises also have to be completed.

    Elmasri, R. & Navathe, S., Database Systems: Models, Languages, Design, and Application Programming (7th Edition), 2016.

    Course outline

    View the course outline for COSC344

    Graduate Attributes Emphasised
    Lifelong learning, Critical thinking, Self-motivation.
    View more information about Otago's graduate attributes.
    Learning Outcomes

    Students will:

    • Master the skills in analysing a miniworld, designing a database and implementing a database in Oracle
    • Use SQL language to manipulate data in a database
    • Implement user-friendly interface using Java programming language to interact with a database
    • Understand the mechanisms inside the database management system and learn how to optimise a database and a query
    • Understand key technologies for distributed databases
    • Practise on database security
    • Get familiar with advanced NoSQL data models for representing a database


    Semester 1

    Teaching method
    This paper is taught On Campus
    Learning management system

    Computer Lab

    Stream Days Times Weeks
    Attend one stream from
    A1 Wednesday 10:00-11:50 9-13, 15-22
    A2 Wednesday 12:00-13:50 9-13, 15-22


    Stream Days Times Weeks
    A1 Monday 09:00-09:50 9-13, 15-22
    Wednesday 09:00-09:50 9-13, 15-22
    Back to top