2012-04-19 4 views
0

나는 테이블을 가지고 있으며 더 많은 테이블에서 3nf를 얻기 위해 그것을 분할하려고합니다. 누군가 나를 도울 수 있습니까? 내가 어윈 데이터 모델 검사기 내 테이블의 유효성을 검사 할 때 나는 더 경고를 얻을 ...하지만 그것은 3NF (3NF 데이터베이스 정규화 (Erwin)

http://i43.tinypic.com/35mmuwx.png

내 어윈 방식 : http://i42.tinypic.com/2hnvx3o.png

어떤 도움을 주셔서 감사합니다)이 아니다

답변

1

실수로 Title과 Manager에서 employee_ID가 없어야합니다. shuold는 Employee 테이블에 job_Id 및 mng_id를 가지고 있으므로 관리자와 Title은 테이블에 한 번만 존재하며 직원 ID를 기준으로 직원 테이블에서 참조 할 수 있습니다. job_start_date와 job_end_date는 별도의 테이블을 사용할 실제 이유가없는 한 Employee 테이블에 있어야합니다 (여러 시작/종료 날짜를 저장하는 것처럼 보이지만 실제로는 그렇지 않습니다). 최저 임금과 최고 임금에 대해서는 알지 못하지만 임금에서도 마찬가지입니다. 해당 데이터가 직책에 내재 된 것이라면 두 필드는 Title 테이블에 있어야합니다.

+0

괜찮아 보이지만 여전히 확실하지 않습니다. http://i39.tinypic.com/dz8axd.jpg – justartem

+0

@Caerus 하하는 아직 약간의 추가 권한이 있습니다. Employee_Id가되도록 Employee PK가 필요합니다. 그래서 Employee에서 mng_id와 job_id는 정규 필드 여야합니다 (여전히 PK의 일부가 아닌 FK입니다). manager_name도 매니저에서 제거 했으므로 –

+0

이 없어야합니다. 감사합니다. 정규화에 대해 자세히 읽습니다. 지금. – justartem