본문 바로가기
Data Engineering

[SQLD 자격검정 실전문제] Part 1-2. 39번 3차 정규화 수행 시 도출되는 엔터티의 수

by 햣둘 2025. 5. 28.

정답 : 3번 엔티티 수는 7개

제시된 논리 데이터 모델을 3차 정규화까지 수행하면 7개의 엔터티가 도출됨.

엔터티에서 반복적인 속성 제거(제1정규화), 부분함수 종속 제거(제2정규화), 이행함수 종속 제거(제3정규화)를 수행하면 됨. 이 과정에서 (1)학생, (2)학과, (3)교수, (4)도서, (5)대출, (6)대출도서, (7)Lab실 이용신청 엔터티를 도출할 수 있음.

 

직접적으로 정규화를 수행하지 않더라도 학생, 학과, 교수, 도서, 대출, 대출도서는 번호라는 칼럼이 붙은 속성명을 참고하여 도출할 수 있고, Lab실 이용신청은 반복적인 속성을 통해 찾을 수 있음.


정규화 후 엔터티 수 고르는 2가지 방법

1) 정규화 없이 푸는 법 (편법)

정규화를 직접 수행하지 않고, 속성에서 '번호'를 찾아서 엔터티 도출하기

-> 이러면 제3정규화까지 대략 마무리 되는 경우가 많음

학생, 학교번호, LAB실신청번호, LAB실이용승인교수번호, 대출번호, 대출도서번호, ISBN = 총 엔티티수 7개

 

2) 정규화 해서 푸는 법

정규화를 통한 엔터티 도출과정은 아래와 같음.

 

1. 제1정규화 - 속성의 원자화, 반복속성 제거.

이 데이터 모델에서 반복그룹으로 볼 수 있는 부분은 Lab실 이용 관련 속성들임.

이 속성들을 아래와 같은 엔터티로 생성할 수 있음.

(1) LAB실이용(

   학번,

   이용순번,

   이용신청일,

   이용시작일,

   이용만기일,

   이용승인교수번호 

)

 

2. 제2정규화 - 부분함수 종속 제거.

부분함수 종속이란 복합키의 일부에만 종속되는 속성을 의미함.

이 모델에서 대출/반납을 보면 : 

- {대출번호, 도서번호)가 복합키가 될 수 있고

- 대출자번호(학번), 대출일자는 대출번호에만 종속

- 도서명, ISBN 등은 도서번호에만 종속

따라서 제2정규화를 통해 : 

(2) 대출 ( 대출번호(PK), 대출자번호(학번), 대출일자 )

(3) 대출상세 ( 대출번호(PK), 도서번호(PK), 반납일자 )

(4) LAB실이용 ( 도서번호(PK), ISBN, 도서명 )

 

3. 제3정규화 - 이행함수(일반속성 간) 종속성 제거. A->B, B->C가 있을 때 A->C가 되는 관계.

이 모델에서 이행함수 종속이 있는 부분은 아래와 같으며, 여기서 학과, 출판사, 교수 엔터티를 도출할 수 있음

(5) 학과 ( 학과번호, 학과명 )

학번 -> 학과번호

학과번호 -> 학과명

따라서 학번 -> 학과명 (이행함수 종속)

 

(6) 출판사 ( 출판사코드, 출판사명 )

도서번호 -> 출판사코드

출판사코드 -> 출판사명

따라서 도서번호 -> 출판사명 (이행함수 종속)

 

(7) 승인교수( 교수번호, 교수명 )

Lab실 이용번호 -> 승인교수번호

승인교수번호 -> 교수명

따라서 Lab실 이용번호 -> 교수명 (이행함수 종속)

 

 

[요약 설명]

이 문제는 논리 데이터 모델에서 정규화를 수행하여 엔터티의 개수를 파악할 수 있는 능력을 평가함.

특히 대출 및 반납과 같은 관계형 데이터에서 중복 데이터 제거, 함수 종속성 분석, 그리고 엔터티의 분리를 통해 데이터 모델을 설계하는 과정을 이해하고 있는지를 묻고 있음.

 

[이론적 내용]

1. 논리 데이터 모델

- 논리 데이터 모델은 데이터베이스의 구조와 관계를 명확히 표현하며, 주로 엔터티, 속성, 관계 등을 정의함

- 정규화를 통해 중복 데이터를 최소화하고, 무결성을 유지할 수 있도록 설계됨

 

2. 정규화 과정

- 제1정규형(1NF) : 속성에 중복된 그룹속성이나 다중값을 제거함

- 제2정규형(2NF) : 부분함수 종속을 제거함. 복합 키가 주식별자인 경우, 일부 속성에만 종속하는 속성을 별도로 분리함

- 제3정규형(3NF) : 이행적함수 종속을 제거함. 한 속성이 다른 속성을 통해 간접적으로 의존하는 경우 이를 분리함

 

3. 엔터티 도출 시 고려사항

- 대출자, 대출번호, 도서, 반납 등 각 개념별로 엔터티가 분리될 수 있음

- 정규화 과정에서 중복되는 데이터나 함수 종속성을 제거하면 엔터티의 수가 증가할 수 있음