Скажімо, я розробляю базу даних для сценарію, коли існує взаємозв'язок один до нуля або один (1-0..1). Наприклад:
- Є набір Користувачів , і деякі Користувачі також можуть бути Клієнтами .
Таким чином, я створив дві відповідні таблиці, users
і customers
, але ...
… Який найкращий спосіб представити та реалізувати цю ситуацію на даній платформі SQL? Я розглянув два можливі рішення:
У
users
таблицю додайтеcustomer
стовпчик, який може бути або посиланням на ІНТЕРНЕТ-КЛЮЧ,customers
абоNULL
позначкою.У
customers
таблиці включітьuser
стовпчик (встановлений ізUNIQUE
обмеженням), який вказує наusers
таблицю.
Я вже задавав подібне питання на деяких форумах, але в основному відповідь був "все, що вам потрібно", "все, що ви вважаєте зручним". Мені не подобається така відповідь. Натомість я хочу серйозний фрагмент теорії БД, обґрунтовану відповідь. Де я можу прочитати про стосунки 1-0..1?