Это моя первая публикация при переполнении стека. У меня много проблем, моделируя следующую ситуацию. Надеюсь на какую-то помощь.Дизайн таблицы базы данных (Пользователь, Получатель, Адрес)
Вот бизнес-правила:
- Пользователь имеет 0..1 для многих отношениях с реципиентом (например: пользователь может иметь ноль или несколько получателей)
- Пользователь имеет 0..1 для многих отношений с адресом (например, пользователь может иметь ноль или несколько адресов)
- получателя имеет 1 к 1 отношения с адресом (например, получатель должен иметь адрес)
Это то, что я так далеко:
- пользователя (UserID PK)
- Получатель (RecipientID PK, Идентификатор_пользователя NOT NULL FK, AddressID NOT NULL FK)
- Адрес (AddressID PK, Идентификатор_пользователя NULL FK)
Что действительно беспокоит я в том, что UserID в таблице Address должен иметь значение NULL, и я не вижу никакого способа обойти его.
Благодарим за любую помощь заранее.
Если использование rID может быть недействительным, тогда он не должен иметь отношения к таблице адресов. Вы можете использовать сводную таблицу, которая будет содержать отношения. Ex. UserAddressTable: ID, AddressID, UserID – mehany