This is my first time studying multivalued dependencies and there is a question that was posted by my lecturer as a class exercise. I have an answer, but I'm not 100% sure it was right. Please let me know if my answer is complete and correct:



My answer

Multi-valued dependencies

  • courseCode ↠ lecturerId
  • courseCode ↠ (startDate, StartTime)
  • (courseCode, startDate, StartTime) ↠ learnerId
  • learnerId ↠ (courseCode, startDate)

Functional dependencies

  • courseCode → (courseName, weeklyHours, noofWeeks)
  • (courseCode, startDate,StartTime) → lecturerId
  • (courseCode, lecturerId) → (startDate, StartTime) Note: I'm not sure if this is even needed
  • lecturerId → (lecturerName, lecturerEmail, lecturerGender)
  • learnerId → (learnerName, learnerEmail)
  • 1
    Armstrong's axioms tell you all the FDs that hold when some do. There are similar axioms for MVDs. (See Wikipedia MVD.) Moreover you need to know all the FDs & MVDs that hold. (MVDs come in pairs.) You can do this by exhaustion, or there are algorithms. What reference does your class use? You need to use it. Perhaps the simplest definition for an MVD is that it corresponds to a binary JD--a table equals the join of two of its projections. This requires that you can phrase a table's (characteristic) predicate (statement template parameterized by columns) as the AND of two components'. – philipxy Aug 29 '17 at 0:33
  • 2
    Please use text inline any time you can. Ie cut & paste (after ocr if necessary). Images should be supplemental or necessary. PS See my stackoverflow MVD answers. – philipxy Aug 29 '17 at 0:50
  • 1
    What is the question? What is the assignment? – philipxy Aug 29 '17 at 6:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.