본문 바로가기
Data Engineering

[SQLD 자격검정 실전문제] Part 1-1. 30번 데이터 모델링 비식별자 관계

by 햣둘 2025. 5. 26.

정답 : 3번 

1. 엔터티와 엔터티가 1:M 관계의 부모와 자식관계에서 데이터가 부모 없이 자식 엔터티의 인스턴스가 먼저 생성될 수 있을 경우 비식별자 관계로 연결해야 함 (O)

2. 부모 엔터티의 인스턴스가 자식 엔터티보다 먼저 소멸하는 경우 비식별자 관계로 연결해야 함 (O)

3. SQL문의 조인 관계를 최소화 하는 경우 비식별자 관계로 연결해야 함 (X)

-> 엔터티가 관계를 맺게 되면 조인이 늘어나는 현상이 생김

4. 자식 엔터티의 식별자가 부모 엔터티의 주식별자를 상속받아 생성하는 것보다 별도의 주식별자를 생성하는 것이 더 유리하다고 판단되는 경우 비식별자 관계로 연결해야 함 (O) = 인조 식별자 만드는 걸 뜻함 

 

 

[요약 설명]

이 문제는 데이터 모델링에서 비식별자 관계의 개념과 그 적용 기준을 이해하고 있는지 평가함.

식별자 관계와 비식별자 관계의 차이점을 명확히 구분하고, 각 상황에 맞는 올바른 관계 설정을 판단할 수 있는 능력을 측정함.

또한, 엔터티 간의 관계 설정에서 논리적 근거와 데이터 구조 설계의 전략적 판단을 요구하는 문제임.

 

[이론적 내용]

1. 비식별자 관계의 개념

- 자식 엔터티가 독립적인 식별자를 가지며, 부모 엔터티의 주식별자를 상속받지 않는 관계

- 엔터티 간 느슨한 결합을 제공하여 유연성을 높이는 특징이 있음

 

2. 비식별자 관계 선택 기준

- 엔터티의 독립성 확보

- 데이터 생성 및 소멸의 유연성 제공

- 업무적 특성을 반영한 설계

- 성능과 유지보수성을 고려한 관계 설정

 

3. 비식별자 관계의 장단점

- 장점 : 엔터티 간 결합도가 낮아 확장성과 독립성이 높음

- 단점 : SQL 조인 시 성능 저하 가능성

- 복잡한 업무 로직이나 구조에서 유용하게 사용됨

 

 

식별자 관계 vs 비식별자 관계

[식별자 관계]

- 엔터티 간의 강한 연결관계를 표현

- ERD에서 실선으로 표현

- 부모 엔터티 인스턴스가 소멸할 때 자식 엔터티 인스턴스도 같이 소멸하는 경우 적합

- 부모 엔터티 인스턴스와 자식 엔터티 인스턴스가 생명주기(life cycle)를 같이 공유함

 

[비식별자 관계]

- 엔터티 간의 약한 연결관계를 표현

- ERD에서 점선으로 표현

- 자식 엔터티의 주식별자를 부모 엔터티와 별도로 생성하거나, 부모 엔터티 인스턴스에 참조값이 없어도 자식 엔터티 인스턴스가 생성될 수 있을 때 적합

- 부모 엔터티 인스턴스와 자식 엔터티 인스턴스가 생명주기(life cycle)를 공유하지 않음

 

식별자로 들어가면 식별자 관계

일반속성으로 들어가면 비식별자 관계