Термин для этого - нормализация. Вы хотите структурировать несколько таблиц таким образом, чтобы одна строка данных была краткой и как можно меньше информации повторялось. Это можно сделать, выяснив в своей голове, какие фрагменты информации будут повторяться, и составив таблицу для этой информации.
Данные между таблицами связаны через первичные ключи (возможно, с автоматическим приращением целых чисел). В этом случае у вас будет две таблицы: студент и образование. Таблица Student будет иметь «StudentID, Name и т. Д.», А таблица «Education» будет иметь «EducationID, StudentID, SchoolName, SchoolCity, SchoolStudentID и т. Д.».
Обратите внимание, что Student.StudentID будет соответствовать Education.StudentID и может быть получен по следующему запросу:
select Student.*, Education.* from Student left join Education on Student.StudentID = Education.StudentID
Фактически, это повторяет «SchoolName» и «SchoolCity» снова и снова, так что это не полностью нормализовано. Чтобы продолжить, вам нужно немного изменить его:
Student: StudentID, Name, etc
School: SchoolID, SchoolName, SchoolCity, etc
Education: StudentID, SchoolID, StudentSchoolID, etc
Примечание: у каждого учащегося есть разные идентификаторы учеников в каждой школе, которую они посещают, - не путайте это с целым числом с автоинкрементом StudentID. Чтобы получить список в этом случае:
select Student.*, Education.StudentSchoolID, School.* from
Student left join Education on Student.StudentID = Education.StudentID
left join School on Education.SchoolID = School.SchoolID