Course Details

Course Description

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.

Course Aims

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.

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 Strategy and Rationale

  • Lectures: the 4-hour lecture delivers the basic database concepts and explain with detailed examples (theoretical knowledge)
  • Lab Work: the 2-hour lab helps students implement basic database components with the real-life database instance (practical knowledge)
  • Consultation: weekly consultation to provide personalized advice to students on their progress in the course.

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 No Lecture

SQL

Lab02 – schema definition and data constraints
4

SQL (continue), 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 (continue)

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

NoSQL (cont)

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

Lecture Times

Mon 10:00 - 12:00 (week 1-2,4-5,7-10)
Thu 15:00 - 17:00 (week 1-5,7-10)

Consultation Times

Thu 10:00 - 12:00 (week 1-10)

Assessment

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 max mark for each date, maximum 5 days
The final mark is calculated by the geometric mean:

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

Marking will be against specific criteria in a marking guide and formal feedback on your assessment task will be provided

Q&A

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 the lecturer (zyang@cse.unsw.edu.au) if and only if the course forum is not appropriate for your questions. Otherwise, direct your queries to the WebCMS2 forum.


Course Resources : References

No textbook are required. The following is a list of recommended reading.

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


Student Conduct

The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them, and conduct themselves accordingly.

In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their personal safety is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.

If you have any concerns, you may raise them with your lecturer, or approach the School Ethics Officer , Grievance Officer , or one of the student representatives.

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 on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:

Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism. In particular, you are also responsible that your assignment files are not accessible by anyone but you by setting the correct permissions in your CSE directory and code repository, if using. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.

UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism undermines academic integrity and is not tolerated at UNSW. Plagiarism at UNSW is defined as using the words or ideas of others and passing them off as your own.

If you haven't done so yet, please take the time to read the full text of

The pages below describe the policies and procedures in more detail:

You should also read the following page which describes your rights and responsibilities in the CSE context:


Special Consideration

Special consideration is the process for assessing the impact of short-term events beyond your control (exceptional circumstances), on your performance in a specific assessment task. All special consideration requests you may have on a specific assessment tasks (e.g., for giving an extension) will be managed through the standard UNSW special consideration policy and procedures. For details, please visit UNSW special consideration Web site .


Course Evaluation and Development

This course is evaluated each session using the myExperience system.

In the previous offering of this course, some students found that the theoretical part of this course was not easy to follow. Based on their comments, we will tune the explanation of database theory and include my examples in the lecture notes. We also noticed that many students would prefer in-person lab sessions. So we will be hosting both in-person and online lab sessions in this term.

Resource created Tuesday 16 May 2023, 10:38:21 PM, last modified Tuesday 20 June 2023, 05:41:26 PM.


Back to top

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