목차
식별자란
모든 엔터티는 인스턴스를 가지고 있고 인스턴스는 속성으로 자신의 특성을 나타낸다. 식별자는 이런 속성 중에 각각의 인스턴스를 구분 가능하게 만들어주는 대표적인 속성을 말한다.
주식별자
주식별자는 기본키에 해당하는 속성인데, 하나의 속성이 주식별자가 될 수 있고 여러 개의 속성이 주식별자가 될 수 있다.
유일성 | 각 인스턴스에 유니크함을 부여하여 각 인스턴스 별로 식별이 가능하게 해야한다. |
최소성 | 유일성을 보장하는 최소 개수의 속성이어야한다. |
불변성 | 속성값이 되도록 변하지 않아야 한다. |
존재성 | 속성값은 NULL일 수 없다. |
분류
식별자를 분류하는 방식은 여러 가지이다.
1. 대표성 여부
주식별자(Primary Identifier) | -유일성, 최소성, 불변성, 존재성을 가진 대표 식별자 -다른 엔터티와 참조 관계로 연결 |
보조식별자 (Alternate Identifier) | -인스턴스를 식별할 수는 있지만 대표 식별자가 아니다. -다른 엔터티와 참조 관계로 연결되지 않음 |
2. 스스로 생성되었는지의 여부
내부식별자(Interrnal Identifier) | 엔터티 내부에서 스스로 생성된 식별자 |
외부식별자(Foreign Identifier) | 다른 엔터티에서 온 식별자, 다른 엔터티와 연결고리 역할 |
3. 단일 속성의 여부
단일식별자 (Single Identifier) | 하나의 속성으로 구성된 식별자 |
복합식별자 (Composite Identifier) | 두 개 이상의 속성으로 구성된 식별자 |
4. 대체 여부
원조식별자(Original Identifier) | 업무 프로세스에 존재하는 식별자, 가공되지 않은 원래의 식별자(본질식별자) |
대리식별자(Surrogate Identifier) | 주식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자(인조식별자) |
식별자 관계 ~ 비식별자 관계
1. 식별자 관계(Identification Relationship)
부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계이다. 주식별자는 반드시 존재해야 하므로(존재성) 부모 엔터티가 있어야 생성 가능하며 단일식별자인지 복합식 별자인지에 따라 1:1이거나 1:M이거나 결정된다.
2. 비식별자 관계(Non-Identification Relationship)
부모 엔터티의 식별자가 자식 엔터티의 주식별자가 아닌 일반 속성이 되는 관계이다. 일반속성의 속성값은 NULL이 될 수 있으므로 부모 엔 터티가 없는 자식 엔터티 생성이 가능하고 마찬가지의 이유로 자식엔터티가 존재하는 상태에서 부모엔터티가 삭제될 수도 있다.
Tips
기본키 (Primary Key, PK)
후보키 (Candidate Key, CK)
슈퍼키 (Super Key, SK)
대체키 (Alternate Key, AK)
외래키 (Foreign Key, FK)
참조 무결성 (Referential Integrity)
요약
|
728x90
'SQL > SQLD' 카테고리의 다른 글
#6 정규화(Normalization) (2) | 2024.12.06 |
---|---|
#4 데이터 모델링(관계) (0) | 2024.07.09 |
#3 데이터 모델링(속성) (0) | 2024.07.08 |
#2 데이터 모델링(엔티티) (0) | 2024.07.04 |
#1 데이터 모델링 (0) | 2024.07.04 |