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 Data Services Engineering and COMP9322 Software Service Design and Engineering. 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. To train students sufficiently in the practical programming skills in database systems, the lab exercises mainly focus on the database programming languages namely SQL and PLpgSQL. The lab works are designed to be self-guided, do-it-yourself tasks. However, there will be support lab help sessions scheduled weekly all throughout the term.
  • Consultation and Lab Support Sessions : weekly consultation to provide personalized advice to students on their progress in the course.
  • Assessments: measure the student's learning progress and outcome, especially on the practical skills relevant to the course
    • Quizzes : to help students keep up with the weekly lectures, every week an online quiz will be released covering important concepts taught in that week. To encourage students to take the quiz, there is small amount of assessment marks allocated to quizzes.
    • Assignments : two assignments, each designed to give practical experiences of applying the important concepts in real problems. These are individual work and assessed as such.

Teaching Rationale

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

Assessments

# Name Full Mark
1 * Assignment 1: Data Modelling + Relational Algebra (individual work) 15%
2 * Assignment 2: SQL and PLpgSQL programming (individual work) 25%
3 ** Weekly Quizzes (9 quizzes in total, released weekly, individual work) 10%
4 Final Exam 50%
  • The final mark is calculated as: Final Mark= Assignment 1 + Assignment 2 + Quizzes + Final Exam
  • Later Assignment Submission Penalties:
    1. * assignments : 10% reduction of your assessed marks for the 1st day, 15% reduction per day day from the 2nd day onwards
    2. ** quizzes: zero mark
    3. All late penalty waiver requests (extensions) should go through the central myUNSW system with documentary evidence. For more information about special consideration in general, visit Special Consideration (UNSW)
  • Final and Supplementary Exams: Every student gets exactly one chance at the final exam. If you attend the final exam, you will not be offered a supplementary exam (i.e., the UNSW Fit to Sit rule applies here). For more information about special consideration in general, visit Special Consideration (UNSW)

Contacting Course Staff

  • Official Course Email Address: cs9311@cse.unsw.edu.au

Note: no other email address to be used to contact the course authority. This is the only email address that will be monitored.

  • Consultation Times : You are invited to meet us in person during consultation time slots and lab support sessions. For the exact time table of these face-to-face sessions, refer to the relevant section of the course homepage. The most up-to-date information will be found there.
  • Online Forum/Q&A: You are also welcome to ask questions online via WebCMS3. The course staff will monitor the forum and answer questions as soon as we can. This is a good way to communicate from our point of view, as other students can also see what has been asked and answered on certain topics. Please note that you should expect a reasonable delay in getting replies in the forum, through.

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 Quizzes Assignments
1 Course introduction, Data Modelling Data Modelling Contd.
No Lab Quiz on Data Modelling
2 Public Holiday Relational Data Modelling Lab01 – setting up a database server Quiz on Relational data modelling Assignment 1 - Developing ER data model and SQL Schema
3 ER to relational mapping SQL (data definition) Lab02 – schema definition and data constraints Quiz on ER mapping and SQL schema definition
4 Relational Algebra and SQL More SQL Lab03 – SQL queries and view definitions Quiz on Relational Algebra and SQL
5 PLpgSQL More PLpgSQL Lab04 – more SQL practice Quiz on PLpgSQL Assignment 1 Due (Thursday 5pm)
6 Database Application Programming Database Architecture and Indexes Lab05 - SQL/PLpgSQL functions
Quiz on Database Architecture and indexes Assignment 2 - SQL and PLpgSQL programming
7 Database Design Theory
Database Design Theory
Lab07 - database tiggers
Quiz on Database design theory
8 QUIET WEEK (No Lecture) QUIET WEEK (No Lecture) Lab consultations will run QUIET WEEK (No Quiz) Keep working on the assignment
9 Transaction management Transaction management Lab08 - a practice on SQLite (an alternative DB)
Quiz on transaction management Assignment 2 Due (Thursday 5pm)
10 Additional database topic (security, access control, privacy) Additional database topics (Graph/No SQL databases) Lab09 - more practice on SQLite Quiz on additional topics
11 Make-up lecture - course revision

Course Resources

Textbook:

  • Fundamentals of Database Systems by Elmasri & Navathe, 7th edition, Addison-Wesley, UNSW Bookshop

Other References:

  • A First Course in Database Systems by Jeffery D. Ullman, Jennifer Widom, a recent edition, Prentice Hall
  • Database Management Systems by R. Ramakrishan, 3rd edition, McGraw-Hill, 2003
  • The Theory of Relational Databases by D. Maier, 1st edition, 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 and more practical examples to demonstrate difficult concepts.

Resource created Sunday 26 May 2019, 01:44:38 PM, last modified Saturday 01 June 2019, 06:01:40 PM.


Back to top

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