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

Имею 3 таблицы

1. Countries - | ID | Name |

2. Organizations - | ID | Name | Country | CustomCol1 | CustomCol2 | ... |

3. Companies - | ID | Name | Organization | CustomCol1 | CustomCol2 | ... |

Вопросы:

1. Организации могут быть международними и не принадлежать к какой либо стране - Правильно ли хранить связь в таблице если она может быть пустой? А если нет то как?
2. Есть еще 5 таблиц (Пример : News, Articles, Tenders и т.п) которые могут принадлежать к одной из трёх таблиц(Countries , Organizations , Companies) - Как правильно хранить такие связи?

Спасибо.
...
Рейтинг: 0 / 0
азличные связи
    #38369811
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> 1. Организации могут быть международними и не
принадлежать к какой либо стране - Правильно ли хранить
связь в таблице если она может быть пустой?
А если нет то как?

я бы сделал специальную "Страну" -- "International"
и подвязал бы к ней все меж-государтственые организации.

(болшие) преимушества -- полнота связи и полнота проверки.

(небольшой) недостаток -- Интернатионал -- не настояшая страна,
возможно для уточнения придется добавить флаг --
"настоаяшая_страна" 1/0 (или 'Y'/'N').

>> 2. Есть еще 5 таблиц (Пример : News, Articles, Tenders и т.п)
которые могут принадлежать к одной из трёх таблиц(Countries ,
Organizations , Companies) - Как правильно хранить такие связи?

идеальных решений нет.

можно сделать одну большую таблицу "СВЯЗИ"
и в ней хранить Тип1 (News|Articles|Tenders), Ид1,
Тип2(Countries|Organizations|Companies), Ид2

Можно 3 отдельные таблицы для связок,

можно 9 таблиц для связок,

можно добавить 3 колонки внешних ключей в каждую
из таблиц News|Articles|Tenders.

можно добавить 2 колонки внешних ключей
Тип(Countries|Organizations|Companies), ИД в каждую
из таблиц News|Articles|Tenders.

Еше имеет смысл посмотреть что рекомендует фреймворк
на котором вы пишете клиента -- некоторые современые
фрейворки поддерживают такие гибкие связи.
...
Рейтинг: 0 / 0
азличные связи
    #38370042
DDeath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Спасибо!

2. Использую Django ,

javajdbcможно добавить 3 колонки внешних ключей в каждую
из таблиц News|Articles|Tenders.

можно добавить 2 колонки внешних ключей
Тип(Countries|Organizations|Companies), ИД в каждую
из таблиц News|Articles|Tenders.

Вопрос в том , нормально ли такое делать ? Ведь если мне надо будет дальше по связи идти то мне надо будет проверять или тип или какая из колонок не пустая (Cтраны , организации или компании)

То-есть если я хочу выбрать принадлежность к какой либо стране , организации или компании мне нужно будет делать это двумя запросами? или я вас не правильно понял?
...
Рейтинг: 0 / 0
азличные связи
    #38370067
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DDeath,

1. посмотрите как Дянго советует хранить
такие связки. (я не в курсе)

2. Приведите пример стандартных запросов,
словами, а далее мыс вами построим 2-3 варианта.

Обычно все можно будет выташить одним запросом
при все вариантах. Надо хорошо разобраться с индексами.

Начните экспериментировать сами
Сам СКЛ будет не самуй простой, но ничего
сверхсложного.

Тут как раз Дянго может (я почти уверен в этом)
помочь генерировать сложные связки.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / азличные связи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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