41. 다음 조건을 모두 만족하는 정규형은?
❶ BCNF ② 제1정규형
③ 제2정규형 ④ 제3정규형
문제 분석:
다음 조건을 모두 만족하는 정규형을 찾는 문제입니다. 주어진 조건을 하나하나 살펴보겠습니다.
조건 1: 테이블 R에 속한 모든 도메인이 원자값만으로 구성되어 있다.
- 이 조건은 **1NF (제1정규형)**을 만족하는 조건입니다. 1NF는 테이블의 각 필드가 원자값(즉, 더 이상 분해할 수 없는 단일 값)을 가져야 한다는 규칙을 뜻합니다. 예를 들어, 학생 테이블에서 과목이라는 필드에 여러 개의 과목 이름을 나열하는 대신, 각 과목을 별도의 행으로 처리해야 합니다.
조건 2: 테이블 R에서 키가 아닌 모든 필드가 키에 대해 함수적으로 종속되며, 키의 부분 집합이 결정자가 되는 부분 종속이 존재하지 않는다.
- 이 조건은 **2NF (제2정규형)**을 만족하는 조건입니다. 2NF는 1NF를 만족하고, 부분 함수적 종속이 존재하지 않아야 합니다. 즉, 기본 키의 일부에만 의존하는 비주요 속성을 분리하는 것입니다. 부분 함수적 종속이란 기본 키의 일부 속성에 의존하는 현상으로, 이를 제거해야 합니다. 예를 들어, 학생과 과목의 관계에서 학생 번호와 과목 코드가 복합키로 사용될 때, 학생 이름이 학생 번호에만 의존한다면 이는 부분 함수적 종속에 해당하며 2NF에서는 이를 해결해야 합니다.
조건 3: 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키이다.
- 이 조건은 **BCNF (Boyce-Codd Normal Form)**를 만족하는 조건입니다. BCNF는 3NF의 특수한 경우로, 모든 함수적 종속에서 결정자가 항상 후보키여야 한다는 규칙입니다. 3NF는 비주요 속성이 다른 비주요 속성에 의존하는 것을 방지하지만, BCNF는 모든 결정자가 후보키여야 한다는 더 강력한 조건을 요구합니다.
각 정규형에 대한 설명:
- 제1정규형 (1NF):
- 테이블의 각 속성이 원자값(Atomic Value)을 가져야 한다는 규칙입니다. 즉, 각 셀에 하나의 값만 들어가야 하고, 반복되는 그룹이나 배열 등을 허용하지 않습니다. 예를 들어, 학생 테이블에서 전화번호가 여러 개일 경우 각 번호는 별도의 행으로 나누어야 합니다.
- 제2정규형 (2NF):
- 1NF를 만족하고, 기본 키의 부분 집합에 의존하는 속성이 없어야 한다는 규칙입니다. 즉, 부분 함수적 종속을 해결하는 단계입니다. 예를 들어, 복합 키를 사용하는 테이블에서 일부 속성이 복합 키의 일부에만 의존하는 경우, 이를 해결하기 위해 추가적인 분리가 필요합니다.
- 제3정규형 (3NF):
- 2NF를 만족하고, 이행적 함수적 종속(Transitive Dependency)이 제거된 상태입니다. 이행적 함수적 종속이란 A가 B에, B가 C에 종속될 때, A가 C에 간접적으로 종속되는 현상을 말합니다. 3NF에서는 비주요 속성이 다른 비주요 속성에 의존하는 것을 제거합니다.
- BCNF (Boyce-Codd Normal Form):
- BCNF는 3NF의 강력한 형태로, 모든 함수적 종속에서 결정자가 반드시 후보키여야 한다는 규칙을 추가로 요구합니다. 3NF는 일부 예외를 허용할 수 있지만, BCNF는 모든 경우에 결정자가 후보키여야 한다는 더 강력한 조건을 적용합니다.
각 보기 설명:
- ❶ BCNF:
- 정답입니다. 주어진 조건에서 모든 함수적 종속에서 결정자가 후보키여야 한다는 조건이 포함되어 있으므로, BCNF가 정답입니다. BCNF는 기본적으로 3NF를 만족하면서, 모든 함수적 종속에서 결정자가 후보키여야 한다는 더 강력한 조건을 요구합니다.
- ② 제1정규형 (1NF):
- 오답입니다. 1NF는 각 필드가 원자값이어야 한다는 조건이지만, 주어진 조건에는 부분 함수적 종속을 제거하고, 결정자가 후보키여야 한다는 조건이 포함되어 있어 1NF만으로는 충분하지 않습니다.
- ③ 제2정규형 (2NF):
- 오답입니다. 2NF는 1NF를 만족하고 부분 함수적 종속을 제거해야 하는데, 주어진 조건에서는 2NF보다 더 강력한 조건인 BCNF에 해당합니다. 2NF만으로는 조건을 모두 만족할 수 없습니다.
- ④ 제3정규형 (3NF):
- 오답입니다. 3NF는 2NF를 만족하면서 이행적 함수적 종속을 제거하는 규칙입니다. 그러나 주어진 조건에서 모든 함수적 종속에서 결정자가 후보키여야 한다는 조건은 BCNF에 해당하며, 3NF만으로는 이 조건을 만족하지 않습니다.
결론:
주어진 조건은 BCNF의 조건을 모두 만족합니다. BCNF는 3NF를 만족하면서, 모든 함수적 종속에서 결정자가 후보키여야 한다는 더 강력한 요구사항을 포함합니다. 따라서 정답은 ❶ BCNF입니다.
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2022년 2회 정보처리기사 기출문제 43번 (0) | 2025.02.25 |
---|---|
2022년 2회 정보처리기사 기출문제 42번 (0) | 2025.02.25 |
2022년 2회 정보처리기사 기출문제 40번 (0) | 2025.02.25 |
2022년 2회 정보처리기사 기출문제 39번 (0) | 2025.02.25 |
2022년 2회 정보처리기사 기출문제 39번 (0) | 2025.02.25 |