Hello,
first posting here. With the purpose of learning ORM, I have worked on a simple academic model (see attachment). The model should be mostly self-explaining (anyway, I add an informal description of the numbered constraints below, just to make sure that I haven't made any mistake), but I have a question about one constraint in particular: number 7. The intended meaning is: “If a Chapter (of a Book) is discussed during an Exam of an exam Session of a given Course, then that Chapter must have been taught in that Course”. My question arises because there is more than one path from Chapter to Session. Besides, Exam is ternary, and reified: I am not sure whether there should be an arc from the constraint to Exam as well.
What does prevent me to read the constraint as follows: “If a Chapter (of a Book) is discussed in an Exam of a Student that has booked for an exam Session of a Course, then that Chapter must have been taught in that Course”, which obviously doesn't make sense.
Thanks in advance for any feedback you'd like to provide!
Nicola
PS: Here is, very informally, the intended meaning of each constraint. Please, let me know if I got any of them wrong:
- There cannot be two sessions at the same time in the same room.
- If a student participates to an exam session in a given room, then that room must have been allocated for that session.
- A student can take an exam for a course only once (although each course can offer many exam sessions).
- A student cannot book for concurrent sessions.
- If a student participates to a given exam session, then that student must have booked for that session.
- A student can book for an exam session of a course only if the student was enrolled in that course.
- See above.
- If a course teaches the (content of a) chapter of a book, then the course must have adopted that book.
- A chapter is identified by its title and by the book it appears in.