Базовый сценарий: у меня есть студенты, курсы и требования к курсам, которые необходимо хранить в базе данных.
Кто-нибудь знает, как лучше всего хранить эти и проходить предварительные условия курса?
1) Простой пример:
- C: Математика 100, требование: нет
- C: Math 150, требования: нет
- C: Математика 200, предварительное требование: Математика 101, Математика 150
Учащийся А закончил Math 100. Как определить, имеет ли он право сдавать CS200 с помощью запросов к базе данных?
2) Более сложный пример:
- C: Chem 100, требования: нет
- C: Химия 200, предварительное требование: Химия 100
- C: Химия 201, предварительное требование: Химия 200
- C: Химия 202, предварительное требование: Химия 200
- C: Chem 300, предварительное требование: любые два из Chem 200, Chem 201, Chem 202
Учащийся Б завершил Химию 100, Химию 200, Химию 203. Как проверить, имеет ли он право сдавать Химию 300?
Как смоделировать иерархию предпосылок в базе данных? Любые советы, ссылки, ссылки будут приветствоваться.