EDIT : 나의 수정 된 엔티티 관계 다이어그램 학생은 많은 접촉 시간을 가질 수 있지만 이는 현재 진행중인 과정과 관련이 없습니다. 그래서 tblContact의 courseID는 불필요했습니다. 그래서 tblStudent의 Primary 키를 사용하여 특정 교사가 과제를 표시 한 학년과 특정 학생이 그 TMA를 가지고있는 과정과 관련이있었습니다. 휴학생 추적 시스템을위한 데이터베이스 설계
/편집
내 올드 ERD
StudID 및 CourseID 병합 된 복합 기본 키
내 질문 있습니다 참고 :이해야 나는 studi있다. tblContact의 D와 courseID? 또는 내가 StudID를 가지고 있어야합니까? 복합 기본 키를 사용하기 때문에 tblContact와 tblStudentTMA에 둘 다 값을 가져야한다고 생각했기 때문에? 이게 맞습니까?
첫 번째 질문은 다음과 같습니다. 자녀가없는 테이블에서 기본 키가 필요 없다는 의견이있었습니다. 당신이 그들을 언급하지 않을 것이기 때문에, 당신은 첫 번째 문장이 생길 필요가 있습니까? – Apple
모든 테이블에는 기본 키 또는 이와 동등한 것이 필요합니다. SQL 데이터베이스에서 열 'NOT NULL UNIQUE'을 선언하는 것은 'PRIMARY KEY'를 선언하는 것과 동일합니다. 키는 다른 테이블이 키를 참조하는지 여부와 관계없이 ID와 관련이 있습니다. 느슨하게 말해서 모든 SQL 테이블은 각 행을 식별 할 수있는 방법이 필요합니다. SQL 방식은 키를 사용합니다.(NOT NULL UNIQUE 또는 PRIMARY KEY 중 하나이다.) –