데이터 모델링의 이해
1. 모델링
- 복잡한 현실 세계를 추상화 , 단순화하여 일정한 표기법(형식)에 의해 명확하게 표현하는 일
- 업무의 흐름을 가시화 명세화
- 데이터 베이스를 구축하기 위한 분석 설계의 과정
- 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
2. 모델링의 특징
- 추상화 : 일정한 형식에 맞춰서 간략하게 표현
- 단순화 : 약속된 규약으로 제한된 표기법이나 약속으로 표현
- 명확화 : 애매모호함을 제거하고 정확하게 현상을 기술
모델링 시 주의 사항
중복 최소화 / 비유연성 최소화 / 비일관성 최소화
- Entity (개체)
업무에 필요한 정보를 관리하기 위한 집합적인 명사 개념
- 유일한 식별자로 식별이 가능한 집합
- 인스턴스가 최소 2개 이상 / 속성은 반드시 2개 이상 / 관계는 1개 이상
식별자(PK)란, 유일한 인스턴스를 식별할 수 있는 속성의 집합
엔터티의 분류 ( 물리적 / 시간적 관점)
- 유형(물리적 형태 없음 ) / 개념 (물리적 형태 있음 ) / 사건 ( 업무 수행 중 발생 )
- 기본,키 ( 본래 업무에 존재, 독립 생성 가능 , 주식별자 보유 ) / 중심 ( 기본 엔터티로부터 발생 , 업무의 중심 역할 ) / 행위( 복수 엔터티로부터 발생)
Ex) 직원(Entity) -> 직원 A (Instance)
- Instance
엔터티 집합 내 존재하는 개별적 대상
- Attribute (특성 /
더 이상 분리되지 않는 최소의 데이터 단위 / 관리하고자 하는 정보
- 기본(업무로부터 추출한 속성) / 설계 ( 규칙화로 필요해 생성한 속성 ) / 파생 ( 다른 속성으로부터 계산/변형된 속성)
- DOMAIN
각 속성이 입력받을 수 있는 값의 정의 또는 범위
3. 모델링의 관점
- 데이터 관점 (WHAT)
무엇이 필요한지에 대한 관심
업무와 데이터의 관계 / 데이터와 데이터의 관계를 모델링
프로세스에서 사용하는 데이터를 모델링
- 프로세스 관점 (HOW)
어떤 방법으로 구축되는지에 대한 관심
업무가 실제 하고 있는 일을 모델링
- 데이터와 프로세스의 상관관점 (Intersection)
업무 처리 방법에 따라 데이터가 받는 영향을 모델링
모델링의 3단계
개념적 - 논리적 - 물리적 ( 추상화 약해짐 = 상세화 = 구체화 )
개념적 데이터 모델링 ( 가장 높은 추상화 레벨)
- 포괄적인 수준에서 모델링 수행
- Entity 와 Attribute 도출
논리적 데이터 모델링
- 데이터 모델에 대한 키, 속성, 관계 표현
- 정규화를 통한 중복 데이터 최소화 / 높은 재사용성
- 식별자 도출 및 관계 정의
물리적 데이터 모델링
- 구현 가능한 수준에서 모델링 수행
- DBMS 성능,보안,가용성 고려하여 설계
스키마 3단계 구조
독립성 보장
외부 스키마
- 사용자 관점 / 다중 사용자 뷰 제공
- 사용자 / 애플리케이션이 바라보는 데이터베이스 스키마 정의
- 논리적 데이터 독립성 : 개념 스키마 변경 시에도 외부 스키마에는 영향 없음 / 독립성 보장
개념 스키마
- 설계자 관점 / 통합 뷰 제공
- 모든 사용자가 바라보는 데이터베이스 스키마 통합
- 전체 데이터베이스에 저장되는 데이터와 관계 정의
- 물리적 데이터 독립성 : 내부 스키마 변경 시에도 외부,개념 스키마에는 영향 없음 / 독립성 보장
내부 스키마
- 개발자 관점 / 물리적 뷰 제공
- 물리적 실질적 저장구조 표현 / 테이블 칼럼 인덱스 등 정의
스키마 3단계 구조 = 독립성 보장 - 의존성 약화 - 유지보수성 향상 - 비용 및 기간 감소