这方面的术语是标准化。您希望构建多个表,以使一行数据简洁,并尽可能少地重复信息。这可以通过在您的脑海中确定哪些信息将被重复,并为该信息制作一个表格来完成。
表之间的数据通过主键链接(希望是自动递增整数)。在这种情况下,您将有两个表:学生和教育。 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
注意:每个学生在他们就读的每所学校都有不同的学生 ID - 不要将此与自动递增整数“学生 ID”混淆。在这种情况下获取列表:
select Student.*, Education.StudentSchoolID, School.* from
Student left join Education on Student.StudentID = Education.StudentID
left join School on Education.SchoolID = School.SchoolID