2014-09-28 2 views
0

학생들은 한번 외출 한 학생들이 결과를 볼 수 있도록 시스템을 구축하고 있습니다. 이 시스템은 내년으로 진행할 때 과정 기간 동안 학생의 점수를 기록하기로되어 있습니다. 하지만 외래 키를 Module_tests 테이블에 사용하는 것에 대해서는 확신하지 못합니다. 이 표에는 특정 학생 및 특정 모듈에 대한 테스트 마크를 식별하는 두 개의 외래 키가 있습니다. 이 외래 키 쌍은 Module_tests 테이블의 기본 키입니다. 이것은 현명한 디자인입니까? 보다 효율적인 방법이 있습니까? StudentID, 이름, 성 :외래 키를 사용하고 있는지 잘 모르겠습니다.

미리 감사드립니다

학생 테이블은 세 개의 열이 있습니다. 모듈 테이블에는 ModuleID, ModuleName, Year의 세 열이 있습니다. Module_tests 테이블에는 StudentID, ModuleID, Assignment, PracticalTest, FinalExam이라는 다섯 개의 열이 있습니다. (내 게시물에 이미지를 첨부 할 수 없으므로 텍스트로 표시되기를 바랍니다)

답변

0

기본 및 자동 증가 일 수있는 추가 열을 Module_tests에 추가해야한다고 생각합니다.

학생들이 모듈을 다시 가져와야하는 상황에서 데이터베이스의 무결성이 손상 될 수 있습니다. 그 외에는 테이블이 괜찮아 보입니다.

0

2 개의 외래 키에 의해 행을 고유하게 식별하는 접합 테이블은 this question으로 요청되었으며 이에 대한 대답은 여기에서 거의 적용됩니다.

+0

그러나 Module_tests에는 또 다른 세 개의 열이 있습니다. 조인트 테이블에는 외래 키가 두 개 밖에 없다는 것을 이해합니다. 그렇지 않으면 엔티티 테이블입니다. – twobits

+0

관계에 특성이있을 수 있습니다. (일부 전문가는 동의하지 않음) –

관련 문제