Der Begriff dafür ist Normalisierung. Sie möchten mehrere Tabellen so strukturieren, dass eine Datenzeile prägnant ist und so wenig Informationen wie möglich wiederholt werden. Dies kann getan werden, indem Sie in Ihrem Kopf herausfinden, welche Teile der Information wiederholt werden, und einen Tisch für diese Information erstellen.
Daten zwischen den Tabellen sind über Primärschlüssel (hoffentlich Auto Inkrement Ganzzahlen) verknüpft. In diesem Fall hätten Sie zwei Tabellen: Student und Education. Die Student-Tabelle würde "StudentID, Name usw." haben, während die Education-Tabelle "EducationID, StudentID, SchoolName, SchoolCity, SchoolStudentID, usw." hätte.
Beachten Sie, dass Student.StudentID mit Education.StudentID passen würde und kann mit der folgenden Abfrage erworben werden:
select Student.*, Education.* from Student left join Education on Student.StudentID = Education.StudentID
In der Tat wird diese ‚School‘ haben und ‚SchoolCity‘ zu wiederholen immer und immer wieder, so Dies ist nicht vollständig normalisiert. Um fortzufahren, müssen Sie es ein wenig ändern, wieder:
Student: StudentID, Name, etc
School: SchoolID, SchoolName, SchoolCity, etc
Education: StudentID, SchoolID, StudentSchoolID, etc
Hinweis: Jeder Schüler hat einen anderen Schüler-ID an jeder Schule, die sie besuchen - nicht verwechseln mit der Autoinkrement integer ‚StudentID‘. Um eine Liste in diesem Fall zu erhalten:
select Student.*, Education.StudentSchoolID, School.* from
Student left join Education on Student.StudentID = Education.StudentID
left join School on Education.SchoolID = School.SchoolID
Ich schlage vor, dass Sie eine Lese auf den Wikipedia-Artikel über [Datenbank Normalisierungs] geben (http://en.wikipedia.org/wiki/Database_normalization) ... – ircmaxell