Exam
  course CourseId
  name ExamName
  gradingRule ExamGradingRule
  bonusRule ExamBonusRule
  occurrenceRule ExamOccurrenceRule
  visibleFrom UTCTime Maybe
  registerFrom UTCTime Maybe
  registerTo UTCTime Maybe
  deregisterUntil UTCTime Maybe
  publishOccurrenceAssignments UTCTime
  start UTCTime
  end UTCTime Maybe
  finished UTCTime Maybe -- Grades shown to students, `ExamCorrector`s locked out
  closed UTCTime Maybe -- Prüfungsamt hat Einsicht (notification)
  publicStatistics Bool
  description Html Maybe
  UniqueExam course name
ExamPart
  exam ExamId
  name (CI Text)
  maxPoints Points Maybe
  weight Rational
  UniqueExamPart exam name
ExamOccurrence
  exam ExamId
  room Text
  capacity Natural
  start UTCTime
  end UTCTime Maybe
  description Html Maybe
ExamRegistration
  exam ExamId
  user UserId
  occurance ExamOccurrenceId Maybe
  UniqueExamRegistration exam user
ExamResult
  examPart ExamPartId
  user UserId
  result ExamPartResult
  UniqueExamResult examPart user
ExamCorrector
  exam ExamId
  user UserId
  UniqueExamCorrector exam user
ExamPartCorrector
  part ExamPartId
  corrector ExamCorrector
  UniqueExamPartCorrector part corrector