1. 식별자(Identifiers) 개념
식별자(PK) : 특정 엔티티 인스턴스의 식별 가능한 속성
2. 식별자의 특징
주식별자의 특정
유일성 : 엔티티 내 모든 인스턴스가 유일하게 구분되어야 함
최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
불변성 : 자주 변하지 않는 값 ( 사실은 변하지 말아야 함, 파급효과가 장난이 아님 ㅎ)
존재성 : 반드시 값이 들어와야 한다.
대체 식별자의 특징 == 주 식별자의 특징
외부 식별자는 참조무결성 제약조건(Referential Integrity)에 따른 특징을 가지고 있다.
3. 식별자 분류 및 표기법
대표성 여부
주식별자 : 엔티티 내 각 어커런스 구분 가능, 참조관계 연결 가능
보조 식별자 : 엔티티 내 각 어커런스 구분 가능, 참조관계 연결 불가능
스스로 생성 여부
내부 식별자 : 엔티티 내부에서 만들어짐
외부 식별자 : 엔티티 외부에서 받아 옴
속성의 수
단일 식별자 : 하나의 속성으로 구분
복합 식별자 : 둘 이상의 속성으로 구성
대체 여부
본질 식별자 : 업무의 의해 만들어짐
인조 식별자 : 업무적으로 만들어지진 않지만, 원조식별자가 복잡해 인위적으로 만들어짐
4. 주식별자 도출기준
기준
자주 이용되는 속성
주민번호, 사원번호 중에서 자주사용되는 것은 사원번호이름으로 기술되는 것은 지정 자제
일련번호와 코드가 많이 사용됨많은 속성이 포함되지 않도록
속성 수가 많은 경우 새로운 인조 식별자를 생성하는 것이 성능상 유리
5. 식별자관계와 비식별자관계에 따른 식별자
식별자관계와 비식별자관계의 결정
부모의 식별자를 자신의 주식별자로 이용할 것 인지, 연결 속성으로만 사용할 것 인지 결정
식별자관계
부모의 키가 자신의 주식별자 로 상속되므로 반드시 부모가 존재 해야하는 관계인 경우
비식별자관계
자식 엔티티에서 받은 속성이 반드시 필수가 아니여도 무방한 경우
엔티티 별로 생명주기가 다른 경우 (부모 인스턴스가 사라져도, 자식 인스턴스는 남는 경우)
여러 개의 엔티티가 하나로 통합되었는데, 각각의 엔티티가 별도의 관계를 가지는 경우
주식별자로 사용해도 되지만 전략상 보조 식별자일때가 유연하다고 판단될 때
(계약번호와 계약사원번호인 경우엔 단독 계약으로 생성도 가능하기 때문)
비식별자관계 선택하는 경우
약한 관계일 경우
독립 PK 구성이 필요한 경우
PK 속성의 단순 화가 필요한 경우
독립 PK 구성 : 업무적 필요성과 성능상 필요여부를 모두 포함
'자격증 > SQLD' 카테고리의 다른 글
반정규화와 성능 (0) | 2016.09.09 |
---|---|
성능 데이터 모델링의 개요 (0) | 2016.09.02 |
관계(Relation Ship) (0) | 2016.09.02 |
속성(Attribute) (0) | 2016.09.02 |
엔티티(Entity) (0) | 2016.09.02 |