![]() |
|
Модераторы: LSD |
![]()
|
|
| bio_hazard |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.6.2007 Репутация: нет Всего: 1 |
Здравствуйте. Подскажите пожалуйста как лучше реализовать хранение в СУБД данных по фирме. Стандартный набор данных адрес, телефон, виды деятельности. Виды деятельности фирмы - переменное количество, причём строгого списка из которых их выбирают нет, те как назовёт сама фирма свои виды деятельности так и надо заносить информацию. В дальнейшем какие то виды деятельности могут исчезать, потом могут появляется, поэтому наверное надо добавить признак false\true .
Остальные данные я представляю как хранить. |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: нет Всего: 18 |
можно виды деятельности вынести в отдельную таблицу + таблица связи фирма_виды_деятельности (связь многие-ко-многим)
|
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Да, это стандартный подход. Пример: 1) таблица игроков с фамилиями 2) таблица возможных амплуа (вратарь, защитник, полузащитник, форвард) 3) Таблица-связка, ссылающаяся на две предыдущие. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| bio_hazard |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.6.2007 Репутация: нет Всего: 1 |
Спасибо за ответы. Наверное так и буду делать, просто раньше никогда не сталкивался с такой ситуацией, но всегда что-то происходит в первый раз
|
|||
|
||||
| bio_hazard |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.6.2007 Репутация: нет Всего: 1 |
А в двух слова сможете объяснить, как в таблице связке присвоить игроку несколько амплуа, если возможных амплуа несколько десятков (для примера) |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: нет Всего: 18 |
сгенерировать insert из необходимого количества пар id_игрока и id_амплуа
это чуть больше чем в 2-х словах. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Так а что мешает? Player ID Name ---------------- 1 Ronaldinho 2 Robben Amplua ID Name ---------------- 1 Goalkeeper 2 Defender 3 Midfielder 4 Forward Player_Amplua ID_Player ID_Amplua ----------------------------- 1 4 2 3 2 4 В данном примере Роббен может выступать как полузащитник и как нападающий. Колонки второй таблицы, разумеется, foreign keys. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 2 Всего: 44 |
уж лучше на твоем примере, для играков дополнительная таблица не кчему... ------------------------- фирмы: id name -- ------- 1 ОАО 2 ЗАО 3 ООО виды деятельности: id name -- ------- 10 xxx 20 zzz 30 yyy 40 qqq таблица связи: id id_фирмы id_вд -- ------------ ------- 1 1 10 2 1 30 3 3 40 4 3 30 отсюда видно что ОАО имеет 2 вида деятельности xxx и yyy; ООО тоже два qqq и yyy; ЗАО бездельники; а вид деятельности zzz ни кто не использует. Добавлено через 2 минуты и 30 секунд batigoal, сори ты меня опередил, но всеравно если следовать здравому смыслу то между игроками и их ролями в команде связи M:M вроди как не должно быть, хотя я не спортсмен - могу и ошибаться... |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Это возможно, но пример мой действительно немного притянут за уши. Однако не суть. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| bio_hazard |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 28.6.2007 Репутация: нет Всего: 1 |
batigoal,dimW Спасибо!!! Примеры просты и красноречивы,понял как правильно реализовать, ничего сложного нет
|
|||
|
||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |