Заранее благодарим за вход.SQL: от многих до многих для многих ... это эффективно?
У меня есть 3 объекта:
- школа
- Camp
- Тренер
С помощью следующих соотношений:
- Школа может иметь несколько лагерей.
- Школа может иметь несколько тренеров.
- В лагере может быть несколько школ.
- В лагере могут быть несколько тренеров.
- Тренер может иметь несколько школ.
- Тренер может иметь несколько лагерей.
Многие из многих, School_Camp, очевидно, связывают школу с лагерем с дополнительным полем для даты, чтобы определить год лагеря. Но в одном лагере могут быть несколько тренеров.
:: School_Camp ::
- School_id
- Camp_id
- Дата
было бы лучше для меня, чтобы создать другой многие ко многим, School_Camp_Coach, что ссылки на столы School_Camp и Coach?
:: School_Camp_Coach ::
- School_Camp_id
- Coach_id
Если это более эффективный способ сделать это ... я должен дать School_Camp независимый столбец ID, который может быстро вместо ссылки на три поля в качестве идентификатора?
:: School_Camp ::
- ID *
- School_id
- Camp_id
- Дата
ИЛИ
ли лучше просто иметь ОДИН много для многих таблиц, School_Camp_Coach, с 3 внешними ключами?
:: School_Camp_Coach ::
- School_id
- Camp_id
- Coach_id
- Дата
Единственная проблема, которую я предвижу с этим, что вы будете иметь несколько записи для внешних ключей, но с разными датами.
Еще раз спасибо.
По крайней мере, использовать заглавные буквы, если вы заранее благодарите? – eandersson
Наиболее эффективный в отношении чего? Размер хранилища данных? Время поиска или обновления? Сложность запроса? Для некоторых показателей эффективности это зависит от того, что вы собираетесь делать с данными. Иногда он платит за денормализацию; в других случаях это не так. –
Важнейшими факторами являются размер хранилища данных и сложность запросов. –