이 용어는 정규화입니다. 한 행의 데이터가 간결하고 가능한 한 적은 정보가 반복되도록 여러 테이블을 구조화하려고합니다. 이것은 당신의 머리에서 어떤 정보가 반복 될 것인지를 알아 내고, 그 정보를위한 테이블을 만드는 것입니다.
테이블 사이의 데이터는 기본 키를 통해 연결됩니다 (자동 증가 정수). 이 경우 학생과 교육이라는 두 개의 표가 있습니다. 학생 테이블에는 '학생 ID, 이름 등'이 있고 교육 테이블에는 'EducationID, StudentID, SchoolName, SchoolCity, SchoolStudentID 등'이 있어야합니다. 그래서,
select Student.*, Education.* from Student left join Education on Student.StudentID = Education.StudentID
는 사실,이 이상에 걸쳐 반복 'SchoolName'와 'SchoolCity'을 가질 것이다 : Student.StudentID가 Education.StudentID와 일치합니다 다음과 같은 쿼리를 획득 할 수
는
주 이것은 완전히 정규화되지 않았습니다. 계속하려면, 당신은 다시 그것을 조금 변경해야
Student: StudentID, Name, etc
School: SchoolID, SchoolName, SchoolCity, etc
Education: StudentID, SchoolID, StudentSchoolID, etc
주 : 각 학생은 참석 각 학교에서 다른 학생 ID를 가지고 - 자동 증가 정수와 혼동하지 않는다 'StudentID'. 이 경우 목록을 얻으려면 :
select Student.*, Education.StudentSchoolID, School.* from
Student left join Education on Student.StudentID = Education.StudentID
left join School on Education.SchoolID = School.SchoolID
당신이 [데이터베이스 정규화 (http://en.wikipedia.org/wiki/Database_normalization)에 위키 백과 문서에 읽기를 포기하는 것이 좋습니다 ... – ircmaxell