제 5절 식별자
1. 식별자 개념
- 엔터티 내에서 인스턴스들을 구분할 수 있는 구분자.
- 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.
- 식별자라는 용어는 업무적으로 구분이 되는 정보로 생각할 수 있으므로 논리 데이터 모델링 단계에서 사용하고 키는 데이 터베이스 테이블에 접근을 위한 매개체로서 물리 데이터 모델링 단계에서 사용한다.
2. 식별자의 특징
- 주식별자
유일성 : 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분
최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
불변성 : 주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함
존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재 (NOT NULL) - 외부식별자 : 주식별자 특징과 일치하지 않으며 참조무결성 제약조건 (Referential Integrity)에 따른 특징을 가지고 있다.
3. 식별자 분류 및 표기법
(1) 식별자 분류
(2) 식별자 표기법
4. 주식별자 도출기준
- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정
- 명칭, 내역 등과 같이 이름으로 기술되는 것은 피한다.
- 속성의 수가 많아지지 않도록 함
5. 식별자 관계와 비식별자관계에 따른 식별자
(1) 식별자 관계와 비식별자 관계의 결정 : 외부식별자는 Foreign key역할을 하는데, 이때 자식엔터티에서 부모엔터티로부터 받은 외부 식별자를 자신의 주식별자로 이용할 것인지 또는 속성으로서만 이용할 것인지를 결정해야 한다.
(2) 식별자관계 : 자식 엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우
(3) 비식별자관계 : 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고, 속성으로만 사용하는 경우
(4) 식별자 관계로만 설정할 경우의 문제점 : 주식별자 속성이 증가하는 문제, 복잡성과 오류가능성을 유발시킬 수 있다.
(5) 비식별자 관계로만 설정할 경우의 문제점 : 불필요하게 부모엔터티를 찾아야하는 경우가 발생, 성능저하 현상발생
6. 식별자관계와 비식별자관계 모델링
(1) 비식별자관계 선택 프로세스
(2) 식별자와 비식별자관계 비교
'자격증 > SQLD' 카테고리의 다른 글
SQLD 정리 / 과목 1 데이터 모델링의 이해 / 제2장 데이터 모델과 성능 / 제2절 정규화와 성능 (0) | 2021.05.22 |
---|---|
SQLD 정리 / 과목 1 데이터 모델링의 이해 / 제2장 데이터 모델과 성능 / 제1절 성능 데이터 모델링의 개요 (0) | 2021.05.22 |
SQLD 정리 / 과목 1 데이터 모델링의 이해 / 제1장 데이터 모델링의 이해 / 제 4절 관계 (0) | 2021.05.22 |
SQLD 정리 / 과목 1 데이터 모델링의 이해 / 제1장 데이터 모델링의 이해 / 제 3절 속성 (0) | 2021.05.22 |
SQLD 정리 / 과목 1 데이터 모델링의 이해 / 제1장 데이터 모델링의 이해 / 제 2절 엔터티 (0) | 2021.05.22 |