QUESTION

Thato has given what data he needs for the course marketplace website a lot of thought. He has come up with quite a comprehensive set of business rules.

Course Marketplace Business Rules:

1. Each course can belong to exactly one category, and many courses can belong to the same category.

2. The name of each category must be stored in the database.

3. The name, description, price, listing date and last updated date must be stored in the database for each course.

4. A teacher can create many courses, and each course can be created by more than one teacher.

5. The percentage that each teacher contributes to a specific course must be stored in the database.

6. The following must be stored for each teacher: name, surname, email, bank, bank account, bio, and website.

7. Each teacher can indicate that they specialise in multiple categories. And many teachers can specialise in the same category.

8. A discount can be applied to a specific course. The same course can be discounted many different times or never.

9. The from date and to date, as well as the price during the discount, needs to be stored in the database.

10. Sometimes courses are sold as part of a bundle. Many courses can be part of the same bundle, and the same course can be part of many different bundles.

11. The percentage contribution of each course to a specific bundle needs to be stored in the database.

12. The name, start date, end date and price of each bundle must be stored in the database.

13. A participant can (hopefully will!) buy many courses over time. And many participants can buy the same course.

14. The date that a participant signs up for a course must be stored in the database.

15. If a discount is active when a course is bought, the fact that a discount was applied to the purchase needs to be recorded in the database.

16. The following data must be stored for each participant: name, surname, email, bio, and website.

17. Each participant can indicate that they are interested in multiple categories, and many participants can be interested in the same category.

 

Draw an Entity Relationship Diagram (ERD) using Unified Modelling Language (UML) notation, representing these business rules. Your design should be at the logical level – include surrogate primary key and foreign key fields. Remember to remove any many-to-many relationships. You only need to submit the final, complete diagram.

Tip: Make sure the diagram is readable in the document you submit!

 

Marks will be allocated as follows:

Entities 11 marks

Relationships with names 13 marks

Multiplicities 13 marks

Primary keys 5 marks

Foreign keys 5 marks

Other attributes 2 marks

Correct UML notation 1 mark

Total 50 mark

Public Answer

PADYWD The First Answerer