Почему это должно быть ошибкой?
Рассмотрим таблицу Adults и таблицу Offspring, которая ссылается на нее.
(неправильно указано ранее) edit:
Что, если бы был какой-то потомок, о котором вы знали родителей?Просто игнорируйте, что они существуют.
edit:
Это реальный пример, с которым я только недавно столкнулся:
Я основываю свою базу данных на деНормализованный источник, где я не могу контролировать данные.Ключ, ссылающийся на таблицу владельцев, должен требоваться логически.Запустив запрос, я наткнулся на имя владельца:
'UNKOWN OWNER'
Хмм, которое могло долго плавать, и это был единственный шанс, что я его поймал.Я запускаю агрегированные запросы к таблице владельцев, где подобные вещи дают мне неверные результаты.Разработчики этой базы данных торгуют «огромной сложностью» обращения с нулями, скрывая ее со своим собственным брендом нуля.
Если бы значение было пустым или пустым, это немедленно вызвало бы ошибку, и я мог изменить таблицу в начале дизайна.Кроме того, в агрегатных запросах нули выпадают из объединений, поэтому у вас нет неверных результатов.И когда я хочу их, я просто left join
таблицы.