Как решить это решение с БД - PullRequest
       12

Как решить это решение с БД

1 голос
/ 15 февраля 2012

У меня есть таблица Users (UserID, FirstName, LastName...) и таблица Messages. В таблице Messages хранятся сообщения, которые отправляются между пользователями.

Итак, я могу создать эту таблицу как:

Messages (SenderID, ReceiverID...) и создайте 2 FK для Users, но этот подход кажется некорректным и не позволяет производить каскадное удаление / обновление для FK.

Несколько сообщений не допускаются. Кроме того, я не могу установить «Set Null» для обоих отношений. Зачем? Это было бы очень хорошо.

Какая структура является правильной в этом случае?

1 Ответ

1 голос
/ 15 февраля 2012

Вы должны посмотреть на проблему с точки зрения пользователей.

Считаете ли вы, что получатель хочет, чтобы его сообщение было удалено, когда отправитель удаляет его сообщение из папки «Исходящие»?

Нет. Другими словами: создайте одну копию сообщения для каждого пользователя.

Несколько сообщений не допускаются

Безумное требование. Это два разных сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...