데이터 모델링
데이터 모델링의 이해
- 모델이란 현실세계를 추상화한 반영이다. (복잡한 '현실세계'를 단순화해 표현하는 것이다.)
- 모델링은 추상화, 단순화, 명확화 라는 3대 특징으로 요약할 수 있다.
- 모델링은 개념적(추상적), 논리적(구체적), 물리적(실제DB시스템형태) 관점으로 구분하여 설명할 수 있다.
데이터 모델링 유의점
- 중복: 같은 시간 같은 데이터를 제공한다.
- 비유연성: 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용 프로세스와 분리한다.
- 비일관성: 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다.
데이터 모델링 3단계
- 개념적: 추상화 수준이 높고 업무 중심적이고 포괄적인수준의 모델링 진행. 전사적 데이터 모델링, EA 수립 시 많이 이용
- 논리적: 시스템으로 구축하고자 하는 업무에 대해 Key, 속성, 관계 등을 정확하게 표현, 재사용성이 높음
- 물리적: 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
데이터 독립성 요소
- 외부 스키마: 개개 사용자가 보는 개인적 DB스키마
- 개념 스키마: 모든 사용자 관점을 통합한 전체 DB
- 내부 스키마: 물리적 장치에서 데이터가 실제 저장된 형식
흐름 순서
내부 스키마 -> 개념 스키마 -> 외부 스키마
❓독립성
상호 영향에서 벗어나 고유 기능을 극대화 한다.
- 논리적 독립성: 외부의 변경에도 개념 스키마가 변하지 않는 특징을 가진다.
- 물리적 독립성: 내부 스키마가 변경되어도 외부∙개념 스키마는 영향을 받지 않도록 지원한다.
❓사상(Mapping)
상호 독립적인 개념을 연결시켜주는 다리
- 논리적 사상: 외부 스키마 - 개념 스키마
- 물리적 사상: 개념 스키마 - 내부 스키마
데이터 모델링 3요소
- 어떤 것(Things): 엔터티
- 성격(Attributes): (어떤 것의)속성
- 관계(Relationship): (어떤 것들 간의)관계
좋은 데이터 모델의 요소
- 완전성: 업무에 필요한 모든 데이터가 모델에 정의
- 중복배제: 하나의 DB내에 동일한 사실은 한번만 기록
- 업무규칙: 많은 규칙을 사용자가 공유하도록 제공
- 데이터 재사용: 데이터가 독립적으로 설계되어야 함
- 의사소통: 업무규칙은 엔터티, 서브타입, 속성, 관계 등의 형태로 최대한 자세히 표현
- 통합성: 동일한 데이터는 한번만 정의하고 참조를 활용
ERD(Entity Relationship Diagram)
1976년 피터첸이 개발. IE, Baker 기법이 많이 쓰이며 엔터티(사각형), 관계(마름모), 속성(원)으로 이루어져있다.
작업순서
1. 엔터티 그림
2. 엔터티 배치
3. 엔터티 관계설정
4. 관계명 기술
5. 관계의 참여도 기술
6. 관계 필수여부 기술

엔터티(Entity)
업무에 필요하고 유용한 정보를 저장하고 집합적인 것, 보이지 않는 개념도 포함한다.
(엔터티는 인스턴스의 집합)
- 반드시 해당 업무에서 필요하고 관리되어야 함
- 유일한 식별자에 의해 식별 가능(PK, FK)
- 두 개 이상의 인스턴스의 집합
- 두 개 이상의 속성이 있어야 함
- 업무 프로세스에 의해 이용되어야 함
- 다른 엔터티와 최소 1개 이상의 관계가 있어야 함(통계성/코드성 엔터티는 관계 생략 가능)
엔터티의 명명
- 현업 업무에서 사용하는 용어 사용
- 약어 사용 금지
- 단수명사 사용
- 고유한 이름 사용
- 생성의미대로 부여
엔터티의 분류
- 유무형에 따른 분류: 유형, 개념, 사건 엔터티
- 유형: 물리적 형태 ex) 사원, 물품, 강사
- 개념: 개념적 정보 ex) 조직, 보험상품
- 사건: 업무 수행 시 발생 ex) 주문, 청구, 미납
- 발생시점에 따른 분류: 기본/키, 중심, 행위 엔터티
- 기본: 그 업무에 원래 존재하는 정보, 타 엔터티의 부모 역할 및 자신의 고유한 주식별자 가짐 ex) 사원, 부서 => 관계에 의한 생성이 아닌 독립적 생성
- 중심: 기본 엔터티로 부터 발생, 다른 엔터티와의 관계로 많은 행위 엔터티 생성 ex) 계약, 사고, 주문
- 행위: 2개 이상의 부모 엔터티로부터 발생, 자주 바뀌거나 양이 증가 ex) 주문목록, 사원변경이력
이런 유용한 정보를 나눠주셔서 감사합니다.