기본 키가 Employee 테이블에 있어야합니다.자식 테이블의 올바른 기본 키?
Table Stores
(PK) StoreID
{other store columns}
Table Employee
StoreID
EmployeeID
{other employee columns...}
[편집] 우리의 설치는 직원이 항상 하나 개의 저장소에 속하는 것 등이다. 모든 직원은 고유 한 ID를 가져야합니다 (즉, 직원이 다른 상점에 속해 있어도 ID는 동일하지 않아야합니다).
나는 항상 고유해야하므로 PK는 EmployeeID 여야한다고 생각합니다. 제 동역자는 PK가 StoreID + EmployeeID와 합성되어야한다고 생각하지만, 이론적으로 중복 직원 ID를 가질 수 있습니다. 나는 그의 추론을 전적으로 따르지는 않지만 그가 인용 한 한 가지는 성과이다. 나는 우리 데이터베이스의 Employee 테이블이 5000 레코드를 넘지 않았기 때문에 쿼리 성능에 대해 너무 걱정하지 않는다. 우리는 StoreID를 참조하는 다른 더 큰 자식 테이블을 가지고 있습니다. 이것이 그러한 키를 만드는 타당한 이유입니까?
[편집] EmployeeID에만 고유성을 적용하는 내부 키를 만들었습니까? 어쩌면 이렇게하는 방법은 여러 가지가있을 수 있지만, 가장 받아 들여지는 방법을 선택하고 싶습니다.
empID는 정확하게 데이터베이스 전체에서 고유합니다. Q를 명확히하기 위해 업데이트했습니다. PK가 테이블의 고유 한 열을 반영해야한다는 귀하의 평가에 전적으로 동의합니다. 나는 더 많은 코멘트를 원했기 때문에 내가 지금 당신에게 대답을 주거나 조금 기다려야할지 모르겠다. 이것은 언어적인 말다툼이기 때문에 더 많은 의견을지지 할 수 있습니다. – Tekito