정보통신기사 필기

🗄️ 데이터베이스 (5과목)

🏗️ 3단계 스키마와 데이터 독립성
외부 스키마 (External) — 사용자·응용 프로그램이 보는 뷰 ↕ 논리적 데이터 독립성 개념 스키마 (Conceptual) — 조직 전체의 논리적 구조 (DB에 하나) ↕ 물리적 데이터 독립성 내부 스키마 (Internal) — 실제 저장 구조·인덱스
논리적 독립성 = 개념 스키마가 바뀌어도 응용 프로그램은 그대로
물리적 독립성 = 저장 구조가 바뀌어도 개념 스키마는 그대로
개념 스키마는 데이터베이스당 오직 하나라는 점이 자주 출제된다.
📊 관계형 모델 용어
용어의미일반 용어
릴레이션2차원 표테이블
튜플 (Tuple)릴레이션의 행(row)레코드
속성 (Attribute)릴레이션의 열(column)필드
도메인속성이 가질 수 있는 값의 범위자료형
차수 (Degree)속성(열)의 개수—
카디널리티 (Cardinality)튜플(행)의 개수—
⚠ 최다 함정 — 차수 = 열(속성) 수, 카디널리티 = 행(튜플) 수. 둘을 바꿔 놓은 보기가 반드시 나온다. 속성 5개·튜플 100개인 릴레이션이면 차수 5, 카디널리티 100.
🔑 키(Key)의 종류
키정의
슈퍼키유일성만 만족 (최소성은 없어도 됨)
후보키유일성 + 최소성 을 모두 만족
기본키 (PK)후보키 중 선택된 하나. NULL 불가, 중복 불가
대체키후보키 중 기본키로 선택되지 않은 나머지
외래키 (FK)다른 릴레이션의 기본키를 참조하는 속성. 참조 무결성의 근거
무결성 제약내용
개체 무결성기본키는 NULL이거나 중복될 수 없다
참조 무결성외래키 값은 참조 대상의 기본키에 존재하거나 NULL이어야 한다
도메인 무결성속성 값은 정의된 도메인 범위 안이어야 한다
🧹 정규화 (Normalization)
비정규 릴레이션 ↓ 도메인이 원자값만 갖도록 → 1NF ↓ 부분 함수 종속 제거 → 2NF ↓ 이행 함수 종속 제거 → 3NF ↓ 결정자이면서 후보키가 아닌 것 제거 → BCNF ↓ 다치 종속 제거 → 4NF ↓ 조인 종속 제거 → 5NF
암기 문장 — "원 부 이 결 다 조" (원자값 → 부분종속 → 이행종속 → 결정자 → 다치종속 → 조인종속). 정규화의 목적은 이상 현상(Anomaly) 제거 — 삽입 이상·삭제 이상·갱신 이상 세 가지다.
📝 SQL 분류
구분명령어용도
DDL
정의어
CREATE · ALTER · DROP · TRUNCATE스키마·테이블 구조 정의
DML
조작어
SELECT · INSERT · UPDATE · DELETE데이터 검색·조작
DCL
제어어
GRANT · REVOKE · COMMIT · ROLLBACK권한·트랜잭션 제어
⚠ 자주 틀리는 것 — DROP(구조 삭제)은 DDL, DELETE(행 삭제)는 DML이다. GRANT/REVOKE는 DCL이며 DDL이 아니다.
🔐 트랜잭션 — ACID
특성내용
원자성 Atomicity전부 반영되거나 전부 취소. 중간은 없다
일관성 Consistency실행 전후로 DB가 일관된 상태를 유지
격리성 Isolation수행 중인 트랜잭션에 다른 트랜잭션이 끼어들 수 없음
지속성 Durability성공한 결과는 영구히 반영
➗ 관계 대수
연산기호의미
SELECTσ (시그마)조건에 맞는 행(튜플) 추출 — 수평 연산
PROJECTπ (파이)지정한 열(속성) 추출 — 수직 연산
JOIN⋈공통 속성으로 두 릴레이션 결합
DIVISION÷나누는 릴레이션의 모든 값을 갖는 튜플 추출
⚠ 함정 — SQL의 SELECT문과 관계대수의 SELECT는 다르다. 관계대수 SELECT(σ)는 행 선택, PROJECT(π)가 열 선택이다.
📝 시험 포인트
• 3단계 스키마 = 외부·개념·내부, 개념 스키마는 하나뿐
• 차수 = 속성(열) 수 / 카디널리티 = 튜플(행) 수
• 후보키 = 유일성 + 최소성, 기본키는 NULL 불가
• 정규화 원-부-이-결, 목적은 이상 현상 제거
• DDL(CREATE/ALTER/DROP) · DML(SELECT/INSERT/UPDATE/DELETE) · DCL(GRANT/REVOKE)
• ACID = 원자성·일관성·격리성·지속성
• 관계대수 σ = 행, π = 열