Description
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.
- 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]
- 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]
- 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]
- 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]
- 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]
- 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.



