RUBY
[220530] SQLD _ 05. 식별자(Identifiers) 본문
식별자
- 어떤 대상을 유일하게 식별 및 구별할 수 있는 이름
- 각각의 인스턴스를 구분 가능하게 만들어주는 대표 격인 속성
주식별자
- 기본키, PK(Primary Key)에 해당하는 속성
- 하나의 속성이 주식별자가 될 수도 있고 여러 개의 속성이 주식별자가 될 수도 있다.
1) 유일성
- 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 한다.
2) 최소성
- 유일성을 보장하는 최소 개수의 속성이어야 한다.
3) 불변성
- 속성값이 되도록 변하지 않아야 한다.
4) 존재성
- 속성값이 NULL일 수 없다.
분류
1) 대표성 여부
(1) 주식별자 (Primary Identifier)
- 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자
- 다른 엔터티와 참조 관계로 연결
(2) 보조식별자(Alternate Idenrifier)
- 인스턴스를 식별할 수는 있지만 대표 식별자가 아님
- 다른 엔터티와 참조 관계로 연결되지 않음
2) 스스로 생성되었는지 여부
(1) 내부식별자(Internal Identifier)
- 엔터티 내부에서 스스로 생성된 식별자
(2) 외부식별자(Foreign Identifier)
- 다른 엔터티에서 온 식별자, 다른 엔터티와의 연결고리 역할
3) 단일 속성의 여부
(1) 단일식별자(Single Identifier)
- 하나의 속성으로 구성된 식별자
(2) 복합식별자(Composite Identifier)
- 두 개 이상의 속성으로 구성된 식별자
4) 대체 여부
(1) 원조식별자(Original Identifier)
- 업무 프로세스에 존재하는 식별자, 가공되지 않은 원래의 식별자(본질식별자)
(2) 대리식별자(Surrogate Identifier)
- 주식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자(인조식별자)
식별자관계 cvs 비식별자관계
1) 식별자관계(Identification Relationship)
- 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계
- 주식별자는 반드시 존재해야 하므로(존재성) 부모 엔터티가 있어야 생성 가능
- 단일식별자인지 복합식별자인지에 따라 1:1이거나 1:M이거나가 결정됨
2) 스스로 생성되었는지 여부
- 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 아닌 일반 속성이 되는 관계
- 일반 속성의 속성값은 NULL이 될 수 있으므로 부모 엔터티가 없는 자식 엔터티 생성이 가능
- 동일한 이유로 자식 엔터티가 존재하는 상태에서 부모 엔터티가 삭제될 수도 있음
'자격증 > SQL 개발자' 카테고리의 다른 글
[220602] SQLD _ 07. 관계형 데이터베이스 개요 (0) | 2022.06.02 |
---|---|
[220531] SQLD _ 06. 정규화(Normalization), 반정규화(De-Normalization), 트랜잭션(Transaction), NULL (0) | 2022.05.31 |
[220530] SQLD _ 04. 관계(Relationship) (0) | 2022.05.30 |
[220530] SQLD _ 03. 속성(Attribute) (0) | 2022.05.30 |
[220530] SQLD _ 02. 엔터티(Entity) (0) | 2022.05.30 |