본문 바로가기
DB

SQLD 시험 : 1-3 : 식별자

by 스노위13 2023. 5. 11.

1. 식별자의 개념
- 여러 개의 속성 중에서 엔티티를 대표할 수 있는 속성
- 업무적으로 구분이 되는 정보(키는 테이블 접근을 위한 매개체로 물리 데이터 모델링 단계에서 사용)

2. 식별자의 특징
1) 주식별자
- 유일성: 주식별자에 의해 엔티티내에 모든 인스턴스들을 유일하게 구분함
- 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
- 불변성: 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야 함
- 존재성: 반드시 데이터 값이 존재해야 함(Null 불가)
2) 대체식별자: 주식별자의 특징과 일치
3) 외부식별자: 참조무결성 제약 조건에 따른 특징을 가짐

3. 식별자 분류
- 대표성, 참조관계 연결 가능 여부: 주식별자 / 보조식별자
- 자가 생성 여부: 내부식별자 / 외부식별자
- 단일속성여부: 단일식별자 / 복합식별자
- 대체여부: 본질식별자 / 인조식별자

4. 주식별자 도출기준
- 해당 업무에 자주 이용되는 속성(예. 회사에서 주민번호와 사원번호 중 사원번호)
- 명칭 내역 등과 같이 이름으로 기술 되는 것은 피함(예. 부서이름)
- 속성의 수가 많아지지 않도록 함, 과도한 복합키는 배제

5. 식별자 관계와 비식별자 관계
1) 자식엔티티는 부모엔티티의 외부식별자를 주식별자로 이용할 것인지 / 연결 속성으로만 이용할 것인지 결정해야 함
2) 식별자 관계
- 부모엔티티의 외부식별자를 주식별자로 이용하는 경우 
- Null값이 오면 안되므로 반드시 부모 엔티티 생성 후에 사용해야 함
3) 비식별자 관계
- 부모엔티티의 속성을 일반적인 속성으로만 사용하는 경우
- 속성이 반드시 필수가 아니어도 무방한 경우 / 엔티티별로 데이터의 생명주기를 다르게 관리할 경우 / 여러 엔티티가 하나의 엔티티로 통합되어 표현되었는데 각각의 엔티티가 별도의 관계를 가지는 경우 / 별도의 주식별자를 생성하는 것이 더 유리할 때
4) 식별자관계만 설정할 경우 데이터 모델의 흐름이 길어질수록 PK 속성의 수가 증가하는 구조가 발생함

6. 식별자관계와 비식별자관계 비교





댓글