$35
This is to be done in groups of 5 (five). If you submit on your own instead, you will be penalized, as groupwork experience is important.
If you do not form a group yourself in time, you will be placed in a group: check the wiki.
• NB Ensure all 5 member names are included on your submission and on the Vula wiki.
• Enter the name of the group member who submitted your work on the Vula wiki.
• Use the Vula Forum for queries, not email (email queries will not be answered); then everyone has the same information.
• This specification is brief and the client is not available for interviews, so state any assumptions you make as necessary.
You are asked to design the database for a learning management system (LMS) identical to UCT’s Vula. You are restricted to what Vula shows; do not include your own ideas for a LMS. Consider only course sites, not project sites; cover assignments, gradebook, tests/quizzes, resources and forums, but not other tools such as sessions, announcements, calendar, wiki, chat room, course evaluations, external tools like lecture videos/Automarker, etc.
(A) Draw an ER (entity-relationship) model of Vula, using the ER notation from lectures. If necessary, state any assumptions you have made and list any constraints that cannot be
shown on the diagram. [8]
(B) Give the relation scheme derived from your ER model: give each relation name with the names of its attributes in brackets, underlining the attributes of the primary key. [3]
(C) List the FDs (functional dependencies) that hold for the attributes in your ER model. NB FDs with the same left hand side can be combined e.g. replace A→B and A→C by A→BC [3]
(D) Is your relation scheme in 3rd normal form (yes/no)? If yes, state briefly why. If not, either give a 3NF relation scheme for this data, or explain why it is better not to do so. [1]
(E) Create an application that allows users to perform some meaningful operations (of your own choice) using the database from Database Assignment 1. You may alter its relation scheme and/or data content if necessary. You may use any programming language. Note there are NO marks for the interface, as the focus of this assignment is accessing the
database. A mark of 3 will be given for a straight forward app that works correctly. [4]
(F) State the contribution of each person in the group. [1]
If you do a hand-drawn ER diagram, submit this to Computer Science Reception by the due date, keep a copy of your own as backup, and sign the ER Diagram Submission Sheet at Reception.