yurim45 님의 블로그
3. 데이터 모델링의 이해 본문
1. 데이터 모델링 개요
(1) 데이터 모델링의 개념과 특징
모델링?
공통된 것. 공통된 것을 잘 모아서 설명해보자.
아주 구체적인 것 보다는 상위 레벨(=추상화된 단계)에서 공통된 속성을 중심으로 설명해보자
- 데이터 모델링(Data Modeling)의 개념
- 데이터의 공통적인 특징을 찾아서 상위 레벨의 표현 기법으로 정리하는 과정 및 관련 기법
- 데이터의 특징을 단순화하여 표현하는 과정 및 관련 기법
⇒ 즉, 현실 세계의 데이터를 (목적과 의도에 따라)추상화하여 물리적 데이터베이스로 변환하는 일련의 과정
- 데이터 모델링의 일반적인 특징
- 추상화(Abstraction): 공통된 속성을 중심으로 상위 레벨에서
- 단순화(Simplificatioin): 복잡하고 디테일한게 아니라 단순하고
- 명확성(Clarity): 명확하게
- 중복 배제
- 유연성
- 일관성
⇒ 잘 정의된 표기법(문서로 정리한다 === 의사소통이 잘 된다)에 의해 표현
- 데이터 모델링의 접근 관점
- 데이터 관점, 프로세스 관점
- 데이터와 프로세스 관점
(2) 데이터베이스 3단계 스키마(Three Level Schema)
- 데이터베이스의 3단계 스키마의 개념
데이터베이스 3단계 스키마란?
ANSI/SPARC이 제안, 데이터베이스의 구조를 3가지 추상화 수준으로 설계하는 방법
⇒ 외부 스키마, 개념 스키마, 내부 스키마 구조로 독립성 확보, 유연성 제공
- 데이터베이스 3단계 스키마의 구조와 특징
- 외부 스키마(External Schema)
- 개별 사용자 관점에서 데이터베이스를 표현
- 사용자마다 다른 관점으로 데이터베이스를 볼 수 있음
- 서브 스키마(Sub Schema)라고도 불림
- 특정 응용에 한정된 논리적 데이터 구조를 정의
- 개념 스키마(Conceptual Schema)
- 조직 전체 관점에서의 통합된 데이터베이스 구조
- 모든 사용자에게 필요한 데이터를 통합, 전체 데이터베이스의 논리적 구조를 정의
- 데이터베이스 하나에 개념 스키마 하나만 존재
- 데이터 간의 관계, 제약조건, 접근권한, 보안정책 등을 포함
- 내부 스키마(Internal Schema)
- 물리적 저장장치 관점에서 데이터베이스를 표현
- 실제 데이터가 저장되는 방법을 정의
- 내부 레코드 형식, 인덱스 유무, 데이터 저장 구조 등을 포함
- 데이터베이스 하나에 내부 스키마 하나만 존재
- 외부 스키마(External Schema)
데이터베이스 3단계 모델링의 개념
데이터베이스 모델링을 개념적 모델링, 논리적 모델링, 물리적 모델링의 3단계로 수행하는 방법
- 데이터베이스 3단계 모델링의 구조와 특징
- 개념적 모델링 (Conceptual Modeling): ERD(Entity-Relationship Diagram)
- 업무 중심적이고 포괄적인 수준의 모델링 수행
- 핵심 엔터티와 그들 간의 관계를 발견하고 엔터티-관계 다이어그램 생성
- 논리적 모델링(Logical Modeling): 테이블 설계서, 정규화
- 키, 속성, 관계 등 데이터의 논리적 구조를 정확하게 정의
- 정규화를 통한 데이터 일관성 확보와 중복 제거 수행
- 물리적 모델링(Physical Modeling): 인덱스, 반정규화 (조회 성능 최적화)
- 실제 데이터베이스에 이식할 수 있도록 물리적 특성을 고려한 설계
- 테이블, 컬럼 등의 물리적 저장구조 정의
- 성능, 저장공간 등 물리적 요소를 고려한 설계 수행
- 개념적 모델링 (Conceptual Modeling): ERD(Entity-Relationship Diagram)
2. 개념적 모델링
(1) 개념적 모델링의 개념과 특징
- 개념적 모델링의 특징
- 현실 세계 추상화: 복잡한 정보를 단순화하여 엔터티, 속성, 관계로 표현
- DBMS 독립성: (특정 DBMS의 특징을 고려하지 않고) 개념적 수준에서 모델링 수행
⇒ 이해 용이성, 의사소통, 유연성
⇒ ERD(Entity-Relationship Diagram)으로 표현
(2) 개념적 모델링의 세부 단계
- 주제영역 도출
- 사용자 요구사항 분석, 업무 프로세스 파악, 데이터 요구사항 및 제약사항 점검
- 데이터 모델링의 기초 자료 수립
- 데이터 요소 목록
- 예) 회원 정보, 도서 정보, 대출 정보
- 핵심 엔티티 도출
- 엔터티 분류 (기본, 중심, 행위, 사건), 엔터티 목록 작성 (이름, 설명)
- 엔터티의 속성 식별, 속성 분류 (기본, 설계, 파생, 필수, 선택), 속성 목록 작성 (이름, 설명)
- 식별자 정의 (후보 식별자 → 주식별자)
- 독립적인 개체(Entity) 식별: 회원, 도서, 대출
- 속성 도출: 회원(ID, Name, Tel, Date)
- ※ ID : 주식별자
- 관계 설정
- 엔터티 간 관계 파악, 관계 유형 결정 (1:1, 1:N, M:N), 관계 정의 및 이름 관계 참여도 (필수, 선택), 순환관계 검토
- 회원과 대출관계: 1:N(한명이 여러 도서 대출 가능)
- ※ 카디널리티(Cardinality): 관계에 참여하는 수
- ERD 작성
- 개체, 속성, 관계를 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의 대표적인 종류
- ERD를 이용한 모델링 절차
(2) Peter-Chen 표기법의 특징
- 엔터티와 속성
- 강한 개체
- 다른 개체의 도움 없이 독립적으로 존재 가능
- 독립적으로 식별이 가능한 주 식별자 보유
- 약한 개체
- 다른(상위, 소유) 개체의 존재여부에 종속적으로
- 존재, 소유 객체의 식별자를 포함하여 식별 가능
- 강한 개체
- 관계
- 식별관계
- 부모 개체의 식별자가 자식 개체의 식별자에 포함되어 사용
- 비식별관계
- 부모 개체의 식별자가 자식 개체의 일반 속성으로 사용
- 식별관계
(3) IE/Crow’s Foot 표기법의 특징
'개발' 카테고리의 다른 글
4. 논리적 모델링과 정규화 (0) | 2025.03.29 |
---|---|
02. DBMS의 설치와 활용 - MySQL, Docker (0) | 2025.03.15 |
01. 데이터베이스와 SQL 개요 (1) | 2025.03.08 |