| 32번째 줄: | 32번째 줄: | ||
|- | |- | ||
| rowspan="4" | 2장 데이터 모델과 SQL | | rowspan="4" | 2장 데이터 모델과 SQL | ||
| 정규화 (1NF~3NF, 함수 종속) || ★★★ || [[데이터 모델링 정규화 심화]] | | 정규화 (1NF~3NF, 함수 종속) || ★★★ || [[데이터 모델링 정규화 심화|정규화 심화]] | ||
|- | |- | ||
| 관계와 조인, 트랜잭션 모델링 || ★★ || | | 관계와 조인, 트랜잭션 모델링 || ★★ || | ||
2026년 11월 4일 (수) 12:41 판
연계 · 데이터 모델링 입문 1~8주차 문항 · 자체 제작
ℹ 이 문서는 실제 기출 문항을 옮긴 것이 아니라, 자주 출제되는 개념과 유형을 정리하고 그에 맞춰 직접 만든 예상 문제로 구성했다. 시험 범위·문항 수·배점은 시행 기관(한국데이터산업진흥원) 공지를 반드시 확인한다.
1. 출제 범위 한눈에 보기
| 장 | 세부 주제 | 빈출도 | 학습 문서 |
|---|---|---|---|
| 1장 데이터 모델링의 이해 | 모델링의 특징·관점·3단계 | ★★★ | 입문 1~2장 |
| 엔터티 특징·분류 | ★★★ | 입문 3.1 | |
| 속성 분류·도메인 | ★★ | 입문 3.2 | |
| 관계 (차수·선택성·식별/비식별) | ★★★ | 입문 3.3 | |
| 식별자 분류·주식별자 특징 | ★★★ | 입문 3.4 | |
| 2장 데이터 모델과 SQL | 정규화 (1NF~3NF, 함수 종속) | ★★★ | 정규화 심화 |
| 관계와 조인, 트랜잭션 모델링 | ★★ | ||
| NULL 속성의 이해 | ★★ | ||
| 본질식별자 vs 인조식별자 | ★★ | 입문 3.4 |
2. 핵심 암기 카드
모델링의 3가지 특징
추상화 · 단순화 · 명확화(정확화)
모델링의 3가지 관점
데이터(What) · 프로세스(How) · 상관(Interaction)
3단계 스키마
외부(사용자) · 개념(통합) · 내부(물리) — 논리적/물리적 독립성
엔터티 발생시점 분류
기본(키) · 중심(메인) · 행위
속성 특성 분류
기본 · 설계 · 파생 속성 / 구성 방식: PK · FK · 일반 속성
주식별자 4대 특징
유일성 · 최소성 · 불변성 · 존재성
관계 표기 3요소
관계명 · 관계차수(Cardinality) · 관계선택사양(Optionality)
ERD 작성 6단계
엔터티 그리기 → 배치 → 관계 설정 → 관계명 → 관계차수 → 선택사양
3. 자주 나오는 함정 포인트
| 주제 | 틀리기 쉬운 진술 | 올바른 내용 |
|---|---|---|
| 엔터티 | "인스턴스가 1개여도 엔터티가 될 수 있다" | ✕ — 2개 이상의 인스턴스 집합이어야 한다 |
| 엔터티 | "관계가 없으면 엔터티가 아니다" | △ — 원칙은 관계 필수, 단 코드·통계·로그성 엔터티는 예외 허용 |
| 속성 | "하나의 속성은 여러 값을 가질 수 있다" | ✕ — 한 인스턴스에서 속성은 하나의 값만 (다중값은 1NF 위반) |
| 파생 속성 | "파생 속성은 많을수록 좋다" | ✕ — 정합성 유지 비용 때문에 가급적 최소화 |
| 식별자 | "주식별자 값은 업무에 따라 변경될 수 있다" | ✕ — 불변성 |
| 식별 관계 | "식별 관계가 많을수록 SQL이 단순해진다" | △ — 조인은 줄지만 하위로 갈수록 PK 컬럼 수 증가로 SQL WHERE 절 복잡 |
| 비식별 관계 | "자식이 부모 없이 생성될 수 있으면 식별 관계" | ✕ — 부모 없이 생성 가능하면 비식별 관계 대상 |
| 정규화 | "정규화는 항상 조회 성능을 떨어뜨린다" | ✕ — 중복 제거로 입력·수정·삭제 성능은 향상, 조회도 경우에 따라 향상 |
| 2NF | "단일 컬럼 PK 테이블도 2NF 위반이 가능하다" | ✕ — 부분 종속은 복합키에서만 발생 |
| NULL | "NULL 포함 연산 결과는 0이다" | ✕ — 산술 연산 결과는 NULL, 집계 함수는 NULL을 제외하고 계산 |
4. 예상 문제 (자체 제작)
Q1. 데이터 모델링의 특징으로 가장 거리가 먼 것은?
① 추상화 ② 단순화 ③ 명확화 ④ 구체화
정답 ④ — 모델링은 현실을 일정한 형식으로 추상화하고, 누구나 이해하도록 단순화하며, 애매함을 제거해 명확화하는 것이다.
Q2. 다음 중 중심(메인) 엔터티에 해당하는 것은?
① 고객 ② 상품 ③ 주문 ④ 주문상태변경이력
정답 ③ — 고객·상품은 독립적으로 생성되는 기본 엔터티, 주문은 기본 엔터티로부터 발생하는 중심 엔터티, 상태변경이력은 행위 엔터티다.
Q3. 주문 엔터티의 '주문총금액' 속성이 주문상세의 (수량 × 단가) 합계로 계산된다면 이 속성의 분류는?
① 기본 속성 ② 설계 속성 ③ 파생 속성 ④ 복합 속성
정답 ③ — 다른 속성으로부터 계산되어 만들어지는 속성은 파생 속성이다. 데이터 정합성을 위해 사용을 최소화한다.
Q4. 주식별자에 대한 설명으로 옳지 않은 것은?
① 모든 인스턴스를 유일하게 구분해야 한다.
② 유일성을 만족하는 한 속성 수가 많을수록 좋다.
③ 지정된 값은 자주 변하지 않아야 한다.
④ 반드시 값이 존재해야 한다.
정답 ② — 최소성: 유일성을 만족하는 최소한의 속성으로 구성해야 한다.
Q5. 부모 엔터티의 주식별자가 자식 엔터티의 주식별자 일부로 상속되는 관계는?
① 식별 관계 ② 비식별 관계 ③ 순환 관계 ④ 배타 관계
정답 ① — 식별 관계는 실선, 비식별 관계(일반 속성으로 상속)는 점선으로 표기한다.
Q6. 비식별 관계로 설정하는 것이 적절한 경우가 아닌 것은?
① 자식 엔터티가 부모 없이 독립적으로 생성될 수 있는 경우
② 부모의 PK를 상속받아 자식의 PK가 지나치게 길어지는 경우
③ 자식이 부모 데이터에 강하게 종속되어 부모 없이는 의미가 없는 경우
④ 부모 삭제 시 자식이 남아 있어야 하는 경우
정답 ③ — 부모 없이는 존재 의미가 없는 강한 종속 관계는 식별 관계가 적합하다.
Q7. 수강(학번, 과목코드, 성적, 과목명) 테이블에서 과목명이 과목코드에만 종속된다. 이 테이블은 어떤 정규형을 위반하는가?
① 1NF ② 2NF ③ 3NF ④ BCNF
정답 ② — 복합키의 일부(과목코드)에만 종속되는 부분 함수 종속이므로 2NF 위반이다. 과목(과목코드, 과목명)을 분리한다.
Q8. 사원(사원번호, 부서코드, 부서명)에서 사원번호 → 부서코드 → 부서명 관계가 성립한다. 해당하는 종속과 위반 정규형은?
① 부분 종속 – 2NF ② 이행 종속 – 3NF ③ 다치 종속 – 4NF ④ 조인 종속 – 5NF
정답 ② — 키가 아닌 속성(부서코드)을 거쳐 부서명이 결정되는 이행 함수 종속이다.
Q9. 다음 중 반정규화를 적용하기 전에 먼저 검토할 대안으로 보기 어려운 것은?
① 뷰(View) 생성 ② 파티셔닝 ③ 인덱스 조정 ④ 중복 컬럼 추가
정답 ④ — 중복 컬럼 추가 자체가 반정규화 기법이다. 뷰, 클러스터링, 인덱스, 파티셔닝, 애플리케이션 처리 등을 먼저 검토한다.
Q10. 컬럼 SAL의 값이 (100, NULL, 300)일 때 SUM(SAL), AVG(SAL), COUNT(SAL), COUNT(*)의 결과로 옳은 것은?
① 400, 133.3, 3, 3 ② 400, 200, 2, 3 ③ NULL, NULL, 2, 3 ④ 400, 200, 3, 3
정답 ② — 집계 함수는 NULL을 제외한다. SUM=400, AVG=400/2=200, COUNT(SAL)=2. COUNT(*)는 행 수이므로 3.
Q11. 슈퍼타입/서브타입을 하나의 테이블로 통합(Single Type)하는 방식이 적합한 경우는?
① 서브타입별 속성이 매우 많은 경우
② 데이터 양이 적고 슈퍼·서브타입을 통합하여 처리하는 경우가 많은 경우
③ 서브타입별로 독립적인 트랜잭션이 대부분인 경우
④ 서브타입별 데이터 양이 매우 큰 경우
정답 ② — 통합 방식은 조인이 없어 통합 처리에 유리하나, 서브타입 속성이 많으면 NULL 컬럼이 많아지고 테이블이 커진다.
Q12. 3단계 스키마 구조에서 "저장 구조가 변경되어도 개념 스키마에 영향을 주지 않는 것"을 무엇이라 하는가?
① 논리적 독립성 ② 물리적 독립성 ③ 외부 독립성 ④ 개념적 독립성
정답 ② — 내부(물리) ↔ 개념 사이는 물리적 독립성, 개념 ↔ 외부 사이는 논리적 독립성이다.
5. 시험 직전 30분 체크
□ 엔터티 조건 6가지와 예외(코드·통계·로그)
□ 엔터티 분류: 유무형(유형·개념·사건) / 발생시점(기본·중심·행위)
□ 속성 분류: 기본·설계·파생 / 도메인 정의
□ 관계: 관계명·차수·선택사양, 식별(실선) vs 비식별(점선)
□ 식별자 분류 4기준 (대표성·생성·속성 수·대체 여부) + 주식별자 4대 특징
□ 1NF(원자값) · 2NF(부분 종속) · 3NF(이행 종속) · BCNF(결정자=후보키)
□ 반정규화 기법 (테이블·컬럼·관계) 및 선행 대안
□ NULL의 연산·비교·집계 규칙
학습 문서 → 데이터 모델링 입문 · 정규화 심화 · ERD 작성 실습 · Oracle 물리 설계