SWEN432 (2020) - Advanced Database Design and Implementation


This course explores a selection of the following topics: XML Databases, Cloud Databases, Data Warehouse and Object-Relational Databases. It examines features of these advanced database systems and analyses the new applications they facilitate.

Course learning objectives

Students who pass this course should be able to:

  1. Demonstrate a comprehensive understanding of cloud NoSQL database structures and mechanisms they use to achieve high availability, scalability, network partition tolerance, and eventual consistency (BE graduate attributes 2(b) and 3(b)).
  2. Set up cloud database clusters on the local host, design, implement, and query cloud NoSQL databases using Cassandra and MongoDB cloud database management systems (BE graduate attributes 3(a), 3(c) and 3(f)).
  3. Design, implement, and query a relational Data Warehouse (BE graduate attributes 3(a), 3(c) and 3(f)).

Course content

SWEN 432 is an advanced course in database and information systems. Databases and information systems facilitate handling of large amounts of information. The information we want to process is now more complicated and diverse than it used to be. We require more intelligent, application-specific, and sophisticated systems to do processing.
This year the course will examine the following two contemporary fields in the database systems area:

  • Cloud NoSQL Databases, and
  • Data Warehousing.
The Cloud NoSQL Database field will comprise approximately 70% of the course and will consider questions like: what are main features of Cloud NoSQL databases and how they differ from traditional databases, and also what are trade-offs in cloud NoSQL database implementations. Further, two specific data models used to deploy NoSQL database management systems will be considered. Details of NoSQL database management systems (Apache's Cassandra and MongoDB) implementations will also be presented. Four practical assignments will use Cassandra and MongoDB to demonstrate issues in designing, building and querying databases relying on two different NoSQL data models.
The Data Warehouse field will comprise approximately 30% of the course and will consider questions like: what is a Data Warehouse and what is it used for, how is data organized in a Data Warehouse, what operations and queries are executed against a Data Warehouse, SQL:1999 standard and Data Warehouse, query accelerating techniques, what are the contemporary Data Warehouse architectures, and the issues of implementing a data Warehouse as a Cloud Database. An assignment will use PostgreSQL to demonstrate issues in designing, building and querying Data Warehouses.

Required Academic Background

Before you enroll in SWEN 432 you are expected to have passed SWEN 304 OR COMP 302. Particularly, you will need to be familiar with the following topics:
  * Relational Data Model,
  * Transactional ACID (Atomicity, Consistency, Isolation, Durability) database properties,
  * Structured Query Language (SQL),
  * Relational Functional Dependencies and Normal Forms,
  * PostgreSQL Database Management System.
You must also have a good understanding of English and be able to write clearly.

Withdrawal from Course

Withdrawal dates and process:


Teaching Format

There will be three lectures per week during the trimester.

Student feedback

Student feedback on University courses may be found at:  www.cad.vuw.ac.nz/feedback/feedback_display.php

Dates (trimester, teaching & break dates)

  • Teaching: 02 March 2020 - 07 June 2020
  • Break: 13 April 2020 - 27 April 2020
  • Study period: 08 June 2020 - 11 June 2020
  • Exam period: 12 June 2020 - 27 June 2020

Class Times and Room Numbers

02 March 2020 - 22 March 2020

  • Monday 14:10 - 15:00 – 104, Te Toki a Rata, Kelburn
  • Tuesday 14:10 - 15:00 – 104, Te Toki a Rata, Kelburn
  • Thursday 14:10 - 15:00 – 202, New Kirk, Kelburn
27 April 2020 - 28 June 2020

  • Monday 14:10 - 15:00 – , , Kelburn
  • Tuesday 14:10 - 15:00 – , , Kelburn
  • Thursday 14:10 - 15:00 – , , Kelburn

Other Classes



There is no text book recomended for the course.

A reading list of material that may be of use is accessible from the course home page.

Mandatory Course Requirements

In addition to achieving an overall pass mark of at least 50%, students must:

  • achieve at least 40% overall for all assignments.
  • achieve at least a D grade in the exam.

If you believe that exceptional circumstances may prevent you from meeting the mandatory course requirements, contact the Course Coordinator for advice as soon as possible.


This course will be assessed through the following:
There will be five assignments. A tentative assignment schedule is given on the lecture schedule page . In principle, each assignment will be issued on Monday and due on Friday next week.
The assignment "one" asks you to design, and build a small distributed NoSQL database and to exercise querying and updating it using Cassandra.
The assignment "two" asks you to perform the set-up of a Cassandra cluster, and experiment with a number of performance and consistency issues.
The assignment "three" asks you to design and build a small unsharded database collection and to exercise querying and updating it using MongoDB.
The assignment "four" asks you to perform the set-up of a MongoDB cluster, and experiment with a number of performance and consistency issues.
Finally, the assignment "five" asks you to design, and build a small Data Warehouse and to exercise OLAP specific queries using PostgreSQL.

Assessment ItemDue Date or Test DateCLO(s)Percentage
Assignment 1CLO: 28%
Assignment 2CLO: 110%
Assignment 3CLO: 27%
Assignment 4CLO: 110%
Assignment 5CLO: 35%
Final Exam (2 hours duration)CLO: 1,2,360%


Any assignment submitted after the due date will be penalized at the rate of 5% per day (a weekend counts as one day).


Individual extensions will only be granted in exceptional personal circumstances, and should be negotiated with the course coordinator before the deadline whenever possible. Documentation (eg, medical certificate) may be required.

Submission & Return

Assignments will be handed out in lectures. You will find all necessary information about assignments and files needed at Assignments course page. Assignments should be submitted both electronically and as a hard copy. In principle, all assignments will be assessed and returned within 2 weeks after the submission dues date.

Marking Criteria

Each assignment contains a number of questions worth 100 marks in total. Your answers to questions will be assessed according to their accuracy. In your answers to assignment questions, you are expected to communicate your solutions  in a clear way and, if needed, to present a proper design documentation.


The total workload for SWEN 432 is 150 hours. In order to maintain satisfactory progress in SWEN 432 you should plan to spend an average of 10 hours per week on this course.

Teaching Plan

See: https://ecs.wgtn.ac.nz/Courses/SWEN432_2020T1/LectureSchedule

Communication of Additional Information

The main means of communication outside of lecture will be email and the SWEN 432 web area at https://ecs.wgtn.ac.nz/Courses/SWEN432_2020T1/. There you will find, among other things, this document, the lecture schedule, assignment handouts, and SWEN 432 Forum.

Offering CRN: 18670

Points: 15
Prerequisites: SWEN 304, 15 further 300-level COMP, NWEN or SWEN pts;
Restrictions: COMP 442
Duration: 02 March 2020 - 28 June 2020
Starts: Trimester 1
Campus: Kelburn