※ 식별자
1. 식별자란? - 각각의 인스턴스를 구분 가능하게 만들어주는 대표격인 속성을 의미
2. 주식별자
① 주식별자란? - 기본키(Primary Key, PK)에 해당하는 속성. 하나의 속성이 주식별자가 될 수도 있고 여러 개의 속성이 주식별자가 될 수도 있음
② 주식별자 특징
㉮ 유일성 - 유일하게 각 인스턴스에 유니크함을 부여하여 식별이 가능토록 함
㉯ 최소성 - 주식별자를 구성하는 속성 수는 1개여야 함
Ex) 학번 + 랜덤번호 X
㉰ 불변성 - 속성값이 되도록 변하지 않아야 함
㉱ 존재성 - 속성값이 NULL값알 수 없음
3. 식별자 분류
① 대표성 여부
㉮ 주식별자(기본키) - 엔터티를 대표하는 식별자로 다른 엔터티와 참조 관계로 연결됨
㉯ 보조식별자(후보키) - 인스턴스를 식별하나 대표 식별자가 아니므로 다른 엔터티와 참조관계로 연결되지 않음
② 엔터티 내 생성 여부
㉮ 내부식별자 - 엔터티 내부에서 스스로 생성된 식별자
㉯ 외부식별자 - 다른 엔터티와의 관계를 통해 생성되는 식별자
③ 단일 속성의 여부
㉮ 단일식별자 - 하나의 속성으로 구성된 식별자
㉯ 복합식별자 - 두 개 이상의 속성으로 구성된 식별자
④ 대체 여부
㉮ 원조식별자/본질식별자 - 업무 프로세스에 존재하는 식별자
㉯ 대리식별자/인조식별자 - 주식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자
Ex) 주문번호 = 순번 + 주문일자
4. 식별자관계 vs. 비식별자관계
① 식별자관계 - 부모 엔터티의 주식별자가 자식 엔터티의 주식별자가 되는 관계. 부모 엔터티가 존재해야 자식 엔터티를 생성하며 단일 식별자인지 복합 식별자인지에 따라 1:1관계나 1:M관계로 결정됨
② 비식별자관계 - 부모 엔터티의 주식별자가 자식 엔터티의 일반 속성이 되는 관계. 일반 속성의 속성값은 NULL값을 가질 수 있으므로 부모 엔터티가 없는 자식 엔터티 생성이 가능하고 자식 엔터티가 존재하는 상태에서 부모 엔터티가 삭제 가능.
'자격증 > SQLD' 카테고리의 다른 글
[ SQLD 자격증 ] 데이터 모델과 SQL - 2. 반정규화(De-Nomalization) (0) | 2023.05.16 |
---|---|
[ SQLD 자격증 ] 데이터 모델과 SQL - 1. 정규화(Nomalization) (0) | 2023.05.15 |
[ SQLD 자격증 ] 데이터 모델링의 이해 - 4. 관계(Relationship) (0) | 2023.05.13 |
[ SQLD 자격증 ] 데이터 모델링의 이해 - 3. 속성(Attribute) (0) | 2023.05.11 |
[ SQLD 자격증 ] 데이터 모델링의 이해 - 2. 엔터티(Entity) (0) | 2023.05.10 |