COMP3311 Final Exam The University of New South Wales
COMP3311 Database Systems
20T3 Final Exam Updates
Database Systems

Updates to the exam will be posted here

When a fix is required, we will make it in the online exam and in the
exam-paper.zip file. If have the exam paper on your home machine, you
might want to download and unzip it again to keep your copy up to date.


Update @ 3pm

In Q9, as well as a date, you'll need a way of generating a new ID for the group. Write an assumption for this, e.g. "I assume that the Groups.id field> is a serial" or "I assume there is a function newGroupID() that will return a new unique ID value" or ...


Update @ 2:10pm

In Q12, the template file acidentally had a part (c) included. Ignore it. You can remove it before submission, or leave it. Either way is fine.


Update @ 2pm

In Q7, there was no explicit statement about when to write "The whole group". If there are no performers mentioned for a song, then we assume that the whole group (all members) was involved.


Update @ 1pm

Some of the later questions said that submission was via an imaginary command called submit. Now they all show the give command.


Update @ 12:50pm

In Q6, the C printf hint didn't make it clear that 8 minutes and 5 seconds should be displayed as 8:05. Now it does. The expected outputs might have made this clear anyway.


Update @ 12:30pm

In Q11, part B was missing "from R". Now fixed.

Part D had unadorned joins. The intention was for these to be natural join, so I've made that explicit.


Update @ 12:15pm

In Q6, use the trackno as the displayed track number, as well as using it for ordering. There may be gaps in the trackno sequences, but we want to see those.


Update @ 12:10pm

There may be problems with the expected output for the test. I'm checking ...

There weren't problems. The expected output is ok.

I've investigated and all the people who asked were not distinguishing performers properly. There can be several performers with the same name.


Update @ 11:30am

The 01.sh test script in Q4 contained collate "en_AU" at the end of the SQL statement. If this causes problems in your setup, simply remove that text (collate "en_AU") from the SQL.


Update @ 11:05am

The intention for Q1, Q2 and Q3 was that you only use views.


Update @ 10:45am

Q9 mentions a "departed date" for performers, but this database doesn't have that field.
Assume that there is a field called departed in the MemberOf table.


Update @ 10:30am

Q3 should also include 'acoustic guitar' in the list of guitars.