Привет дорогие члены сообщества Мне нужна помощь по созданию простой базы данных. Это база данных студентов и школ. В одних школах есть несколько учеников, и один студент может быть связан с несколькими школами. Мне интересно, как лучше всего это сделать.Разнообразная конструкция базы данных с базами данных
Пример сценария: пользователь john прошел школу BI в качестве средней школы и MIT в качестве университета, пользователь Гарри пришел в MIT в качестве университета.
Один подход, мы можем иметь это: Мы можем иметь таблицу дб
Таблица Пользователь
+--------+-------+-----------+ | usr_id | name | school_id | +--------+-------+-----------+ | 7 | john | 1 | | 7 | john | 2 | | 6 | harry | 1 | +--------+-------+-----------+
школа Таблица
+-----------+-----------+ | school_id | name | +-----------+-----------+ | 1 | MIT | | 2 | BI School | +-----------+-----------+
И использовать school_id как иностранный ключ в таблице пользователя.
Другой подход:
Таблица Пользователь
+--------+-------+ | usr_id | name | +--------+-------+ | 7 | john | | 7 | john | | 6 | harry | +--------+-------+
школа Таблица
+-----------+-----------+ | school_id | name | +-----------+-----------+ | 1 | MIT | | 2 | BI School | +-----------+-----------+
Пользователи в таблице школы
+----+---------+-----------+ | id | user_id | school_id | +----+---------+-----------+ | 1 | 7 | 1 | | 2 | 7 | 2 | | 3 | 6 | 1 | +----+---------+-----------+
Какой подход был бы лучше всего? Есть ли другой подход, который мы можем попробовать здесь.
Я не думаю, что есть какой-либо другой более эффективный способ реализовать многие-ко-многим, чем второй подход, который вы использовали. Так это делают большинство людей. – Rachcha
Второй подход является лучшим, потому что он находится в 3-й нормальной форме, и его легче обновлять и изменять, и он будет лучше масштабироваться. –
Спасибо Раче и Сэму С. за помощь. Тогда я пойду со вторым подходом. –