식별자
태그 :
- 개념
- 데이터베이스로 구현했을 때 데이터 처리 기준이 되는 PK, FK
1. 개체(entity)를 지칭하거나 식별해 주는 속성, 식별자의 개요
가. 하나의 엔티티 내에서 각각의 인스턴스를 유일(unique)하게 구분해 낼 수 있는 속성 또는 속성 그룹(하나의 엔티티는 하나 이상의 식별자를 보유하고 있어야 함)
나. 식별자는 데이터베이스로 구현했을 때 데이터 처리 기준이 되는 PK, FK 등의 역할
2. 식별자의 유형
가. 식별자의 유형
분류 기준 |
유형 |
설명 |
대표성 |
주 식별자 |
엔티티 타입의 대표성을 나타내는 유일한 식별자 엔티티 타입 하나에 한 개 물리적 테이블에서 PK 역할 |
대표성 |
보조 식별자 |
주 식별자를 대신하여 보조적으로 엔티티 식별 엔티티 타입 하나에 두 개 이상 물리적 테이블에서 Unique Index 로 지정 |
스스로 생성 여부 |
내부 식별자 |
자신의 엔티티 내에서 스스로 생성되어 존재 |
스스로 생성 여부 |
외부 식별자 |
다른 엔티티로부터 관계에 의해 주식별자 속성을 상속받아 자신의 속성에 포함 외부식별자는 FK를 의미 |
단일 속성 |
단일 식별자 |
주 식별자 구성이 한 가지 속성으로 구성 |
단일 속성 |
복합 식별자 |
주 식별자 구성이 두 개 이상의 속성으로 구성 |
대체 여부 |
원조 식별자 |
주 식별자의 속성이 복합 식별자일 경우, 여러 개의 속성을 묶어 하나의 속성으로 만들어 주 식별자로 그대로 활용 |
대체 여부 |
대리 식별자 |
주 식별자의 속성이 복합 식별자일 경우, 주 식별자 속성을 일반 속성으로 내리고, 일련 번호 형태를 사용하는 경우 주 식별자로 사용된 일련번호를 대리 식별자(Surrogate Identifier)하고 함. |
키 (Key) |
기본개념 |
후보키 (Candidate Key) |
키의 특성인 유일성과 최소성을 만족하는 키를 지칭 사례 : <학번>, <이름, 학과> |
슈퍼키 (Super Key) |
유일성은 있으나 최소성이 없는 키를 지칭 특정 속성을 제거하면 투플을 유일하게 식별하지 못하는 것 사례 : <이름, 학과, 학년> |
기본키 (Primary Key) |
여러 개의 후보키 중에서 하나를 선정하여 사용하는 것을 지칭 사례 : <학번>, <이름, 학과> 후보키 중에서 하나를 선정하는 것 |
대체키 (Alternate Key) |
여러 개의 후보키 중에서 기본키로 선정되고 남은 나머지 키 지칭 기본키를 대체할 수 있는 키라는 의미 기본키를 <학번>으로 선정했다면, <이름, 학과> 를 지칭 |
외래키 (Foreign Key) |
어느 한 릴레이션 속성의 집합이 다른 릴레이션에서 기본키로 이용되는 키를 지칭 |
3. 주식별자의 도출기준과 비교
가. 주식별자의 도출기준
- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정.
- 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않음.
- 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 함.
나. 식별자와 비식별자 관계 비교
항 목 |
식별자 관계 |
비식별자 관계 |
목적 |
강한 연결관계 표현 |
약한 연결관계 표현 |
자식 주식별자 영향 |
자식 주식별자의 구성에 포함 |
자식 일반 속성에 포함 |
표기법 |
실선 표현 |
점심 표현 |
연결 고려사항 |
-반드시 부모 엔터티의 종속 -자식 주식별자 구성에 부모 주식별자 포함 필요 -상속받은 주식별자 속성을 타 엔터티에 이전 필요
|
-약한 종속관계 -자식 주식별자 구성을 독립적으로 구성 -자식 주식별자 구성에 부모 주식별자 부분 필요 -상속받은 주식별자 속성을 타 엔터니에 차단 필요 -부모쪽의 관계 참여가 선택관계 |
그림 |