Как бы вы спроектировали базу данных, в которой есть таблица с 2 полями, и только одно из них может быть установлено за один раз, без слишком большой избыточности? Например, файловая система:
Допустим, у нас есть таблица с дисками, одна с папками и одна с файлами.
Диски и файлы довольно тривиальны. Однако у папок есть родительский элемент, который может быть папкой (в этом случае ссылка на ту же таблицу) или диском (в этом случае ссылка на строку диска).
Не могли бы вы добавить несколько дополнительных таблиц?