2012-05-24 3 views
1

다음과 같은 관계가 있습니다. 회사에는 여러 명의 직원이 있습니다. 각 직원은 직원 번호 ENr으로 정의되며 ZipCode ZZipCode과 함께 주소 EAddress에 거주하고 있습니다. ZipCode가있는 City는 자체 Employee 테이블에 중복성이 있기 때문에 자체 테이블입니다. 따라서 ZZipCode은 Employee의 외래 키입니다.3NF의 데이터베이스 관련성?

그룹은 GGroupId으로 정의되며 기본 키입니다. 각 그룹에는 모든 직원이 될 수있는 그룹 리더가 한 명 있습니다. 따라서 ENr은 외래 키입니다.

각 직원은 하나 이상의 그룹에서 작업 할 수 없습니다. 이러한 이유로 테이블 GroupMember은 튜플 ENrGGroupID이 기본 키를 정의하고 둘 다 외래 키인 경우에 존재합니다 (나는 굵은 체와 기울임 체를 모두 사용할 수 없습니다).

마지막으로 제품 ID는 제품 ID PId으로 정의되며 그룹 GGroupID과 연결됩니다.

여기에 서술 된 설명과의 관계가 있습니다.

직원당 (ENR, ENAME, EGender, E 주소, ZZipCode, ESocNr, ESalery)
그룹 (GGroupId, gname는, GCostNr, ENR)
GroupMember (ENR, GGroupID) # 두 멤버 모두 외래 키 입니다!
제품 (PID, PNAME, PPrice, GGRoupId)
우편 번호에 대한 명확한 (ZZipCode, ZCityName, SStateID)
주 (SStateID, SStateName)

: 굵은 글꼴은 기본 키이고 기울임 꼴 회원은 외래 키입니다.

나는 그 관계를 3NF에 넣으려고했다. 누구가 이것이 맞다는 것을 확인할 수 있습니까?

+0

3NF에 대해 확실치 않지만 정상화되었으므로 더 나은 관계를 찾을 수 없습니다. – Mustafa

+0

어떤 확인 양식을 원하십니까? 내 말은, '네, 그게'라고 말하는 것만으로 충분합니까? :) – dezso

+0

글쎄, 나는 그것을 3NF에 넣으려고했다. 그렇지 않다면 나에게 왜 말할 수는 없다.) – Razer

답변

1

정상적으로 보입니다. 나는 테이블의 더 이상 분할을 보지 않는다.