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 industry. In the context ofthe 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
  • realise 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 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 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 weekly schedule throughout the course delivery period.

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

Subject Introduction,Conceptual DB Design (ER)

Relational Data Model

No Lab
2

ER to Relational Model Mapping

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

Public Holiday No Lecture

PLpgSQL

Lab03 – SQL queries and view definitions Assignment 1 Due
Project 1: SQL
5

Functional Dependencies

Normal Forms

Lab04 – more SQL practice
7

Relational DB Design

Disks, Files, Index

Lab05 - SQL/PLpgSQL functions
Project 1 Due

8

Transaction Management

Transaction Management (continue)

Lab06 - database tiggers Assignment 2:
DB Design Theory,
Database Storage Structures and Transaction
9 Advanced Topics I

Advanced Topics II

Lab07 - relational design theory
10

Advanced Topics III

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:
* : 20% reduction of your marks for each day
The final mark is calculated by the harmonic mean:

Final Mark= 2 * (ass1 + ass2 + proj1) * FinalExam / (ass1 + ass2 + proj1 + FinalExam)

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 lecturer (wenjie.zhang@unsw.edu.au) if something is urgent.

Lectures Time

16:00 - 18:00 (Mon) week 1-3, 5, 7-10
13:00 - 15:00 (Tue) week 1-5, 7-10

Course Resources : Textbooks

Author(s) Title Edition Publisher/Year
Elmasri & Navathe Fundamentals of Database Systems 6th edition Addison-Wesley, 2010

Course Resources : References

Author(s) Title Edition Publisher/Year
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

This course is evaluated each session using 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 web site (frequently).

Resource created Tuesday 01 September 2020, 03:12:55 PM, last modified Monday 26 October 2020, 02:01:42 PM.


Back to top

COMP9311 20T3 (Introduction to Database Systems) is powered by WebCMS3
CRICOS Provider No. 00098G