ERD·표기법 완벽 정리
ERD 구성요소·IE vs Barker 표기법·3층 스키마·데이터 독립성까지 한눈에 정리
1. 데이터 모델링 개요
데이터 모델링이란?
현실 세계의 업무 데이터를 추상화하여 데이터베이스로 구현하기 위한 설계 과정이다. 업무가 관여하는 어떤 것(Things)의 개념을 정의하고, 관계를 표현하는 작업이다.
데이터 모델링의 3가지 요소
- • Things (업무가 관여하는 어떤 것) → 엔터티
- • Attributes (어떤 것의 성격) → 속성
- • Relationships (어떤 것 간의 관계) → 관계
데이터 모델링 단계
| 단계 | 내용 | 산출물 |
|---|---|---|
| 개념적 모델링 | 핵심 엔터티와 관계를 추상적으로 도출 | 개념 ERD |
| 논리적 모델링 | 속성, 식별자, 정규화 등 상세 설계 | 논리 ERD |
| 물리적 모델링 | 특정 DBMS에 맞게 테이블/컬럼/인덱스 설계 | 물리 ERD / DDL |
2. ERD(Entity Relationship Diagram) 구성요소
ERD란?
엔터티, 속성, 관계를 시각적으로 표현한 다이어그램이다. 1976년 Peter Chen이 최초로 제안했다.
ERD의 3가지 구성요소
| 구성요소 | 설명 | 표기 |
|---|---|---|
| 엔터티(Entity) | 업무에서 관리할 데이터 집합 | 사각형 |
| 관계(Relationship) | 엔터티 간의 연관성 | 선(실선/점선) |
| 속성(Attribute) | 엔터티의 특성 | 엔터티 내부에 나열 |
ERD 작성 순서
- 1. 엔터티를 그린다 (사각형)
- 2. 엔터티를 적절하게 배치한다
- 3. 엔터티 간 관계를 설정한다
- 4. 관계명을 기술한다
- 5. 관계의 참여도를 기술한다 (차수, 선택사양)
- 6. 관계의 필수/선택 여부를 기술한다
ERD 배치 규칙
가장 중요한 엔터티를 왼쪽 상단에 배치하고, 관계가 있는 엔터티를 가까이 배치한다. 교차하는 관계선을 최소화하는 것이 좋은 ERD이다.
3. IE 표기법 vs Barker 표기법
핵심 비교 테이블
| 항목 | IE 표기법 | Barker 표기법 |
|---|---|---|
| 별칭 | Information Engineering, 까마귀발(Crow's Foot) | Oracle Method, Case*Method |
| 엔터티 모양 | 사각형 | 모서리가 둥근 사각형 |
| 관계 표시 | 까마귀발 기호 사용 | 선 위에 기호 표시 |
| 1:M 표현 | 까마귀발(삼지창)로 M쪽 표시 | 점선(선택)/실선(필수)으로 표시 |
| 필수/선택 | | (필수), O (선택) | 실선(필수), 점선(선택) |
| 식별관계 | 실선 | 실선(UID Bar) |
| 비식별관계 | 점선 | 점선 |
| PK 표시 | 엔터티 상단 영역에 표시 | 속성 앞에 # 기호 |
| NOT NULL | 별도 표기 | 속성 앞에 * (필수), o (선택) |
IE 표기법 특징
James Martin이 제안한 표기법으로 까마귀발(Crow's Foot) 기호가 특징이다. 다수(Many) 쪽에 삼지창 모양을 사용하여 직관적으로 차수를 표현한다. 가장 널리 사용되는 표기법이다.
Barker 표기법 특징
Richard Barker가 제안한 표기법으로 Oracle에서 주로 사용된다. 엔터티를 모서리가 둥근 사각형으로 표현하고, 속성의 필수/선택 여부를 * (필수)와 o (선택)로 표기한다.
Barker 표기법 속성 기호
| 기호 | 의미 | 설명 |
|---|---|---|
| # | 식별자(PK) | 주식별자 속성 앞에 표시 |
| * | 필수(NOT NULL) | 반드시 값이 존재 |
| o | 선택(NULL 가능) | 값이 없을 수 있음 |
4. 3층 스키마 구조 (ANSI/SPARC)
3층 스키마란?
ANSI/SPARC에서 제안한 데이터베이스 구조로, 데이터를 3단계(외부·개념·내부)로 분리하여 데이터 독립성을 확보하기 위한 아키텍처이다.
3층 스키마 비교
| 스키마 | 관점 | 설명 | 대상 |
|---|---|---|---|
| 외부 스키마 | 사용자 관점 | 각 사용자가 보는 개인적 DB 구조 (View) | 응용 프로그래머, 사용자 |
| 개념 스키마 | 통합 관점 | 모든 사용자의 통합된 전체 DB 구조 | DBA, 설계자 |
| 내부 스키마 | 물리적 관점 | 데이터의 물리적 저장 구조 (인덱스, 파일 등) | 시스템 프로그래머 |
3층 스키마 핵심 암기
외부 (사용자 뷰) ↕ 개념 (전체 논리 구조) ↕ 내부 (물리 저장)
5. 데이터 독립성
데이터 독립성이란?
하위 스키마가 변경되어도 상위 스키마에 영향을 미치지 않는 성질이다. 3층 스키마 구조의 핵심 목적이다.
논리적 독립성 vs 물리적 독립성
| 구분 | 논리적 독립성 | 물리적 독립성 |
|---|---|---|
| 정의 | 개념 스키마 변경 → 외부 스키마 영향 없음 | 내부 스키마 변경 → 개념 스키마 영향 없음 |
| 매핑 | 외부/개념 매핑 | 개념/내부 매핑 |
| 예시 | 테이블 구조 변경해도 응용 프로그램 영향 없음 | 저장 방식 변경해도 논리 구조 영향 없음 |
매핑(Mapping)의 역할
- • 외부/개념 매핑 (논리적 사상) — 사용자 뷰와 전체 논리 구조 간의 변환
- • 개념/내부 매핑 (물리적 사상) — 논리 구조와 물리 저장 구조 간의 변환
6. 데이터 모델링 주요 개념
데이터 모델링의 3가지 관점
- • 데이터 관점 — 업무가 어떤 데이터와 관련이 있는지 (What)
- • 프로세스 관점 — 업무가 어떻게 수행되는지 (How)
- • 상관 관점 — 데이터와 프로세스의 상호 영향 관계 (Interaction)
좋은 데이터 모델의 조건
- • 완전성(Completeness) — 업무에 필요한 데이터가 모두 정의
- • 중복 배제(Non-Redundancy) — 동일 데이터가 여러 곳에 저장되지 않음
- • 비유연성(Business Adaptability) — 업무 변화에 유연하게 대응 가능
- • 데이터 재활용 — 통합 모델로 다양한 업무에서 재사용 가능
- • 의사소통 — 이해관계자 간 원활한 커뮤니케이션 도구
- • 통합성 — 동일 데이터는 한 곳에서 관리
7. 주요 표기법 비교 정리
4대 표기법
| 표기법 | 제안자 | 특징 |
|---|---|---|
| Chen 표기법 | Peter Chen | 최초 ER 모델, 마름모로 관계 표현 |
| IE 표기법 | James Martin | 까마귀발, 가장 널리 사용 |
| Barker 표기법 | Richard Barker | Oracle 사용, #/*/ o 기호 |
| UML | OMG | 객체지향 모델링, 클래스 다이어그램 |
8. 시험 빈출 포인트
자주 출제되는 유형
- • 3층 스키마 각 층의 역할 — 외부(사용자 뷰), 개념(전체 논리), 내부(물리 저장)
- • 논리적 독립성 vs 물리적 독립성 — 어떤 스키마 간의 독립성인지 구분
- • IE vs Barker 표기법 차이 — 엔터티 모양, PK 표시 방법, 필수/선택 표기
- • ERD 작성 순서 — 엔터티 → 배치 → 관계 → 관계명 → 참여도 → 필수/선택
- • 데이터 모델링 3단계 — 개념적 → 논리적 → 물리적
- • Barker 표기법 기호 — # (PK), * (필수), o (선택)
함정 선지 주의
- • "외부 스키마는 물리적 저장 구조를 나타낸다" — 틀림. 물리적 저장은 내부 스키마
- • "3층 스키마의 목적은 성능 향상이다" — 틀림. 목적은 데이터 독립성 확보
- • "개념적 모델링에서 정규화를 수행한다" — 틀림. 정규화는 논리적 모델링 단계
- • "IE 표기법에서 # 기호를 사용한다" — 틀림. # 기호는 Barker 표기법
개념을 확인했다면 문제로 실력을 검증해보세요