Структура базы данных / структура нормализации должна содержать AND, OR, необязательные элементы и их отношения

Я хочу сохранить информацию о курсах колледжа в базе данных (MySql), но я не уверен, как поддерживать связь между модулями и выбранными вариантами.

По сути, курс может иметь обязательный раздел, группу необязательных модулей, раздел параметров, и в каждом из них могут быть варианты выбора, которые содержат AND или OR между модулями.

Простой пример:
Курс 60 кредитов имеет несколько обязательных модулей, которые составляют 40 кредитов. Это оставляет 20 кредитов для выбора из группы дополнительных модулей. (Сами модули могут содержать различное количество кредитов). Эффективно;('Mandatory module 1' AND 'Mandatory module 2'... AND'Mandatory module N') AND (40 credits from 'optional modules'),

AND & OR:
Когда я говорю «модули выше», это может быть один модуль или «Модуль x ИЛИ модуль Y», то есть в обязательном разделе. (эти модули, очевидно, должны иметь одинаковый вес кредита). Или в дополнительном разделе могут быть отдельные модули или даже один из вариантов может быть что-то вроде"module x AND module y".

Параметры:
Студенты, возможно, должны взять обязательные модули плюс один изn опции, которые могут содержать или не содержать AND, OR и обязательные и необязательные разделы; то есть «Вариант» имеет все атрибуты общего выбора модулей курса. Раздел «Параметры» будет «И» или «И» с другими разделами, такими как обязательный или необязательный; т.е. обязательные модули «плюс один из следующих вариантов». Эффективно раздел опций просто'Option 1' OR 'Option 2'... OR 'Option N'.

Проблема заключается в том, как сохранить все отношения И и ИЛИ, если операндом может быть другая операция И / ИЛИ или отдельный модуль, и отслеживать количество кредитов, разрешенных для каждого выбора; например «20 кредитов из следующего:» (группа дополнительных модулей).

Ответы на вопрос(5)

Ваш ответ на вопрос