- 데이터베이스의 모델링은 현실 세계를 단순화하여 표현하는 기법이다
- 현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형
- 모델링이 갖춰야 할 조건
- 현실세계를 반영해야 한다
- 단순화하여 표현해야 한다
- 관리하고자 하는 데이터를 모델로 설계한다
- 추상화(Abstraction)
- 현실 세계를 일정한 형식으로 표현하는 것, 즉 아이디어나 개념을 간략하게 표현하는 과정
- 단순화(Simplification)
- 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미
- 명확화(Clarity)
- 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미
- 데이터베이스의 모델링은 현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법으로 표현하는 기법
- 데이터 관점(What, Data)
- 어떤 데이터들이 업무와 얽혀있는지, 데이터 간에 어떤 관계가 있는지에 대해 모델링
- 프로세스 관점(How, Process)
- 이 업무가 실제 처리하고 있는 일이 무엇인지, 앞으로 처리해야할 일이 무엇인지 모델링
- 데이터와 프로세스의 상관관점(Data vs Process, Interaction)
- 데이터와 프로세스의 관계를 위주로 모델링, 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링
- 개념적 데이터 모델링
- 추상화 레벨이 가장 높은 모델링
- 업무 중심적이고 포괄적인 수준의 모델링
- 전사적 데이터 모델링
- 논리적 데이터 모델링
- 재사용성이 높은 모델링
- 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현
- 물리적 데이터 모델링
- 실제 데이터베이스로 구현할 수 있도록 성능이나 가용성등의 물리적 성격을 고려하여 모델을 표현하는 단계
- ANSI-SPARC 아키텍처 : 1975년에 제안된 DBMS의 추상적인 설계 표준
- 위 아키텍처에서는 스키마를 3단계 구조로 나눔
- 나누는 이유는 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함
- 3단계 스키마 구조
- 외부 스키마 : 각 사용자가 보는 데이터베이스의 스키마를 정의
- 개념 스키마 : 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타냄, 데이터베이스에 저장되는 데이터들을 표현하고 데이터간의 관계를 나타냄
- 내부 스키마 : 물리적인 저장 구조를 나타냄, 실질적인 데이터의 저장 구조나 컬럼정의, 인덱스를 포함
- 3단계 스키마 구조가 보장하는 독립성
- 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향이 없음
- 물리적 독립성 : 내부 스키마가 변경되어도 외부/내부 스키마는 영향이 없음
-
ERD 표기방식
- IE/Crow’s Foot : 까마귀발 표기법으로 가장 많이 사용
- Case*Method/barker : Oracle에서 사용되는 모델로 까마귀발 표기법과 비슷
-
ERD 작성 순서
- 엔터티를 도출, 그림
- 엔터티를 적절히 배치
- 엔터티 간의 관계 설정
- 관계명 기입
- 관계의 참여도 기입
- 관계의 필수/선택 여부 기입