История изменений
Исправление no-such-file, (текущая версия) :
вопрос был про ограничения на уровне БД
На уровне БД есть 2 варианта. Либо ты делаешь такую декомпозицию, в которой твои хотелки можно выразить в форме отношений между данными. Либо «решаешь программно», т.е. триггеры и т.п. алгоритмические проверки. В некоторых СУБД можно добавить произвольные проверки на данные, например, а не только по ключам.
если что-то из трёх null — не берём в рассчёт и следим за уникальностью оставшейся пары
Это алгоритм, а не формальное описание отношений. Должно быть без «если».
Исходная версия no-such-file, :
вопрос был про ограничения на уровне БД
На уровне БД есть 2 варианта. Либо ты делаешь такую декомпозицию, в которой твои хотелки можно выразить в форме отношений между данными. Либо «решаешь программно», т.е. триггеры и т.п. алгоритмические проверки.
если что-то из трёх null — не берём в рассчёт и следим за уникальностью оставшейся пары
Это алгоритм, а не формальное описание отношений. Должно быть без «если».