1. 데이터 모델링 개요
(1) 데이터 모델링의 개념과 특징
모델링?
공통된 것. 공통된 것을 잘 모아서 설명해보자.
아주 구체적인 것 보다는 상위 레벨(=추상화된 단계)에서 공통된 속성을 중심으로 설명해보자
- 데이터 모델링의 접근 관점
- 데이터 관점, 프로세스 관점
- 데이터와 프로세스 관점
(2) 데이터베이스 3단계 스키마(Three Level Schema)
데이터베이스 3단계 스키마란?
ANSI/SPARC이 제안, 데이터베이스의 구조를 3가지 추상화 수준으로 설계하는 방법
⇒ 외부 스키마, 개념 스키마, 내부 스키마 구조로 독립성 확보, 유연성 제공

- 데이터베이스 3단계 스키마의 구조와 특징
- 외부 스키마(External Schema)
- 개별 사용자 관점에서 데이터베이스를 표현
- 사용자마다 다른 관점으로 데이터베이스를 볼 수 있음
- 서브 스키마(Sub Schema)라고도 불림
- 특정 응용에 한정된 논리적 데이터 구조를 정의
- 개념 스키마(Conceptual Schema)
- 조직 전체 관점에서의 통합된 데이터베이스 구조
- 모든 사용자에게 필요한 데이터를 통합, 전체 데이터베이스의 논리적 구조를 정의
- 데이터베이스 하나에 개념 스키마 하나만 존재
- 데이터 간의 관계, 제약조건, 접근권한, 보안정책 등을 포함
- 내부 스키마(Internal Schema)
- 물리적 저장장치 관점에서 데이터베이스를 표현
- 실제 데이터가 저장되는 방법을 정의
- 내부 레코드 형식, 인덱스 유무, 데이터 저장 구조 등을 포함
- 데이터베이스 하나에 내부 스키마 하나만 존재
데이터베이스 3단계 모델링의 개념
데이터베이스 모델링을 개념적 모델링, 논리적 모델링, 물리적 모델링의 3단계로 수행하는 방법

- 데이터베이스 3단계 모델링의 구조와 특징
- 개념적 모델링 (Conceptual Modeling): ERD(Entity-Relationship Diagram)
- 업무 중심적이고 포괄적인 수준의 모델링 수행
- 핵심 엔터티와 그들 간의 관계를 발견하고 엔터티-관계 다이어그램 생성
- 논리적 모델링(Logical Modeling): 테이블 설계서, 정규화
- 키, 속성, 관계 등 데이터의 논리적 구조를 정확하게 정의
- 정규화를 통한 데이터 일관성 확보와 중복 제거 수행
- 물리적 모델링(Physical Modeling): 인덱스, 반정규화 (조회 성능 최적화)
- 실제 데이터베이스에 이식할 수 있도록 물리적 특성을 고려한 설계
- 테이블, 컬럼 등의 물리적 저장구조 정의
- 성능, 저장공간 등 물리적 요소를 고려한 설계 수행
2. 개념적 모델링
(1) 개념적 모델링의 개념과 특징

(2) 개념적 모델링의 세부 단계

- 주제영역 도출
- 사용자 요구사항 분석, 업무 프로세스 파악, 데이터 요구사항 및 제약사항 점검
- 데이터 모델링의 기초 자료 수립
- 데이터 요소 목록
- 예) 회원 정보, 도서 정보, 대출 정보
- 핵심 엔티티 도출
- 엔터티 분류 (기본, 중심, 행위, 사건), 엔터티 목록 작성 (이름, 설명)
- 엔터티의 속성 식별, 속성 분류 (기본, 설계, 파생, 필수, 선택), 속성 목록 작성 (이름, 설명)
- 식별자 정의 (후보 식별자 → 주식별자)
- 독립적인 개체(Entity) 식별: 회원, 도서, 대출
- 속성 도출: 회원(ID, Name, Tel, Date)
※ ID : 주식별자
- 관계 설정
- 엔터티 간 관계 파악, 관계 유형 결정 (1:1, 1:N, M:N), 관계 정의 및 이름 관계 참여도 (필수, 선택), 순환관계 검토
- 회원과 대출관계: 1:N(한명이 여러 도서 대출 가능)
※ 카디널리티(Cardinality): 관계에 참여하는 수
- ERD 작성
(3) 식별자의 개념과 특징
식별자(Identifier)란?
하나의 엔터티 내에서 각각의 인스턴스를 유일하게 구분할 수 있는 속성 혹은 속성의 그룹
- 식별자의 주요 특징
- 유일성: 엔터티 내의 모든 인스턴스들을 유일하게 구분(식별)할 수 있어야 함
- 최소성: 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소한의 개수여야 함
- 불변성:지정된 식별자의 값은 변경되지 않아야 함
- 존재성:식별자로 지정된 속성은 반드시 값을 가져야 함
- 식별자의 종류
- 주식별자
- 보조식별자
- 대표성은 없으나 인스턴스를 구분할 수 있는 식별자
- 내부식별자
- 외부식별자
- 다른 엔터티와의 관계를 통해 가져와서 사용하는 식별자
3. ERD (Entity Relationship Diagram)
(1) ERD의 개념과 특징
ERD(Entity Relationship Diagram)란?
데이터베이스의 구조를 개체(Entity), 속성(Attribute), 관계(Relationship)을 중심으로 정의된 형식의 다이어그램으로 표현하는 방법
⇒ 객체, 속성, 관계를 시각적으로 표현. 개념적 모델링 단계에서 주로 사용
⇒ 복잡한 구조를 시각적으로 표현하여 분석 및 이해 용이, 의사소통 용이
ERD의 구성요소 | |
---|
개체 (Entity) | - 구별 가능한 사물 혹은 개념 - 2개 이상의 인스턴스가 존재, 유일한 식별자로 상호 구분 - 속성과 관계를 가짐 |
속성 (Attribute) | - 개체의 특성을 설명하는 요소 - 업무에 필요한 정보, 최소단위의 정보 - 종류 : 기본 속성, 설계 속성, 유도 속성, 복합 속성, 다중값 속성 |
관계 (Relationship) | - 개체 간 논리적인 연관성 - 관계명, 관계차수, 관계선택여부 등으로 구성 - 1:1 관계, 1:N 관계, M:N 관계, 자기 참조 관계, 병렬관계 |


-
ERD를 이용한 모델링 절차

(2) Peter-Chen 표기법의 특징
-
엔터티와 속성
- 강한 개체
- 다른 개체의 도움 없이 독립적으로 존재 가능
- 독립적으로 식별이 가능한 주 식별자 보유
- 약한 개체
- 다른(상위, 소유) 개체의 존재여부에 종속적으로
- 존재, 소유 객체의 식별자를 포함하여 식별 가능
-
관계
- 식별관계
- 부모 개체의 식별자가 자식 개체의 식별자에 포함되어 사용
- 비식별관계
- 부모 개체의 식별자가 자식 개체의 일반 속성으로 사용


