데이터베이스 설계 단계와 스키마
쉽게 말하면
데이터베이스는 여러 사람이 함께 쓰려고 모아 둔 데이터예요. 설계는 '무엇을 담을지'(요구 분석)에서 시작해 '개념도를 그리고'(개념 설계), '표 모양으로 바꾸고'(논리 설계), '실제 저장 방식을 정하고'(물리 설계), '만드는'(구현) 순서로 가요. 또 데이터베이스를 세 겹(사용자가 보는 것, 전체 구조, 실제 저장)으로 나눠 보는 3단계 스키마가 중요해요. 한 겹을 바꿔도 다른 겹이 영향을 덜 받게 하려는 거예요.
시험용 정의
데이터베이스는 통합된(중복 최소화), 저장된(저장 매체에), 운영(조직의 업무에 필요한), 공용(여러 사용자가 함께 쓰는) 데이터다. DBMS의 필수 기능은 정의(구조 정의), 조작(검색·갱신), 제어(무결성·보안·병행 제어)다. 설계 순서는 요구 조건 분석 → 개념적 설계(E-R 모델, DBMS 독립적) → 논리적 설계(관계 스키마, 정규화) → 물리적 설계(저장 구조, 인덱스) → 구현이다. 3단계 스키마는 외부 스키마(사용자·응용 프로그램 관점, 서브 스키마), 개념 스키마(조직 전체의 논리 구조, 하나만 존재), 내부 스키마(물리적 저장 구조)이며, 이 구분으로 논리적 데이터 독립성과 물리적 데이터 독립성을 얻는다. 데이터 구조에 관한 정보는 데이터 사전(시스템 카탈로그)에 저장되며 사용자는 조회만 할 수 있다.
비유로 이해하기
도서관이다. 이용자가 보는 분야별 목록(외부 스키마), 도서관 전체 분류 체계(개념 스키마), 실제 서가 위치와 보관 방식(내부 스키마). 서가 배치를 바꿔도 분류 체계와 이용자 목록은 그대로다(물리적 독립성).
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 스키마 | 데이터베이스의 구조와 제약 조건을 정의한 것 (설계도) |
| 인스턴스 | 어느 순간 실제로 저장된 데이터 값 |
| 데이터 독립성 | 한 단계의 스키마를 바꿔도 다른 단계에 영향이 없는 성질 |
| 시스템 카탈로그 | DBMS가 스스로 만들고 관리하는 데이터 구조 정보 (데이터 사전) |
| DBA | 데이터베이스 관리자. 스키마 정의, 보안·백업 정책 관리 |
설계 단계별로 하는 일
| 단계 | 하는 일 | 산출물 |
|---|---|---|
| 요구 조건 분석 | 사용자 요구 수집·분석 | 요구 조건 명세서 |
| 개념적 설계 | E-R 모델링, 트랜잭션 모델링. DBMS에 독립적 | 개념 스키마(E-R 다이어그램) |
| 논리적 설계 | 특정 DBMS 모델(관계형)에 맞게 변환, 정규화, 트랜잭션 인터페이스 설계 | 논리 스키마(테이블) |
| 물리적 설계 | 레코드 형식, 저장 구조, 인덱스, 접근 경로, 응답 시간·저장 공간 고려 | 물리 스키마 |
| 구현 | DDL로 데이터베이스 생성 | 실제 DB |
3단계 스키마
| 스키마 | 관점 | 특징 |
|---|---|---|
| 외부 | 개별 사용자·응용 프로그램 | 여러 개 존재 (서브 스키마) |
| 개념 | 조직 전체 | 하나만 존재. 무결성·보안 규칙 포함 |
| 내부 | 물리적 저장 장치 | 레코드 형식, 인덱스, 저장 순서 |
데이터 독립성
- 논리적 독립성: 개념 스키마를 바꿔도 외부 스키마(응용 프로그램)는 영향 없음
- 물리적 독립성: 내부 스키마(저장 구조)를 바꿔도 개념 스키마는 영향 없음
기출에서 더 나온 것
| 말 | 뜻 |
|---|---|
| CRUD 분석 | 프로세스와 테이블을 행렬로 놓고 생성(C)·읽기(R)·갱신(U)·삭제(D) 관계를 표시해 트랜잭션을 분석하는 방법 |
| 데이터 모델의 연산 (Operation) | 데이터 구조에 표현된 값을 처리하는 작업 |
| 데이터 모델의 제약 조건 (Constraint) | 데이터가 지켜야 할 논리적 규칙 |
시험에 이렇게 나와요
- 설계 순서 → 요구 분석 → 개념적 → 논리적 → 물리적 → 구현
- 개념적 설계 → E-R 다이어그램, DBMS와 무관한 개념 스키마 / 논리적 설계 → 목표 DBMS 스키마, 트랜잭션 인터페이스
- 물리적 설계 → 저장 레코드 양식, 레코드 집중 분석, 접근 경로 설계, 응답 시간·저장 공간·처리량 고려
- 3단계 스키마 → 외부(사용자 관점)·개념(전체 논리 구조)·내부(물리 저장)
- 시스템 카탈로그(데이터 사전) → DBMS가 스스로 관리, 사용자는 조회만 가능
- 데이터 모델 구성 요소 → 구조·연산·제약 조건 (출력 구조는 아님)
확인 문제
Q1. E-R 다이어그램을 만들어 현실 세계를 개념적으로 표현하는 데이터베이스 설계 단계는?
- 요구 조건 분석
- 논리적 설계
- 개념적 설계
- 물리적 설계
정답 보기
3번 개념적 설계
개념적 설계에서 E-R 다이어그램으로 개념 스키마를 만든다. 논리적 설계는 그것을 DBMS에 맞는 테이블(관계 스키마)로 바꾸고 정규화하며, 물리적 설계는 저장 구조·인덱스·접근 경로를 정한다.
Q2. 데이터베이스 설계 단계 중 논리적 설계에서 하는 일은?
- 정규화와 관계 스키마 작성
- 저장 레코드 양식 설계
- E-R 다이어그램 작성
- 접근 경로 설계
정답 보기
1번 정규화와 관계 스키마 작성
논리적 설계에서 테이블 구조로 바꾸고 정규화한다.
Q3. DBMS의 필수 기능 중 무결성, 보안, 병행 제어를 담당하는 것은?
- 변환 기능
- 조작 기능
- 정의 기능
- 제어 기능
정답 보기
4번 제어 기능
제어 기능이다. 데이터를 정확하고 안전하게 유지한다. 정의 기능은 구조를 정하고, 조작 기능은 검색·삽입·삭제·수정을 한다.
Q4. 조직 전체의 관점에서 데이터베이스의 논리 구조를 정의하며 하나만 존재하는 스키마는?
- 서브 스키마
- 외부 스키마
- 개념 스키마
- 내부 스키마
정답 보기
3번 개념 스키마
개념 스키마다. 전체 논리 구조로 하나만 있다. 외부 스키마는 사용자마다 보는 부분(여러 개), 내부 스키마는 물리적 저장 구조다.
Q5. 시스템 카탈로그에 대한 설명으로 틀린 것은?
- 일반 사용자가 직접 INSERT로 갱신한다
- 데이터베이스 구조 정보를 담는다
- 데이터 사전이라고도 한다
- DBMS가 스스로 생성·유지한다
정답 보기
1번 일반 사용자가 직접 INSERT로 갱신한다
사용자는 SQL로 조회만 할 수 있고 갱신은 DBMS가 한다.
헷갈리기 쉬운 O·X
개념적 설계는 특정 DBMS에 맞춰 진행한다.
정답 보기
X 개념적 설계는 DBMS에 독립적이다. DBMS를 고려하는 건 논리적 설계부터.
내부 스키마를 바꿔도 개념 스키마가 영향을 받지 않는 것을 물리적 데이터 독립성이라 한다.
정답 보기
O
외부 스키마는 데이터베이스 하나에 오직 하나만 존재한다.
정답 보기
X 사용자별로 여러 개. 하나만 있는 건 개념 스키마.