powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Общение между пользователями
9 сообщений из 9, страница 1 из 1
Общение между пользователями
    #37174168
Pavel_M2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня! Нужно сделать реализацию общения клиентов между собой. Получилось у меня две талицы:

user
------------------
user_id
user_nick
user_email

message_id
------------------
user_id
message_recipient_id
message_context
message_date_add
message_status

Получается здесь связь 1 ко многим. Нужно ли как-то связывать message_recipient_id ? Данные берутся в это поле из таблицы user. Как вообще эту связь показать проектно в концепции Erwin ?

Фактически вопрос стоит в правильной схеме данных БД.
...
Рейтинг: 0 / 0
Общение между пользователями
    #37176865
Pavel_M2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не знает? Может вопрос некорректный?
...
Рейтинг: 0 / 0
Общение между пользователями
    #37177628
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_M2009,

Если объяснять на пальцах - то несомненно, из поля message_recipient_id должен быть внешний ключ на таблицу user (как, впрочем, и из поля message_id.user_id). Еще надо подумать - а что, сообщение только от одному пользователю может быть адресовано? Все привыкли, что нескольким.

А если отвечать буквально - придется вспоминать, что такое концепция Erwin, и с какого конца там все эти стрелочки, кружочки и вороньи лапы рисуются. И вообще, мало кто знает, что такое "связь показать проектно". Но как в этом признаться? Потому и молчим все.
...
Рейтинг: 0 / 0
Общение между пользователями
    #37179572
Pavel_M2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблицу исправил. Небольшой баг был. Думаю заметили.

user
------------------
user_id
user_nick
user_email


message
------------------
message_id
user_id (внешний ключ)
message_recipient_id (внешний ключ)
message_context
message_date_add
message_status

Программно реализовать легко, а вот в дипломе описать это...Думал здесь помогут. Вроде тема проектирование БД называется. Основные средства это Erwin все таки.

И преподаватель молчит...(

У меня в Erwin не получается сделать это поле message_recipient_id внешним ключем. Такое ощущение что надо прям какую-то что-ли виртуальную таблицу делать user и от нее вести. Но это глупо.
...
Рейтинг: 0 / 0
Общение между пользователями
    #37179886
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_M2009Таблицу исправил. Небольшой баг был. Думаю заметили.

user
------------------
user_id
user_nick
user_email


message
------------------
message_id
user_id (внешний ключ)
message_recipient_id (внешний ключ)
message_context
message_date_add
message_status


user_message
------------------
user_id (внешний ключ)
message_id (внешний ключ)
role_id (получатель/отправитель)
message_status
....
...
Рейтинг: 0 / 0
Общение между пользователями
    #37179926
Pavel_M2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rin@tPavel_M2009Таблицу исправил. Небольшой баг был. Думаю заметили.

user
------------------
user_id
user_nick
user_email


message
------------------
message_id
user_id (внешний ключ)
message_recipient_id (внешний ключ)
message_context
message_date_add
message_status


user_message
------------------
user_id (внешний ключ)
message_id (внешний ключ)
role_id (получатель/отправитель)
message_status
....


Тоесть в вашем случае role_id не является внешним ключем? И никаких связей к ней нету? Но это же не верно. По сути разделили мой вариант для предотвращения много - ко - многим
...
Рейтинг: 0 / 0
Общение между пользователями
    #37179928
Pavel_M2009
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pavel_M2009,

Вопрос состоит в том, что как из этого user_id вывести две связи так чтобы и user_id был (FK) и role_id был (FK)
...
Рейтинг: 0 / 0
Общение между пользователями
    #37179965
Фотография Rin@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel_M2009Тоесть в вашем случае role_id не является внешним ключем? И никаких связей к ней нету? Но это же не верно. По сути разделили мой вариант для предотвращения много - ко - многимСоздайте такую таблицу. Проявите смекалку.
...
Рейтинг: 0 / 0
Общение между пользователями
    #37203770
avdav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ERWin в логической модели на связи правой кнопочкой щелкнуть "Relationship Properties" -> вкладка "Rolename" -> Ищем слово Rolename и пишем message_recipient_id или как он там называется
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Общение между пользователями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]