Как спроектировать БД?

Допустим, есть таблицы университеты и факультеты. Нужно ли создавать промежуточную таблицу, которая будет связывать факультеты и университеты или достаточно добавить столбик университет в таблицу с факультетами? И при каких ситуация нужно создавать связывающую таблицу, а при каких нет?
  • Вопрос задан
  • 2249 просмотров
Решения вопроса 1
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
разберитесь в предметной области (уничерситеты-факультеты) вначале - а потом приступайте к созданию таблиц в БД. в предметной области должна быть четкие условия существования одних факультетов в разных университетах.
хотя в жизни таких не встречал.

обычно Университеты (1 - *) Факультеты (1 - *) Специальности (1 - *) Группы

а вот Студенты могут учиться в нескольких группах, поэтому будет так - Группы (1 - *) (* - 1) Студенты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg
Любые ответы на любые вопросы
Такая таблица нужна в случае связи N:M (многие ко многим). У вас как раз такой случай - создавайте таблицу.
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
> при каких ситуация нужно создавать связывающую таблицу, а при каких нет?

При проектировании реляционной базы данных - используйте.
Если какие-то данные используются более одного раза, то их можно (не обязательно) помещать в отдельную таблицу. В вашем случае, в разных университетах могут быть факультеты с одинаковыми названиями. Поэтому факультеты сохраняются в одной таблице, а в таблице с университетами задаются уже не сами названия факультетов, а их индексы в таблице факультетов. Это если очень кратко.
Ответ написан
Комментировать
@endemic
www.ozon.ru/context/detail/id/7246798 - в плане минимальных знаний за приемлимое время пойдет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы