14차시
데이터베이스 개념과 관계형 모델·정규화
Part 3. 데이터베이스 일반 · 출제 빈도 ★★★
이 차시를 공부하는 이유
3과목은 많은 수험생이 과락을 걱정하는 과목입니다. 하지만 이 차시의 이론 문제는 Access를 몰라도 외워서 맞힐 수 있는 영역이라, 여기서 3~4문제를 확보하면 과락 걱정이 크게 줄어듭니다.
학습 목표
데이터베이스의 정의, 장단점, 스키마 3단계를 설명할 수 있다.
DDL·DML·DCL에 속하는 명령어를 구분할 수 있다.
릴레이션 구조 용어와 키의 종류(후보키·기본키·대체키·슈퍼키·외래키)를 설명할 수 있다.
정규화의 목적과 단계, E-R 다이어그램 기호를 이해한다.
핵심 개념
1. 데이터베이스의 정의와 장단점
데이터베이스는 도서관에 비유할 수 있습니다. 책(데이터)을 한곳에 모아 분류해 두면 여러 사람이 중복 없이 찾아 쓰고, 사서(DBMS)가 대출 규칙(무결성·보안)을 관리합니다.
통합된 데이터
자료의 중복을 배제한 데이터의 모임
저장된 데이터
컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
운영 데이터
조직의 업무 수행에 반드시 필요한 자료
공용 데이터
여러 응용 시스템이 공동으로 소유·유지하는 자료
| 장점 | 단점 |
|---|---|
| 데이터 중복 최소화, 데이터 공유 | 전문가 부족, 전산화 비용 증가 |
| 일관성·무결성·보안성 유지 | 데이터 유실 시 회복이 어려움 |
| 데이터의 논리적·물리적 독립성 | 시스템이 복잡하고 처리 속도가 느림 |
2. 스키마와 데이터베이스 언어
DDL (데이터 정의어)
DB 구조를 정의·변경. CREATE, ALTER, DROP. DB 관리자·설계자가 사용
DML (데이터 조작어)
데이터 검색·삽입·수정·삭제. SELECT, INSERT, UPDATE, DELETE. 사용자와 DBMS 간 인터페이스
DCL (데이터 제어어)
보안, 무결성, 회복, 병행 제어. GRANT, REVOKE, COMMIT, ROLLBACK. DB 관리자가 사용
| 스키마 | 내용 |
|---|---|
| 외부 스키마 (서브 스키마) | 사용자·응용 프로그래머 각자의 입장에서 본 논리적 구조. 여러 개 존재 |
| 개념 스키마 | 조직 전체의 데이터베이스 구조와 제약 조건. 하나만 존재 |
| 내부 스키마 | 물리적 저장 장치 입장에서 본 구조 (레코드 형식, 저장 순서, 인덱스 등) |
- 스키마는 데이터베이스의 구조와 제약 조건을 기술한 메타데이터의 집합입니다.
- 데이터 사전(시스템 카탈로그)은 데이터베이스 개체들에 대한 정보를 관리하는 시스템 데이터베이스입니다.
- DBMS의 필수 기능: 정의 기능, 조작 기능, 제어 기능
시험 함정 포인트
'DELETE는 DDL', 'DROP은 DML'처럼 바꿔 놓은 보기를 조심하세요. DROP(구조 삭제)=DDL, DELETE(레코드 삭제)=DML입니다.
'DELETE는 DDL', 'DROP은 DML'처럼 바꿔 놓은 보기를 조심하세요. DROP(구조 삭제)=DDL, DELETE(레코드 삭제)=DML입니다.
3. 관계형 데이터베이스의 구조
<학생> 릴레이션 예시
┌────────┬────────┬──────┬──────┐ ← 속성(Attribute, 필드) 4개 = 차수(Degree) 4
│ 학번 │ 이름 │ 학과 │ 학년 │
├────────┼────────┼──────┼──────┤
│ 26001 │ 김하늘 │ 경영 │ 1 │ ← 튜플(Tuple, 레코드)
│ 26002 │ 이바다 │ 전산 │ 2 │
│ 26003 │ 박산들 │ 전산 │ 1 │ 튜플 3개 = 기수(Cardinality) 3
└────────┴────────┴──────┴──────┘
학년의 도메인 = {1, 2, 3, 4} (속성이 가질 수 있는 값의 범위)
| 용어 | 의미 |
|---|---|
| 릴레이션(테이블) | 데이터를 행과 열로 표현한 튜플의 집합 |
| 튜플(Tuple) | 테이블의 행, 레코드 |
| 속성(Attribute) | 테이블의 열, 필드. 데이터베이스의 가장 작은 논리적 단위 |
| 도메인(Domain) | 하나의 속성이 가질 수 있는 값의 범위 (성별 → 남, 여) |
| 차수(Degree) | 속성의 개수 |
| 기수(Cardinality) | 튜플의 개수 |
- 릴레이션의 특징: 튜플은 모두 다르며(중복 없음) 순서가 없고, 속성도 순서가 없으며, 속성 값은 더 나눌 수 없는 원자값입니다.
시험 함정 포인트
차수 = 열(속성) 수, 기수 = 행(튜플) 수. 헷갈리면 '기수는 개수'로 외우세요.
차수 = 열(속성) 수, 기수 = 행(튜플) 수. 헷갈리면 '기수는 개수'로 외우세요.
4. 키(Key)의 종류
| 키 | 정의 |
|---|---|
| 후보키 | 튜플을 유일하게 식별할 수 있는 속성의 집합. 유일성과 최소성을 모두 만족 |
| 기본키 | 후보키 중에서 선택한 주키. Null 불가, 중복 불가. 여러 필드를 묶어 지정 가능 |
| 대체키 | 후보키 중 기본키로 선택되지 않은 나머지 |
| 슈퍼키 | 유일성은 만족하지만 최소성은 만족하지 않는 키 |
| 외래키 | 다른 테이블의 기본키를 참조하는 속성. Null과 중복 값 입력 가능, 한 테이블에 여러 개 가능 |
- 유일성: 하나의 키 값으로 하나의 레코드만 식별 / 최소성: 식별에 꼭 필요한 속성만으로 구성
- 개체 무결성: 기본키는 Null이나 중복 값을 가질 수 없음 / 참조 무결성: 외래키 값은 참조하는 기본키 값이거나 Null이어야 함
5. 정규화와 E-R 모델
테이블에 중복이 많으면 삽입·삭제·갱신 시 이상(Anomaly) 현상이 생깁니다. 정규화는 종속성을 따져 테이블을 더 작은 테이블로 분해해 이를 방지하는 과정이며, 논리적 설계 단계에서 수행합니다.
사각형
개체(Entity) 타입
마름모
관계(Relationship) 타입
타원
속성(Attribute) 타입, 밑줄 타원은 기본키 속성
| 정규형 | 조건 |
|---|---|
| 1NF | 모든 도메인이 원자값 |
| 2NF | 부분 함수적 종속 제거 |
| 3NF | 이행적 함수 종속 제거 |
| BCNF | 결정자가 모두 후보키 |
| 4NF / 5NF | 다치 종속 제거 / 조인 종속 제거 |
- 정규화를 해도 데이터 중복을 완전히 없앨 수는 없습니다.
- E-R 모델은 1976년 피터 첸이 제안한 개념적 데이터 모델로 특정 DBMS를 고려하지 않으며, E-R 다이어그램은 개념적 설계 단계에서 작성합니다. 관계 유형은 1:1, 1:N, N:M입니다.
- 개체는 파일의 레코드, 속성은 필드에 해당합니다.
시험 함정 포인트
'정규화는 물리적 설계 단계에서 수행한다', '정규화를 하면 중복이 완전히 제거된다'는 모두 오답입니다.
'정규화는 물리적 설계 단계에서 수행한다', '정규화를 하면 중복이 완전히 제거된다'는 모두 오답입니다.
확인 문제
1 / 5
문제 1
다음 중 데이터베이스 언어의 분류가 옳지 않은 것은?
💡 정답 ④ 해설: SELECT와 DELETE는 데이터를 조작하는 DML입니다. DDL은 CREATE, ALTER, DROP입니다.
문제 2
한 릴레이션에서 속성(Attribute)의 개수를 의미하는 용어는?
💡 정답 ② 해설: 차수는 속성(열)의 개수, 기수는 튜플(행)의 개수, 도메인은 한 속성이 가질 수 있는 값의 범위입니다.
문제 3
키(Key)에 대한 설명으로 옳지 않은 것은?
💡 정답 ③ 해설: 외래키 필드에는 Null 값과 중복 값을 입력할 수 있습니다. 예를 들어 여러 학생이 같은 학과코드(외래키)를 가질 수 있습니다.
문제 4
조직 전체의 관점에서 데이터베이스의 논리적 구조를 정의한 것으로, 데이터베이스에 하나만 존재하는 스키마는?
💡 정답 ③ 해설: 개념 스키마는 조직 전체의 데이터베이스를 정의하며 하나만 존재합니다. 외부(서브) 스키마는 사용자별로 여러 개, 내부 스키마는 물리적 저장 구조입니다.
문제 5
정규화(Normalization)에 대한 설명으로 옳은 것은?
💡 정답 ③ 해설: 정규화는 논리적 설계 단계에서 테이블을 속성 수가 적은 여러 테이블로 분해하는 과정이며, 중복을 완전히 없애지는 못합니다. 2NF는 부분 함수적 종속을 제거합니다.
14차시 문제 더 풀기
확인문제와 실전 모의고사에서 이 차시 범위 문제만 모아 해설과 함께 볼 수 있습니다.