COMP9315 21T1 ♢ Course Welcome ♢ [0/19]
COMP9315 21T1
DBMS Implementation
( Data structures and algorithms inside relational DBMSs )
Lecturer: John Shepherd
Web Site: http://www.cse.unsw.edu.au/~cs9315/
(If WebCMS unavailable, use http://www.cse.unsw.edu.au/~cs9315/21T1/)
COMP9315 21T1 ♢ Course Welcome ♢ [1/19]
Name: | | John Shepherd |
Office: | | K17-410 (turn right from lift) |
Email: | | cs9315@cse.unsw.edu.au |
Online: | | Tuesday 2-4, Thursday 2-4 |
Research: | |
Information Extraction/Integration
Information Retrieval/Web Search
e-Learning Technologies
Multimedia Databases
Query Processing
|
COMP9315 21T1 ♢ Course Welcome ♢ [2/19]
Email cs9315@cse.unsw.edu.au
- Technical issues (e.g. problems compiling PostgreSQL)
- Detailed assignment questions (shared-screen debugging)
Special consideration:
- https://student.unsw.edu.au/special-consideration
Educational Adjustments:
- https://student.unsw.edu.au/els
COMP9315 21T1 ♢ Course Welcome ♢ [3/19]
Introduce you to:
- architecture of relational DBMSs (e.g. PostgreSQL)
- algorithms/data-structures for data-intensive computing
- representation of relational database objects
- representation of relational operators (sel,proj,join)
- techniques for processing SQL queries
- techniques for managing concurrent transactions
- concepts in distributed and non-relational databases
Develop skills in:
- analysing the performance of data-intensive algorithms
- the use of C to implement data-intensive algorithms
COMP9315 21T1 ♢ Course Welcome ♢ [4/19]
We assume that you are already familiar with
- the C language and programming in C
(e.g. completed ≥ 1 programming course in C)
- developing applications on RDBMSs
(SQL, [relational algebra] e.g. an intro DB course)
- basic ideas about file organisation and file manipulation
(Unix open, close, lseek, read, write, flock
)
- sorting algorithms, data structures for searching
(sorting, trees, hashing e.g. a data structures course)
If you don't know this material very well,
don't take this course
PostgreSQL, Assignments and Exam all involve C programming.
COMP9315 21T1 ♢ Course Welcome ♢ [5/19]
What's available for you:
- Textbooks: describe some syllabus topics in detail
- Course Notes: describe syllabus topics in some detail
- Content videos: short videos covering one topic (4-5 / week)
- Slides: from Content Videos
- Readings: research papers on selected topics
- Online: live Q&A and problem-solving sessions (like a tute)
The onus is on
you to make use of this material.
Online sessions are on Bb Collaborate (via Moodle), Tue 2-4, Thu 2-4
COMP9315 21T1 ♢ Course Welcome ♢ [6/19]
❖ Learning/Teaching (cont) | |
Things that you need to do:
- Exercises: tutorial-like questions
- Prac work: lab-class-like exercises
- Assignments: large/important practical exercises
- On-line quizzes: for self-assessment
Dependencies:
- Exercises → Exam (theory part)
- Prac work → Assignments → Exam (prac part)
There are
no tute/lab classes; use Forum, Email, Consults
- debugging is best done in person (can see full context)
COMP9315 21T1 ♢ Course Welcome ♢ [7/19]
Week 01 | | relational algebra, catalogs |
Week 02 | | storage: disks, buffers, pages, tuples |
Week 03 | | RA ops: scan, sort, projection |
Week 04 | | selection: heaps, hashing, indexes |
Week 05 | | selection: N-d matching, similarity |
Week 06 | | no new content, no online sessions |
Week 07 | | joins: naive, sort-merge, hash join |
Week 08 | | query processing, optimisation |
Week 09 | | transactions: concurrency, recovery |
Week 10 | | database trends (guest lecture) |
COMP9315 21T1 ♢ Course Welcome ♢ [8/19]
No official text book; several are suitable ...
- Silberschatz, Korth, Sudarshan
"Database System Concepts"
- Elmasri, Navathe
"Database Systems: Models, languages, design ..."
- Kifer, Bernstein, Lewis
"Database Systems: An algorithmic-oriented approach"
- Garcia-Molina, Ullman, Widom
"Database Systems: The Complete Book"
but not all cover all topics in detail
COMP9315 21T1 ♢ Course Welcome ♢ [9/19]
In this course, we use PostgreSQL v12 (compulsory)
Prac Work requires you to compile PostgreSQL from source code
- instructions explain how to do this on Linux at CSE
- also works easily on Linux and MacOS at home
- PostgreSQL docs describe how to compile for Windows
Make sure you do the first Prac Exercise when it becomes available.
Sort out any problems ASAP (preferably at a consultation).
COMP9315 21T1 ♢ Course Welcome ♢ [10/19]
PostgreSQL is a large software system:
- > 2000 source code files in the core engine/clients
- > 1,500,000 lines of C code in the core
You won't be required to understand all of it :-)
You will need to learn to navigate this code effectively.
Will discuss relevant parts in lectures to help with this.
PostgreSQL books?
- tend to add little to the manual, and cost a lot
COMP9315 21T1 ♢ Course Welcome ♢ [11/19]
Schedule of assignment work:
Ass | | Description | | Due | | Marks |
1 | | Storage Management | | Week 5 | | 15% |
2 | | Query Processing | | Week 9 | | 20% |
Assignments will be done individually
Assignments will require up-front code-reading (see Pracs).
Test cases available before submsission (extra tests after submission)
Ultimately, submission is via CSE's give
system.
Late penalties apply; plagiarism checking will be used
COMP9315 21T1 ♢ Course Welcome ♢ [12/19]
Over the course of the semester ...
- five online quizzes
- taken in your own time (but there are deadlines)
- each quiz is worth a small number of marks
Quizzes are primarily a review tool to check progress.
But they contribute 15% of your overall mark for the course.
COMP9315 21T1 ♢ Course Welcome ♢ [13/19]
Three-hour** exam in the May exam period.
Exam is NOT held in CSE Labs; you do it at home (via ssh or vlab)
The exam is totally open-book ("open-web").
Things that we can't reasonably test in the exam:
- writing large programs, running major experiments
Everything else is potentially examinable.
Contains: descriptive questions, analysis, small programming exercises.
Exam contributes 50% of the overall mark for this course.
** 3-hours worth of work; 4-hours allowed to complete
COMP9315 21T1 ♢ Course Welcome ♢ [14/19]
If you cannot attend the final exam ...
- because of documented illness/misadventure
then you will be offered a Supplementary Exam.
You get one chance at passing the exam
- unsw's new fit-to-sit rule applies
Exam hurdle = 20/50
(which is only 40%)
COMP9315 21T1 ♢ Course Welcome ♢ [15/19]
Your final mark/grade is computed according to the following:
ass1 = mark for assignment 1 (out of 15)
ass2 = mark for assignment 2 (out of 20)
quiz = mark for on-line quizzes (out of 15)
exam = mark for final exam (out of 50)
okExam = exam > 20/50 (after scaling)
mark = ass1 + ass2 + quiz + exam
grade = HD|DN|CR|PS, if mark ≥ 50 && okExam
= FL, if mark < 50 && okExam
= UF, if !okExam
COMP9315 21T1 ♢ Course Welcome ♢ [16/19]
Webcms3 has a contextual forum
- posts form part of a comment thread on resource pages
Before posting: check that your query is not already answered
- main forum page has a search function
- single search keywords work best
To receive notification of posts
- each resource with Comments has a bookmark icon
- toggle it to dark to be notified of new posts on that resource
COMP9315 21T1 ♢ Course Welcome ♢ [17/19]
The course website is a workplace platform
- make all communication professional and respectful
Any 9315-related discussion on external platforms
- is treated by UNSW the same as the course website
Summary: work hard and be nice to each other.
COMP9315 21T1 ♢ Course Welcome ♢ [18/19]
All of the above is described in detail in the Course Outline.
Read it.
It forms a contract between you and me on how this course will run.
Additional resources:
COMP9315 21T1 ♢ Course Welcome ♢ [19/19]
Produced: 13 Feb 2021