(1) 모델링이란?
데이터베이스의 모델링은 '현실세계를 단순화하여 표현하는 기법' 이다.
모델링이 갖추어야 하는 조건
- 현실세계를 반영 해야한다.
- 단순화하여 표현해야 한다
- 관리하고자 하는 데이터를 모델로 설계 한다.
(여기서 '모델' 은, 현실세계에서 일어날 수 있는 다양한 현상에 대해 일정한 표기법을 활용하여 표현해 놓은 모형이다 > 모델링은 이러한 모델들을 만들어 나가는 과정이다.)
(2) 모델링의 특징
① 추상화(Abstraction): 현실세계를 일정한 형식으로 표현. 아이디어나 개념을 간략하게 표현하는 과정
② 단순화(Simplification): 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현
③ 명확화(Clarity): 불분명함을 제거하고 명확하게 해석 할 수 있도록 기술
(3) 모델링의 3가지 관점
① 데이터 관점: 데이터 위주의 모델링. 어떤 데이터들이 어떤 업무와 얽혀 있고, 그 데이터 간의 어떤 관계가 있는지에 대해 모델링 하는 방법
② 프로세스 관점: 프로세스 위주의 모델링. 이 업무가 실제로 처리하고 있는 일은 무엇인지, 앞으로 처리 해야하는 일은 무엇인지를 모델링 하는 방법
③ 데이터와 프로세스의 상관관점: 데이터와 프로세스의 관계를 위주의 모델링. 프로세스 흐름의 따라 데이터가 어떤 영향을 받는지를 모델링 하는 방법.
데이터의 품질을 보장하기 위한 유의사항
- 중복: 같은 데이터가 여러 엔터티에 중복으로 저장 되지 않도록 해야함
- 비유연성: 데이터 모델 설계에 따라 앱의 사소한 변경에도 데이터 모델의 영향을 주어 수시로 변경해야하는경우가 발생 할 수 있기 때문에데이터 모델과 프로세스를 분리하여 유연성을 높이는 것이 좋다.
- 비일관성: 데이터 중복이 없는 경우에도 비일관성이 발생 할 수 있기 때문에, 데이터 모델링을 할때에는 데이터 간의 관계에 대해 명확하게 정의해야 함.
(4) 모델링의 3가지 단계
① 개념적 데이터 모델링: 전사적 데이터 모델링 숭행 시 이루어지고, 추상화 레벨이 가장 높은 모델링임. 이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링이 진행됨.
② 논리적 데이터 모델링: 재사용성이 가장 높은 모델링으로 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계
③ 물리적 데이터 모델링: 실제 데이터베이스로 구현 할 수 있는 물리적인(성능, 가용성) 성격을 고려하여 모델을 표현하는 단계
(5) 데이터의 독립성
ANSI-SPARC 아키텍처
- 1975년 제안된 데이터베이스 관리 시스템(DBMS) 의 관리 표준으로, 스키마를 3단계로 나누고 있으며, 이렇게 나누는 목적은 데이터베이스에 대한 사용자 관점과 데이터베이스가 실제로 표현되는 물리적 방식을 분리하기 위함이다. 이렇게 분리함으로써 데이터베이스의 독립성의 보장함.
3단계 데이터 스키마 구조
① 외부 스키마: Multiple User's View(사용자 관점) 단계로, 각 사용자가 보는 데이터베이스의 스키마를 정의
② 개념 스키마: Community View(통합된 관점) of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타냄. 데이터들을 표현하고, 데이터들의 관계를 나타냄
③ 내부 스키마: Physical Representation(물리적 관점) 단계로 물리적인 저장 구조를 나타 냄.
3단계 스키마 구조가 보장하는 독립성
- ANSI-SPARC 아키텍처에서 스키마를 3단계로 나누는 이유는 데이터베이스에 대한 사용자들의 관점과데이터베이스가 실제로 포함되는 물리적인 방식을 분리하여 독립성을 보장하기 위한 것이다.
① 논리적 독립성: 개념 스키마가 변경되더라도 외부 스키마는 영향 받지 않는다.
② 물리적 독립성: 내부스키마가 변경되어도 외부/개념 스키마는 영향 받지 않는다.
(6) ERD(Entity Relationship Diagram)
ERD 는 시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이그램이다. 다양한 ERD 표기 방식들이 있지만, IE/Crow's Foot 표기법과 Barker 표기법을 주로 사용한다.