1. 식별자 개념
엔터티는 인스턴스들의 집합이다. 여러 개의 집합체를 담고 잇는 하나의 통에서 각각을 구분할 수 잇는 논리적인 이름이 있어야 한다. 이 구분자를 식별자라고 한다.
식별자란, 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미하며 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.
2. 식별자의 특징
- 유일성: 주식별자에 의해 엔터티내에 모든 인스턴스들이 유일하게 구분되어야 한다.
- 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
- 불변성: 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.
- 존재성: 주식별자가 지정이 되면 반드시 값이 들어와야 한다.
3. 식별자 분류 및 표기법
식별자 분류
자신의 엔터티 내에서 대표성을 가지는가에 따라
- 주식별자 (Primary Identifier)
- 보조식별자 (Alternate Identifier)
엔터티 내에서 스스로 생성되었는지 여부에 따라
- 내부식별자
- 외부식별자
단일 속성으로 식별이 되는가
- 단일 식별자
- 복합 식별자
원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일렬번호와 같이 새롭게 만든 식별자를 구분하기 위해
- 본질 식별자
- 인조 식별자
식별자 표기법
4. 주식별자 도출 기준
- 해당 없무에서 자주 이용되는 속성을 주식별자로 지정한다
- 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다
- 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 한다
5. 식별자 관계와 비식별자 관계에 따른 식별자
식별자 관계와 비식별자 관계의 결정
식별자 관계
자식엔터티의 주식별자로 부모의 주식별자가 상속되는 경우를 식별자 관계 (Idemtifying Relationship)라고 지칭한다.
비식별자 관계
부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우를 비식별자 관계라고 한다.
식별자 관계로만 설정할 경우의 문제점
식별자 관계만으로 연결된 데이터 모델의 특징은 주식별자 속성이 지속적으로 증가할 수 밖엥 벗는 구조로서 개발자 복잡성과 오류가능성을 유발시킬 수 있는 요인이 될 수 있다는 사실을 기억해야 한다.
비식별자 관계로만 설정할 경우의 문제점
데이터 모델링을 전개할 때 각 엔터티 간의 관계를 비식별자 관계로 성정하면 속성이 자식엔터티로 상속되지 않아 자식엔터티에서 데이터를 처리할 때 쓸데없이 부모엔터티까지 찾아가야 하는 경우가 발생된다.
식별자관계와 비식별자관계 모델링
1) 비식별자관계 선택 프로세스
2) 식별자와 비식별자관계 비교
3) 식별자와 비식별자를 적용한 데이터 모델
=> 식별자관계와 비식별자관계를 적절하게 선택함으로써 데이터 모델의 균형감을 갖추었다고 볼 수 있다.
글에서 나오는 코드와 내용은 책 SQL 전문가 가이드에서 가져옴을 알립니다.
'📚CS > SQL' 카테고리의 다른 글
데이터 모델링의 이해 - 성능 데이터 모델링의 개요 (0) | 2023.07.21 |
---|---|
데이터 모델링의 이해 - 데이터 모델의 이해 (0) | 2023.07.21 |
데이터 모델링의 이해 - 관계 (0) | 2023.07.20 |
데이터 모델링의 이해 - 속성 (0) | 2023.07.20 |
데이터 모델링의 이해 - 엔터티 (0) | 2023.07.20 |