Due to COVID-19 restrictions, a selection of on-campus papers will be made available via distance and online learning for eligible students.
Find out which papers are available and how to apply on our COVID-19 website
An introduction to fundamental database technology, including database theory, database design, and extensive practical work.
|Paper title||Database Theory and Applications|
|Teaching period||Semester 2 (On campus)|
|Domestic Tuition Fees (NZD)||$1,092.15|
|International Tuition Fees (NZD)||$5,004.75|
- COSC 203 or COSC 242
- Recommended Preparation
- COSC 201
- Schedule C
- Arts and Music, Science
Computer Science Adviser, firstname.lastname@example.org
- More information link
- View more information about COSC 344
- Teaching staff
- 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
- 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