5 절 식별자

1. 식별자(Identifiers) 개념

하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미하여 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.

 

2. 식별자의 특징

특징

내용

비고

유일성

주식별자에 의해 엔터티 내에 모든 인스턴스들을 유일하게 구분

사원번호가 주 식별자가 모든 직원들에 대해 개인별로 고유하게 부여

최소성

주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야함

사원번호만으로도 고유한 구조인데 사원분류코드+사원번호로 식별자가 구성될 경우 부적절한 주식별자 구조

불변성

주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않음

사원번호의 값이 변한다는 의미는 이전기록이 말소되고 새로운 기록이 발생되는 개념

존재성

주식별자가 지정되면 반드시 데이터 값이 존재 (Null 안됨)

사원번호 없는 회사직원은 있을 수 없음

 

 

3. 식별자 분류 및 표기법

. 식별자 분류

분류

식별자

설명

대표성 여부

주식별자

엔터티 내에서 각 어커런스를 구분할 수 있는 구분자이며, 타 엔터티와 참조관계를 연결할 수 있는 식별자

보조식별자

엔터티 내에서 각 어커런스를 구분할 수 있는 구분자이나 대표성을 가지지 못해 참조관계 연결을 못함

스스로 생성여부

내부식별자

엔터티 내부에서 스스로 만들어지는 식별자

외부식별자

타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자

속성의 수

단일식별자

하나의 속성으로 구성된 식별자

복합식별자

둘 이상의 속성으로 구성된 식별자

대체 여부

본질식별자

업무에 의해 만들어지는 식별자

인조식별자

업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자

. 식별자 표기법

화살표로 표현...........

 

4. 주식별자 도출기준

해당업무에서 자주 이용되는 속성을 주식별자로 지정

명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않음

-> length가 길어서

복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 함

-> 자식 손자 엔티티 증손자 엔티티까지 복잡한 데이터모델이 구현됨.

 

5. 식별자관계와 비식별자관계에 따른 식별자

. 식별자관계와 비식별자 관계의 결정

엔터티 사이 관계유형은 업무특징, 자식엔터티의 주식별자구성, SQL 전략에 의해 결정

 

. 식별자관계

자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우

 

. 비식별자관계

부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용 않고 일반속성으로만 사용하는 경우

 

. 식별자 관계로만 설정할 경우의 문제점

PK속성의 수가 데이터 모델의 흐름이 길어질수록 증가 할 수밖에 없다.

 

. 비식별자 관계로만 설정할 경우의 문제점

자식엔터티로 상속이 되지 않아 자식엔터티에서 데이터를 처리할 때 쓸데없이 부모엔터티까지 찾아가는 경우 발생

 

. 식별자관계와 비식별자관계 모델링

1) 비식별자관계 선택 프로세스

자식엔터티의 독립된 주식별자 구성이 필요한지를 분석

2) 식별자와 비식별자관계 비교

항목

식별자관계

비식자관계

목적

강한 연결관계 표현

약한 연결관계 표현

자식 주식별자 영향

자식 주식별자의 구성에 포함

자식 일반 속성에 포함

표기법

실선 표현

점선 표현

연결 고려사항

- 반드시 부모엔터티 종속

- 자식 주식별자구성에 부모 주식별자포함 필요

- 상속받은 주식별자속성을 타 엔터티에 이전 필요

- 자식 주식별자구성을 독립적으로 구성

- 자식 주식별자구성에 부모 주식별자 부분 필요

- 상속받은 주식별자속성을 타 엔터티에 차단 필요

 

'Certification > SQLD' 카테고리의 다른 글

제 4 절 관계(Relationship)  (0) 2016.02.22
제 3 절 속성(Attribute)  (0) 2016.02.22
제 2 절 엔터티(Entity)  (0) 2016.02.22
제 1 절 데이터 모델의 이해  (0) 2016.02.22

+ Recent posts