본문 바로가기

업무 식별자

사원 엔터티의 업무 식별자 사원 엔터티의 업무 식별자는 주민등록번호 속성만이 되도록 설계한다. 그래서 퇴사한 후 재입사하더라고 같은 식별자를 사용하기 때문에 다른 사원이 되지 않도록 한다. 만약 퇴사한 사원이 재입사했을 때 다른 사원으로 인식한다면, 즉 사원번호가 달라진다면 사원 엔터티의 업무 식별자는 ‘주민등록번호+입사일자’가 된다. [그림1] 릴레이션이 이를 나타낸다. [사원] #사원번호 사원명 주민등록번호 입사일자 퇴사일자 12345 홍길동 1234567890123 2045-05-01 {null} 23456 김길동 2345678901234 2025-01-30 {null} 34567 이길동 6789012345678 2027-10-15 {null} [사원이력] 더보기
식별자(Key) 속성 & 비식별자(Non-Key) 속성 식별자 속성이란 엔터티에 존재하는 인스턴스의 유일성을 보장해 주는 속성이나 속성 집합입니다. 엔터티의 인스턴스마다 서로 다른 값을 가지는 속성이 식별자입니다. 같은 값이 하나라도 존재하면 식별자가 아닙니다. 흔히 말하는 PK는 테이블에 지정된 물리적인 제약(Constraints)입니다. 임의의 속성을 하나 추가하거나 여러 속성을 묶어서 PK 역할을 하도록 만들 수 있기 때문에, PK가 업무 식별자나 후보 식별자와 동일한 개념은 아닙니다. 업무(후보) 식별자는 논리적으로 인스턴스를 구별하는 속성입니다. 식별자를 지칭하는 용어는 여러 가지가 있습니다. 업무 식별자, 후보 식별자, 주 식별자, 대리 식별자, 인조 식별자, 외래 식별자, 슈퍼 식별자 등이 있는데요. 자세한 설명은 곧이어 할 것입니다. 이중에 하.. 더보기
정규화에 대한 주절거림 블로그에 서브타입에 대한 글을 쓰고 있는데요. 변화를 위해 다양한 주제의 글을 올리겠습니다. 나이를 먹을수록 확실히 체력의 부담을 느낍니다. 일주일에 하나씩은 올리려는 생각이 한 달에 두 개로 줄고... 실제는 하나만 올라가기도 하고요. 최근에 정규화에 대해 다시 생각하고 있습니다. 지나치게 사적인 얘기지만 저는 모델링이 자신 있는데요. 남들이 뭐라하든... ㅎㅎ 오래 전부터 해 오던 훈련 때문입니다. 속성의 종속 관계를 파악해서 엔터티를 도출하는 훈련인데요. 쉽게 말해 속성이 엔터티에 속하는 게 옳은지를 판단하는 것입니다. 이 훈련의 핵심은 식별자와 종속성입니다. 엔터티를 대표하는 속성(업무 식별자)을 찾아야 하고요. 그 속성을 기준으로 대상 속성이 종속됐는지 여부를 판단합니다. 종속성이 없다면 다른 .. 더보기