본문 바로가기

IT 엔지니어/데이터베이스

데이터 베이스

데이터 모델링의 이해

1. 모델링

- 복잡한 현실 세계를 추상화 , 단순화하여 일정한 표기법(형식)에 의해 명확하게 표현하는 일

- 업무의 흐름을 가시화 명세화

- 데이터 베이스를 구축하기 위한 분석 설계의 과정

- 정보 시스템을 구축하기 위한 데이터 관점의 업무 분석 기법

 

2. 모델링의 특징

- 추상화 : 일정한 형식에 맞춰서 간략하게 표현

- 단순화 : 약속된 규약으로 제한된 표기법이나 약속으로 표현

- 명확화 : 애매모호함을 제거하고 정확하게 현상을 기술

 

모델링 시 주의 사항

중복 최소화 / 비유연성 최소화  / 비일관성 최소화 

 

 

- Entity (개체)

업무에 필요한 정보를 관리하기 위한 집합적인 명사 개념

- 유일한 식별자로 식별이 가능한 집합

- 인스턴스가 최소 2개 이상 / 속성은 반드시 2개 이상 / 관계는 1개 이상  

 

식별자(PK)란, 유일한 인스턴스를 식별할 수 있는 속성의 집합

 

 

엔터티의 분류 ( 물리적 / 시간적 관점)

- 유형(물리적 형태 없음 ) / 개념  (물리적 형태 있음 ) / 사건 ( 업무 수행 중 발생 )

- 기본,키 ( 본래 업무에 존재, 독립 생성 가능 , 주식별자 보유 ) / 중심 ( 기본 엔터티로부터 발생 , 업무의 중심 역할 )  / 행위( 복수 엔터티로부터 발생)

 

Ex) 직원(Entity) -> 직원 A (Instance) 

 

- Instance 

엔터티 집합 내 존재하는 개별적 대상

 

 

- Attribute (특성 / 

더 이상 분리되지  않는 최소의 데이터 단위 / 관리하고자 하는 정보

- 기본(업무로부터 추출한 속성)  / 설계 ( 규칙화로 필요해 생성한 속성 ) / 파생 ( 다른 속성으로부터 계산/변형된 속성)

 

- DOMAIN

각 속성이 입력받을 수 있는 값의 정의 또는 범위

 

3. 모델링의 관점

- 데이터 관점 (WHAT) 

무엇이 필요한지에 대한 관심

업무와 데이터의 관계 / 데이터와 데이터의 관계를 모델링

프로세스에서 사용하는 데이터를 모델링

 

- 프로세스 관점 (HOW)

어떤 방법으로 구축되는지에 대한 관심

업무가 실제 하고 있는 일을 모델링

 

- 데이터와 프로세스의 상관관점 (Intersection)

업무 처리 방법에 따라 데이터가 받는 영향을 모델링

 

 

모델링의 3단계

 

개념적 - 논리적 - 물리적 ( 추상화 약해짐 = 상세화 = 구체화 )

 

개념적 데이터 모델링 ( 가장 높은 추상화 레벨)

- 포괄적인 수준에서 모델링 수행

- Entity 와 Attribute 도출

 

논리적 데이터 모델링

- 데이터 모델에 대한 키, 속성, 관계  표현

- 정규화를 통한 중복 데이터 최소화 / 높은 재사용성

- 식별자 도출 및 관계 정의

 

물리적 데이터 모델링

- 구현 가능한 수준에서 모델링 수행

- DBMS 성능,보안,가용성 고려하여 설계

 

 

스키마 3단계 구조

 

독립성 보장

 

외부 스키마

- 사용자 관점 /  다중 사용자 뷰 제공

- 사용자 / 애플리케이션이 바라보는 데이터베이스 스키마 정의

- 논리적 데이터 독립성 : 개념 스키마 변경 시에도 외부 스키마에는 영향 없음 / 독립성 보장

 

개념 스키마

- 설계자 관점 / 통합 뷰 제공

- 모든 사용자가 바라보는 데이터베이스 스키마 통합

- 전체 데이터베이스에 저장되는 데이터와 관계 정의

- 물리적 데이터 독립성 : 내부 스키마 변경 시에도 외부,개념 스키마에는 영향 없음 / 독립성 보장

 

내부 스키마

- 개발자 관점 / 물리적 뷰 제공

- 물리적 실질적 저장구조 표현 / 테이블 칼럼 인덱스 등 정의

 

스키마 3단계 구조 = 독립성 보장 - 의존성 약화 - 유지보수성 향상 - 비용 및 기간 감소