PERSON_TB
사원번호(PK) |
이름 |
부서 |
휴대폰 |
집전화 |
1 |
홍길동 |
개발부 |
|
|
2 |
강감찬 |
기획부 |
|
|
3 |
이순신 |
기획부 |
|
|
CONTACT_TB
사원번호 |
종류 |
연락처 |
1 |
휴대폰 |
010-123-1234 |
1 |
집전화 |
02-123-1234 |
3 |
휴대폰 |
010-111-2222 |
위과같은 구조로 된 사원테이블과 연락처테이블이 있습니다.
저 테이블은 주로 다음과 같은 결과로 사용됩니다.
홍길동 (개발부) 휴대폰(O), 집전화(O)
강감찬 (기획부) 휴대폰(X), 집전화(X)
이순신 (기획부) 휴대폰(O), 집전화(X)
사원테이블의 대부분이 휴대전화 집전화를 갖고 있다면 위에
회색으로 처리한 컬럼을 추가하는게 좋겠지만 없는경우가 많습니다. 또
2개있는경우도 있고 추후 FAX 라는 새로운 CONTACT 가 추가될수도
있고요.
그래서 일단 분리를 하였는데 이게 맞는 방법인가요?
만약 CONTACT 말고 '소유차종' 이라는 항목이 들어갈경우 CAR_MODEL
이란 테이블을 추가하면 3개의 테이블을 조인해야하고,, 이런식으로
새로운 항목이 추가될때마다 새로운 테이블을 만들어 조인하는것이
맞는지 모르겠습니다.
그냥 단순하게 생각해서
PERSON_TB 에
번호,이름,부서,휴대폰,집전화,소유차종, ....
이런식으로 컬럼을 추가하는게 실제로 유용한지 ..
하다못해 PERSON_TB 에 tinyint(1) contact_flag 라는 필드를
추가해서 연락처가 있는지 없는지정도만 입력시 비정규화로 집어넣어
조인을 줄이는게 맞는것인지..
어떤것이 바람직할까요?
|