본문 바로가기

SQL

SQLD 시험 대비 - 데이터 모델링의 이해 (3)

식별자 : 엔터티 내에서 인스턴스를 구분하는 구분자, 식별자는 논리적, Key는 물리적 데이터 모델링 단계에 사용

식별자의 특징: 유일성, 최소성, 불변성, 존재성 (유최불존)

- 일성 : 주 식별자에 의해 모든 인스턴스들이 유일하게 구분 ex) 식별자의 구조 : 사원번호 ( o ), 사원번호 +분류 코드 (x) 

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

-변성 : 지정된 주 식별자의 값은 자주 변하지 않아야 함 -> 사원번호가 변하면 이전 기록 말소

- 재성 : 주 식별자가 지정되면 반드시 값이 들어와야 함  (Not Null)

 

식별자 분류 

대표성 여부 : 주 식별자, 보조 식별자

- 주 : 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자, 타 엔터티와 참조관계를 연결 0 (대표성이 있으므로)

- 보조: 구분자이나 대표성 x. 참조관계 연결 x 스스로 생성여부 : 내부 식별자, 외부 식별자

내부 : 스스로 생성하는 식별자( 엔터티 내에서 생성)

외부 : 타 엔터티로부터 받아오는 식별자 ( 자기 자신의 엔터티에서 필요한 속성 X)

→ 참조 무결성 제약조건에 따른 식별자 특징 보유

 

속성의 수 : 단일 식별자, 복합 식별자

단일 : 하나의 속성으로 구성

복합 :  2개 이상의 속성으로 구성

 

대체 여부 : 본질 식별자, 인조 식별자

본질 : 업무에 의해 만들어 지는 식별자 ex) 원래 업무적 의미 있음

인조 : 인위적으로 만든 식별자 (비즈니스 프로세스에 의해 ) ex) 일련번호, 주문번호

 

주 식별자 도출 기준

1. 해당 업무에서 자주 이용되는 속성임

2. 명칭, 내역 등과 같이 이름으로 기술되는 것은 x 

3. 복합으로 주 식별자로 구성할 경우 너무 많은 속성 x (물리 DB에서 조인으로 인한 성능저하)

==> 너무 많으면 인조 식별자 생성한다.

 

식별자 관계 ex) 비 식별자 관계에 의한 외부식별자

식별자 : 자식의 주 식별자로 부모의 주 식별자 상속

1. 부모로부터 받은 식별자를 자식 엔터티의 주 식별자로 이용하는 경우( 반드시 부모에 종속됨 ) /

부모- 자식 소멸 주기 동일

2. 강한 연결 관계 표현, 실선 표기

3. 식별자 관계로만 설정 시 주 식별자 증가로 오류 유발

 

비 식별자: 부모 속성을 자식의 일반 속성으로 사용( 상속받은 주 식별자 속성을 타 엔터티에 차단)

1. 부모 없는 자식이 생성될 수 있는 경우

2. 부모와 연결되는 속성으로만 이용

3. 부모와 자식의 생명주기가 다른 경우( 별도로 소멸)

4. 여러 개의 엔터티가 하나의 엔터티로 통합되어 표현되었는데 각각의 엔터티가 별도의 관계를 가진 경우

5. 자식 엔터티에 별도의 주 식별자를 생성하는 것이 더 유리한 경우

6. SQL 문장이 길어져 복잡성 증가되는 것 방지

- 약한 연결관계 표현, 점선 표기

- 비 식별자 관계로만 설정 시 부모 엔터티와 조인하여 성능저하 

 

반응형