정답 : 1번 (2번도 좀 애매하긴 함)
1) 정규화는 개념데이터 모델의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 한다. (X)
-> 정규화는 "논리데이터 모델"의 상세화 과정임. 엔터티의 속성 중복을 제거하여 속성이 가장 적절한 엔터티에 배치 되도록 한다. 이를 통해 논리데이터 모델의 일관성을 확보하고 중복을 제거하여, 보다 신뢰성 있는 데이터 구조를 만드는 데 목적이 있음.
2) 제1정규형은 모든 인스턴스가 반드시 하나의 값을 가져야 함을 의미한다. (O)
-> SQL 자격검정 실전문제 (노랭이) 책의 공식 정답은 1번임. 하지만 2번도 부정확한 면이 있음.
제1정규형은 '하나의 속성에 하나의 값을 가져야 하고(속성의 원자성)', '반복적인 값이 없어야 함'.
그런데 2번 보기에서는 "모든 인스턴스가 반드시 하나의 값을 가져야 함"이라고 되어있음.
일반적으로 인스턴스란 데이터 행(row)을 의미함.
속성을 의미하는 단어가 아니고, 반복적이라는 표현이 없기 때문에 부정확함.
따라서 이러한 문제가 나올 경우 논란의 소지가 있을 수 있음을 알아두면 좋음.
3) 제3정규형을 만족하는 엔터티의 일반속성은 주식별자 전체에 종속적이다. (O)
4) 반정규화는 성능을 위해 데이터 중복을 허용하는 것이지만 성능의 향상을 항상 보장하는 것은 아니다. (O)
[요약 설명]
이 문제는 데이터 모델링에서 정규화와 반정규화의 개념을 이해하고 있는지를 평가함.
특히 정규화의 단계별 조건과 속성 간의 종속관계, 그리고 성능 향상을 위한 반정규화의 특성을 명확히 이해하는 능력을 측정함.
[이론적 내용]
1. 정규화 (Normalization)
- 데이터의 중복을 제거하고 무결성을 유지하기 위해 데이터베이스의 구조를 체계적으로 설계하는 과정
- 속성들이 적절한 엔터티에 배치되도록 하여 데이터의 일관성을 확보함
- 주요단계는 제1정규형(1NF), 제2정규형(2NF), 제3정규형(3NF)로 이루어짐
2. 제1정규형 (1NF)
- 모든 속성 값이 원자값(Atomic Value)을 가져야 함
- 속성에 중복된 그룹값이나 다중값이 존재하면 제1정규형을 위반하게 됨
3. 제3정규형 (3NF)
- 제2정규형을 만족하면서 이행적 함수 종속이 없는 상태
- 일반 속성들은 주식별자에 직접적으로 종속해야 하며, 간접적인 종속관계가 없어야 함
4. 반정규화 (Denormalization)
- 성능 향상을 위해 데이터 중복을 허용하는 과정
- 조회 성능을 개선할 수 있지만, 입력/수정/삭제 성능이 저하될 수 있으므로 항상 성능이 향상되는 것은 아님
'Data Engineering' 카테고리의 다른 글
[SQLD 자격검정 실전문제] Part 1-2. 43번 정규화 설명 (0) | 2025.05.28 |
---|---|
[SQLD 자격검정 실전문제] Part 1-2. 42번 관계와 조인 (0) | 2025.05.28 |
[SQLD 자격검정 실전문제] Part 1-2. 40번 정규형 선택 문제 (0) | 2025.05.28 |
[SQLD 자격검정 실전문제] Part 1-2. 39번 3차 정규화 수행 시 도출되는 엔터티의 수 (1) | 2025.05.28 |
[SQLD 자격검정 실전문제] Part 1-2. 38번 정규형 문제 (0) | 2025.05.28 |