Foreign Key 설정에 관한 질문입니다.
1) 반 테이블 : ClassRoom
2) 반에 속한 학생 테이블 : Student
3) 개별 학생들의 Data : Student_Data
기본적인 연관 관계는 아래와 같은데요,
ClassRoom <- Student <- Student_Data
여기서 검색 편의를 위해서 Student_Data에 ClassRoom <- Student_Data 연관관계를 추가한다면
student_data
student_id FK (student_id in student)
class_id FK (class_id in classroom) : 검색 편의를 위해 추가
검색시 편의를 위해 student_data 테이블만으로 바로 검색 가능하도록
class_id도 student_data 테이블에 FK로 추가한다면,
이것이 적절한 설계인지,
아니면 혹시 Foreign Key 설정을 남발하는 것은 아닌지 궁금합니다.
중간 단계를 건너뛰는 연관 관계가 생겨버려서 바람직하지 않은 것 같기도 하고...
답변 감사드립니다~!
한 학생은 한개 반에만 속합니다.
그리고 student table은 학생 개인 정보, student_data table은 학생 성적 정보라서 테이블을 분리해놓는데,
student_data에는 student_id를 FK로 해놓고,
여기에 반 단위의 성적 검색, 통계 등을 편하게 하려고 class_id도 FK로 추가하는 것인데요.
DB 설계 초보라서
저런 편의를 위해서 FK를 늘리는 것이 DB설계의 기본 관점/연관 관계 설계에서 바람직한 것인가 싶어서 문의드립니다.
저런 FK를 추가하지 말고, 검색/통계시 그냥 join을 통하는 것이 바람직할까요?