컴활 데이터베이스 과목, 이것만 알면 과락 없다 (핵심 개념 정리)
데이터베이스 과목, 왜 어렵게 느껴질까?
컴활 필기 3과목 중 데이터베이스 일반은 "처음 보는 용어가 너무 많다"는 이유로 많은 수험생이 어려워하는 과목입니다. 하지만 실제 출제 패턴을 분석해보면, 반복 출제되는 핵심 개념이 정해져 있어 전략적으로 공부하면 가장 빠르게 점수를 올릴 수 있는 과목이기도 합니다.
이 글에서는 최근 기출 데이터를 바탕으로 꼭 알아야 할 핵심 개념만 정리했습니다.
1. SQL 문법 (매회 5~7문제)
데이터베이스 과목에서 가장 많이 출제되는 영역입니다. SQL은 외우는 것보다 구조를 이해하는 것이 중요합니다.
SELECT 문 핵심 구조
SELECT 컬럼명
FROM 테이블명
WHERE 조건
GROUP BY 그룹기준
HAVING 그룹조건
ORDER BY 정렬기준;
자주 나오는 포인트:
WHERE과HAVING의 차이: WHERE는 그룹화 전 필터, HAVING은 그룹화 후 필터ORDER BY: ASC(오름차순, 기본값), DESC(내림차순)GROUP BY와 집계함수: COUNT, SUM, AVG, MAX, MIN
DML / DDL / DCL 구분
| 구분 | 명령어 | 설명 |
|---|---|---|
| DDL (정의어) | CREATE, ALTER, DROP, TRUNCATE | 테이블 구조 변경 |
| DML (조작어) | SELECT, INSERT, UPDATE, DELETE | 데이터 조회/변경 |
| DCL (제어어) | GRANT, REVOKE, COMMIT, ROLLBACK | 권한/트랜잭션 관리 |
시험 포인트: "TRUNCATE는 DDL이다" — DELETE(DML)와 혼동하기 쉬운 단골 출제 포인트입니다.
2. 정규화 (매회 2~3문제)
정규화는 데이터 중복을 제거하고 이상(Anomaly)을 방지하기 위한 과정입니다.
정규화 단계 한눈에 보기
| 단계 | 핵심 조건 | 한 줄 설명 |
|---|---|---|
| 1NF | 원자값 | 모든 속성이 더 이상 분해할 수 없는 값 |
| 2NF | 완전 함수 종속 | 부분 함수 종속 제거 |
| 3NF | 이행 함수 종속 제거 | A→B→C일 때, A→C 제거 |
| BCNF | 모든 결정자가 후보키 | 3NF 강화 버전 |
자주 나오는 포인트:
- 이상(Anomaly)의 종류: 삽입 이상, 삭제 이상, 갱신 이상
- 반정규화: 성능 향상을 위해 의도적으로 중복을 허용하는 것
- "제3정규형이면서 모든 결정자가 후보키" = BCNF
3. 관계 대수와 관계 해석 (매회 1~2문제)
관계 대수 핵심 연산
| 연산 | 기호 | 설명 |
|---|---|---|
| 셀렉트(Select) | σ (시그마) | 조건에 맞는 행(튜플) 선택 |
| 프로젝트(Project) | π (파이) | 특정 열(속성) 선택 |
| 조인(Join) | ⋈ | 두 릴레이션을 조건으로 결합 |
| 디비전(Division) | ÷ | 모든 조건을 만족하는 튜플 선택 |
시험 포인트: σ는 행 선택(WHERE), π는 열 선택(SELECT)과 대응됩니다. 기호와 의미를 반드시 구분하세요.
4. 키(Key)의 종류 (매회 1~2문제)
| 키 | 설명 |
|---|---|
| 슈퍼키 | 유일성을 만족하는 속성 집합 |
| 후보키 | 유일성 + 최소성 |
| 기본키(PK) | 후보키 중 선택된 하나, NULL 불가 |
| 대체키 | 후보키 중 기본키가 아닌 것 |
| 외래키(FK) | 다른 테이블의 기본키를 참조 |
자주 나오는 함정: "슈퍼키는 최소성을 만족한다" → 틀림! 슈퍼키는 유일성만 만족, 최소성은 후보키의 조건입니다.
5. 트랜잭션 특성 — ACID (매회 1문제)
| 특성 | 영문 | 설명 |
|---|---|---|
| 원자성 | Atomicity | 전부 실행되거나 전부 취소 |
| 일관성 | Consistency | 실행 전후 DB 상태 일관 |
| 독립성 | Isolation | 동시 트랜잭션 간 간섭 없음 |
| 영속성 | Durability | 완료된 결과는 영구 반영 |
6. ER 다이어그램 (매회 1~2문제)
| 기호 | 의미 |
|---|---|
| □ (사각형) | 개체(Entity) |
| ◇ (마름모) | 관계(Relationship) |
| ○ (타원) | 속성(Attribute) |
| ═ (이중선) | 전체 참여 |
자주 나오는 포인트: 다중값 속성(이중 타원), 유도 속성(점선 타원), 복합 속성 구분
7. 인덱스와 뷰 (매회 1~2문제)
인덱스
- B-트리 인덱스: 범위 검색에 효율적, 가장 일반적
- 해시 인덱스: 동등 비교(=)에 효율적, 범위 검색 불가
- 클러스터드 인덱스: 테이블당 1개, 데이터 물리적 정렬
뷰(View)
- 가상 테이블 (실제 데이터 저장 X)
- 보안 (특정 컬럼만 공개), 편의성 (복잡한 쿼리 단순화)
- 뷰를 통한 DML: 단순 뷰는 가능, 집계함수·조인이 포함된 뷰는 제한
실전 공략 TIP
1. SQL은 직접 써보기
문제를 읽기만 하면 헷갈리지만, 실제로 쿼리 결과를 머릿속으로 그려보면 이해가 빨라집니다. 패스뱅크의 무한문제에서 데이터베이스 과목만 필터링해서 반복 풀어보세요.
2. 용어 암기보다 관계 이해
"정규화 단계를 외웠는데 문제를 못 풀겠다"는 경우가 많습니다. 각 단계가 어떤 문제를 해결하는지 이해하면 응용 문제도 풀 수 있습니다.
3. 오답노트 적극 활용
데이터베이스 과목은 비슷한 개념끼리 헷갈리는 경우가 많습니다 (DDL vs DML, 후보키 vs 슈퍼키 등). 오답노트에서 틀린 이유를 꼭 확인하고, 같은 유형을 반복 풀어보세요.
4. 과락 방지 전략
데이터베이스 20문제 중 8문제 이상 맞으면 과락 회피(40점)입니다. SQL 5~7문제 + 정규화 2~3문제만 확실히 잡아도 과락은 피할 수 있습니다.
마무리
데이터베이스 과목은 처음엔 생소하지만, 핵심 개념을 잡으면 가장 안정적으로 점수를 확보할 수 있는 과목입니다. 위 7가지 핵심 영역을 중심으로 기출문제를 반복 풀면서 취약한 부분을 보완해 나가세요.
패스뱅크에서 데이터베이스 일반 과목만 선택해서 집중 학습할 수 있습니다. 지금 바로 시작해보세요!