powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как правильно спроектировать? (Две таблицы)
17 сообщений из 17, страница 1 из 1
Как правильно спроектировать? (Две таблицы)
    #37221329
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю базу для использования в дальнейшем с entity framework. Entity model предполагаю генерировать из базы.

Есть две таблицы.

Customers (клиенты)
id(PK)
name

Address (их адреса)
id(PK)
id_customer
name

Мне нужно, чтобы у сущности customer в дальнейшем было поле(свойство) .hisAddress, которое возвращало список адресов этого customer.

Как это сделать правильно? Раньше имел дело либо с чистыми SQL-запросами, либо чисто объектными вроде Core Data, а как спроектировать базу под EDM - что-то не соображу..

Спасибо.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221445
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

Ну и добавь в таблицу Customers поле hisAddress. В чем проблема?
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221453
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, из названия поля как бы вытекает, что адресов много.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221460
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueНу, из названия поля как бы вытекает, что адресов много.
Ну собственно у вас же уже есть таблица Address. Зачем вам тогда еще поле hisAddress?
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221472
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрНу собственно у вас же уже есть таблица Address. Зачем вам тогда еще поле hisAddress?
насколько я понимаю, ТС не представляет, как реализовать многие-ко-многим на уровне таблиц БД...
делов-то, еще одна таблица: [idCustomer-idAddres]
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221486
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chop,

Ненужно. У него уже есть Address.id_customer.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221491
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрChop,

Ненужно. У него уже есть Address.id_customer.
таки да, не дочитался...
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221492
Фотография Chop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chopтаки да, не дочитался...у него один-ко-многим
и уже есть
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221497
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
test
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221499
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял.

1. Я проектирую базу данных. На уровне полей и связей между ними через FK.
2. Потом создаю EDM с указанием - генерировать из базы данных.
3. И у меня готовые классы с УЖЕ заданными отношениями.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221501
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня не получается добавить сообщение. Что за бред?
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221506
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С системах, с которыми я уже имел дело, ситуация "клиент.его_адреса" выглядит диковинной, поскольку данные по адресам получались из таблицы "адреса" с фильтрацией по id_client.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221508
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но описанная схема очень удобна для использования в дальнейшем в различного рода привязках. Скажем, в CoreData можно получить ОДИН root-овый объект и дальше уже перемещаться по его связям через поля (поведение любого ORM?)
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221509
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь же я столкнулся с проблемой - как задать поле hisAddress при сохранении отношения между таблицами клиент-->адреса как one-2-many.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221510
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попробовал другой путь - сначала создать EDM, а потом сгенерировать из нее DB. И как я вижу - все эти отношения хранятся не на уровне DB, а на уровне самой EDM. То есть таблицы остаются максимально простыми, а скажем, таблица "клиент" ничего кроме "id" и "name" не содержит вообще.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37221512
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавляется только короткими сообщениями. Админам SQL.RU стоит поменьше задирать нос с такими-то багами на борту.
...
Рейтинг: 0 / 0
Как правильно спроектировать? (Две таблицы)
    #37222281
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MonochromatiqueНо описанная схема очень удобна для использования в дальнейшем в различного рода привязках. Скажем, в CoreData можно получить ОДИН root-овый объект и дальше уже перемещаться по его связям через поля (поведение любого ORM?)
Вы путаете представление данных пользователю и модель данных в бД.
БД у вас правильная. А для пользователя Список адресов - это свойство объекта Клиент.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как правильно спроектировать? (Две таблицы)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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