Accessibility Skip to Global Navigation Skip to Local Navigation Skip to Content Skip to Search Skip to Site Map Menu

COSC344 Database Theory and Applications

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

Paper title Database Theory and Applications
Paper code COSC344
Subject Computer Science
EFTS 0.1500
Points 18 points
Teaching period Second Semester
Domestic Tuition Fees (NZD) $1,038.45
International Tuition Fees (NZD) $4,492.80

^ Top of page

COSC 242
INFO 212
Schedule C
Arts and Music, Science
Computer Science Advisor
Teaching staff
Lecturers: Dr Haibo Zhang and Dr Yawen Chen
Oracle Database Administrator: Cathy Chandra
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 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 paper 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. Non-relational data models such as NoSQL are briefly introduced.

  • 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 COSC 344
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 C, Java and PHP programming languages to interact with a database
  • Understand the mechanisms inside the database management system and learn how to optimise a database and a query
  • Practise on database security
  • Get familiar with advanced data models for representing a database

^ Top of page


Second Semester

Teaching method
This paper is taught On Campus
Learning management system

Computer Lab

Stream Days Times Weeks
Attend one stream from
X1 Monday 11:00-12:50 28-34, 36-41
X2 Thursday 11:00-12:50 28-34, 36-41


Stream Days Times Weeks
L1 Tuesday 09:00-09:50 28-34, 36-41
Thursday 09:00-09:50 28-34, 36-41