Допустим, я проектирую базу данных для сценария, в котором существует отношение «один к нулю или один» (1-0..1). Например:
- Существует множество пользователей , и некоторые пользователи также могут быть клиентами .
Таким образом, я создал две соответствующие таблицы, users
и customers
, но ...
... Как лучше всего представить и реализовать эту ситуацию на данной платформе SQL? Я рассмотрел два возможных решения:
В
users
таблице добавьтеcustomer
столбец, который может быть либо ссылкой FOREIGN KEY,customers
либоNULL
знаком.В
customers
таблицу включитеuser
столбец (заданный сUNIQUE
ограничением), который указывает наusers
таблицу.
Я уже задавал подобный вопрос на некоторых форумах, но ответ был в основном «все, что вам нужно», «все, что вы считаете удобным». Мне не нравится такой ответ. Вместо этого я хочу серьезную часть теории БД, обоснованный ответ. Где я могу прочитать об отношениях 1-0..1?