정보처리기사 · 데이터베이스 구축
한국어 · 35장
필기 3과목 핵심 개념 35개
-
DBMS 필수 기능
정의(스키마 정의), 조작(검색·삽입·삭제·갱신), 제어(무결성·보안·병행 제어).
🔑 정의·조작·제어
-
스키마 3계층
외부 스키마(사용자 관점 뷰), 개념 스키마(조직 전체의 논리 구조), 내부 스키마(물리적 저장 구조).
🔑 외부·개념·내부
-
데이터 독립성
논리적 독립성: 개념 스키마가 바뀌어도 외부 스키마 영향 없음. 물리적 독립성: 내부 스키마가 바뀌어도 개념 스키마 영향 없음.
🔑 논리=개념↔외부, 물리=내부↔개념
-
후보키
튜플을 유일하게 식별하며(유일성) 꼭 필요한 속성만으로 구성된(최소성) 키. 슈퍼키는 유일성만 만족.
🔑 유일성+최소성 / 슈퍼키는 유일성만
-
기본키·대체키·외래키
기본키는 후보키 중 선정된 대표키(NULL 불가), 대체키는 선정되지 않은 나머지 후보키, 외래키는 다른 릴레이션의 기본키를 참조하는 키.
🔑 대체키 = 탈락한 후보키
-
무결성 제약조건
개체 무결성: 기본키는 NULL·중복 불가. 참조 무결성: 외래키는 참조하는 기본키 값이거나 NULL. 도메인 무결성: 정의된 도메인 값만 허용.
🔑 개체=기본키, 참조=외래키
-
카디널리티 vs 차수
카디널리티는 튜플(행)의 수, 차수(Degree)는 속성(열)의 수.
🔑 행=카디널리티, 열=차수
-
관계대수
원하는 데이터를 얻기 위한 연산을 순서대로 기술하는 절차적 언어. 순수 연산: 셀렉트 σ, 프로젝트 π, 조인 ⋈, 디비전 ÷.
🔑 σ=행 선택, π=열 추출
-
관계해석
원하는 정보가 무엇인지만 선언적으로 기술하는 비절차적 언어. 술어 논리 기반.
🔑 대수=절차적, 해석=비절차적
-
정규화의 목적
데이터 중복을 제거해 삽입·삭제·갱신 이상을 방지하고 일관성을 유지. 무손실 분해가 원칙.
🔑 중복 제거 → 이상 방지
-
이상(Anomaly)
정규화하지 않아 생기는 부작용 — 삽입 이상, 삭제 이상, 갱신 이상.
🔑 삽입·삭제·갱신
-
함수적 종속
속성 X 값이 정해지면 Y 값이 유일하게 정해지는 관계(X→Y). 부분 종속, 이행 종속이 정규화의 근거.
🔑 X→Y: X가 Y를 결정
-
정규형 단계
1NF: 원자값. 2NF: 부분 함수 종속 제거. 3NF: 이행 함수 종속 제거. BCNF: 모든 결정자가 후보키.
🔑 원자값→부분→이행→결정자
-
반정규화
성능 향상을 위해 의도적으로 중복을 허용하거나 테이블을 통합·분할하는 작업. 무결성 관리 부담이 커진다.
🔑 성능↑ 대신 중복 허용
-
트랜잭션 ACID
원자성(전부 수행 또는 전부 취소), 일관성, 고립성(동시 실행 간섭 차단), 지속성(완료 결과 영구 반영).
🔑 원·일·고·지
-
트랜잭션 상태
활동(Active)→부분 완료→완료(Commit) 또는 실패→철회(Rollback).
🔑 부분 완료 = Commit 직전
-
TCL
트랜잭션 제어어 — COMMIT(확정), ROLLBACK(취소), SAVEPOINT(부분 복귀 지점).
🔑 커밋·롤백·세이브포인트
-
병행 제어
여러 트랜잭션의 동시 실행에서 직렬성을 보장하는 기법 — 로킹, 타임스탬프, 낙관적 검증, MVCC.
🔑 목적 = 직렬성 보장
-
로킹 단위와 병행성
로킹 단위가 크면 병행성은 낮아지고 관리 오버헤드는 줄며, 작으면 병행성은 높아지고 오버헤드는 커진다.
🔑 단위↑ → 병행성↓ 오버헤드↓
-
회복(Recovery) 기법
장애 시 로그 기반 REDO/UNDO, 체크포인트, 그림자 페이징으로 일관된 상태로 복구.
🔑 REDO=재실행, UNDO=취소
-
DDL / DML / DCL
DDL: CREATE·ALTER·DROP·TRUNCATE. DML: SELECT·INSERT·UPDATE·DELETE. DCL: GRANT·REVOKE.
🔑 TRUNCATE는 DDL (빈출 함정)
-
GRANT / REVOKE
GRANT 권한 ON 객체 TO 사용자 [WITH GRANT OPTION] — 권한 부여. REVOKE는 회수.
🔑 WITH GRANT OPTION = 재부여 허용
-
뷰(VIEW)
기본 테이블에서 유도되는 가상 테이블. 물리적으로 저장되지 않고, 독립적 인덱스를 가질 수 없으며, 정의 변경은 불가(DROP 후 재생성).
🔑 ALTER 불가 → DROP 후 재생성
-
인덱스
검색 속도를 높이는 보조 자료구조(B-트리 등). 검색은 빨라지지만 삽입·갱신 시 유지 비용이 든다.
🔑 조회↑ 갱신 비용↑
-
시스템 카탈로그
테이블·뷰·인덱스 등 데이터베이스 객체의 메타데이터 저장소. 사용자는 SELECT만 가능, 갱신은 DBMS가 자동 수행.
🔑 사용자 직접 UPDATE 불가
-
트리거
삽입·갱신·삭제 이벤트가 발생하면 자동 실행되는 프로시저. 무결성 유지·로그 기록에 활용.
🔑 이벤트 → 자동 실행
-
파티셔닝
큰 테이블을 나눠 관리하는 기법 — 범위(Range), 해시(Hash), 리스트(List), 조합(Composite).
🔑 범위·해시·리스트
-
분산 데이터베이스의 투명성
분할(단편화), 위치, 중복, 병행, 장애 투명성 — 사용자가 분산 구조를 의식하지 않게 한다.
🔑 분·위·중·병·장
-
JOIN 종류
INNER(일치 행만), LEFT/RIGHT/FULL OUTER(불일치 쪽 NULL 포함), CROSS(모든 조합), SELF(자기 자신과).
🔑 OUTER = 없는 쪽을 NULL로 채움
-
WHERE vs HAVING
WHERE는 그룹화 전 개별 행 조건, HAVING은 GROUP BY 후 그룹에 대한 조건.
🔑 그룹 조건은 HAVING
-
서브쿼리
쿼리 안의 쿼리. IN(목록 포함), EXISTS(존재 여부), 스칼라 서브쿼리(단일 값 반환) 형태로 사용.
🔑 EXISTS = 존재 검사
-
COUNT(*) vs COUNT(열)
COUNT(*)는 NULL 포함 전체 행 수, COUNT(열)은 해당 열이 NULL이 아닌 행 수.
🔑 NULL 포함 여부 (빈출 함정)
-
옵티마이저
실행 계획을 결정하는 DBMS 구성요소. 규칙 기반(RBO)과 비용 기반(CBO)이 있으며 현대 DBMS는 CBO 위주.
🔑 요즘 기본은 비용 기반
-
DAS / NAS / SAN
DAS: 서버 직접 연결. NAS: 네트워크 통해 파일 단위 공유. SAN: 전용 광 네트워크로 블록 단위 고속 연결.
🔑 NAS=파일, SAN=블록
-
DW·데이터마트·OLAP·마이닝
데이터웨어하우스는 전사 통합 저장소, 데이터마트는 부서 단위 부분집합, OLAP은 다차원 분석, 마이닝은 숨은 패턴 발견.
🔑 마트 ⊂ 웨어하우스
비슷한 덱