Course Details

Course Aims

This course aims to explore in-depth the practice of developing database applications and the theory behind relational database management systems (RDBMSs). This course focuses on Database Design. It will also give an overview of the technologies used in implementing database management systems and the past, present, and future of database systems and database research.

Large data resources are critical to the functioning of just about every significant modern computer application, and so knowledge of how to manage them is clearly important in the industry. In the context of further study, understanding how to use databases effectively is essential for courses such as COMP9321 Web Applications Engineering and COMP9322 Service-Oriented Architectures. COMP9311 also provides a foundation for further study in advanced database topics, such as COMP9315 Database Systems Implementation and COMP9318 Data Mining. Database concepts are also relevant in courses such as COMP9319 Web Data Compression and Search and COMP6714 Information Retrieval and Web Search

Student Learning Outcomes

By the end of the course, you should be able to:

  • develop accurate, non-redundant data models
  • realize data models as relational database schemas
  • formulate queries via the full range of SQL constructs
  • use stored procedures and triggers to extend DBMS capabilities
  • understand principles and techniques for administering RDBMSs
  • understand performance issues in relational database applications
  • understand the overall architecture of relational DBMSs
  • understand the concepts behind transactions and concurrency control
  • appreciate query and transaction processing techniques within RDBMSs
  • appreciate the past, present, and future of database technology

Glossary:

  • DBMS : Database Management System ... software system to support database manipulation
  • RDBMS : Relational DBMS ... the most popular style of DBMS (refers to underlying data model)
  • SQL : Structured Query Language ... the ANSI standard language for manipulating RDBMSs

Teaching Strategies

  • Lectures: deliver the basic concepts and explain with detailed examples
  • Lab Work: help students implement basic database components with the real-life database instance
  • Consultation: weekly consultation to provide personalized advice to students on their progress in the course.

Teaching Rationale

The learning focus in this course is primarily on lectures (theoretical knowledge) and projects (practical knowledge). The course will have an emphasis on problem-solving for real applications.

Course Weekly Schedule

The following table summarises the planned weekly activities for the course. These are tentative. Please refer to the relevant sections of the course homepage for the most up-to-date information about the weekly schedule throughout the course delivery period.

# Lecture (Monday) Lecture (Thursday) Labs Assessments
1

Subject Introduction,
Introduction to DB

Conceptual DB Design (ER)

No Lab
2

Relational Data Model

Relational Algebra

Lab01 – setting up a database server Assignment 1:
Data Modelling and Relational Algebra


3 SQL

SQL(continue)

Lab02 – schema definition and data constraints
4

PLpgSQL

PLpgSQL(continue)

Lab03 – SQL practice Assignment 1 Due

5

Functional Dependencies

Normal Forms

Lab04 – SQL queries with view definitions Project 1: SQL (Monday Release)
6 QUIET WEEK QUIET WEEK QUIET WEEK QUIET WEEK
7

Relational DB Design

Disks, Files, Index

Lab05 - SQL functions and PLpgSQL functions
Project 1 Due

8

Transaction Management

Transaction Management (cont)

Lab06 - database triggers Assignment 2:
DB Design Theory,
Database Storage Structures and Transaction
9 NoSQL

NoSQL (cont)

Lab07 - relational design theory
10 Advanced Topics
Revision Lab08 - a practice on SQLite (an alternative DB)
Assignment 2 Due

Assessments

Number Name Full Mark
1 * Assignment 1: Data Modelling + Relational Algebra 25
2 * Assignment 2: DB design Theory + Transaction 25
3 * Project 1 50
4 Final Exam 100
Later Submission Penalties:
*: 5% reduction of your marks for each date, maximum 5 days
The final mark is calculated by the geometric mean:

Final Mark = sqrt ( (ass1 + ass2 + proj1) * Final Exam)

Course Email

comp9311unsw@gmail.com

Note: You are invited to meet us during consultation time slots and during the lab periods if you have any questions. You may also use the Q&A forums. You are also welcome to contact us via course email or contact the lecturer (zyang@cse.unsw.edu.au) if the course forum is not appropriate. Otherwise, direct your queries to (1) the webcms3 forum, then (2) the course email.

Lecture Times

Tue 15:00 - 17:00 (week 1-5,7-9)
Thu 15:00 - 17:00 (week 1-5,7-10)

Consultation Times

Thu 14:00 - 15:00 (week 1-5,7-10)

Course Resources : References

Author(s) Title Edition Publisher/Year
Elmasri & Navathe Fundamentals of Database Systems 7th Addison-Wesley, 2015
Jeffery D. Ullman, Jennifer Widom A First Course in Database Systems Recent Edition Prentice Hall
R. Ramakrishan Database Management Systems 3rd McGraw-Hill, 2003
D. Maier The Theory of Relational Databases 1st Computer Science Press, 1983


Academic Honesty and Plagiarism

Plagiarism is defined as "using the words or ideas of others and presenting them as your own". UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several online sources to help you understand what plagiarism is and how it is dealt with at UNSW:

Course Evaluation and Development

You can evaluate this course at the end of each session using the myExperience (replacing the CATEI system).
In this session, we will use more concrete examples to demonstrate difficult concepts.

More Information

For further information on this course, and to keep up to date with any changes, please consult the course website (frequently).

Resource created Monday 23 May 2022, 02:14:42 PM, last modified Monday 08 August 2022, 03:34:59 PM.


Back to top

COMP9311 22T2 (Database Systems) is powered by WebCMS3
CRICOS Provider No. 00098G