테이블은 따로 분리해도 되지만.
제가 제시한 대로 구분코드 자체도 공통코드의 일부로 한 테이블로 관리해도 무리 없을 것 같습니다.
공통코드 자체 무결성은 PK 설정하면 되고요.
다만 공통코드를 참조하는 테이블의 참조무결성은 외래키를 설정해야 하는데 이게 불가능합니다.
참조무결성을 해결하려면 공통코드 자체에 구분코드가 포함되어야 하겠네요.
(00101, 초급)
(00201, 내부)
(003004, 과장)
코드를 유니크한 값으로 관리하는 방법(PK 는 코드, 구분코드는 일반항목)
(001, 1, 초급)
(002, 2, 내부)
(003, 3, 과장)
1. 구분코드를 따로 뺄 것인지? (구분코드, 코드) (001, 01, 초급)
- FK 설정 불가
2. 구분코드를 코드에 포함시킬 것인지? (공통코드 = 구분코드 + 코드) (00101, 초급)
- 코드가 길어짐
3. 공통코드를 의미가 없는 시퀀스 형태의 유니크한 코드를 사용하는 방법.
- 코드에 의미를 담을 수 없음. 따라서 코드순 정렬 같은 걸 할 수 없음.
- 코드순 정렬이 필요하다면 정렬용 항목을 별도로 관리하면 됨
4. 아예 코드 테이블을 각각 만들 것인지? 공통코드 미사용.
- 테이블 관리 필요
외래키 설정이 무엇보다 중요하다고 생각하시면 2번,3번,4번 방법으로 가야 하고
외래키 설정을 포기한다고 하면 1번 방법이 나을 듯 하네요.