현실세계를 단순화 하여 표현하는 기법
DB모델링: 현실 세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현하는 기법
현실세계를 반영해야 한다
단순화하여 표현해야 한다
관리하고자 하는 데이터를 모델로 설계한다
추상화: 현실 세계를 일정한 형식으로 표현하는것. 아이디어나 개념을 간략하게 표현하는 과정
단순화: 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현하는 것
명확화: 불분명함을 제거하고 명확하게 해석할 수 있도록 기술하는 것
데이터 관점 : 데이터 위주의 모델링. 어떤 데이터들이 업무와 얽혀 있는지, 이 데이터들간에 어떤 관계가 있는지 모델링
프로세스 관점: 프로세스 위주의 모델링. 이 업무가 실제로 처리하고 있는일, 앞으로 처리해야 하는일이 무엇인지를 모델링
데이터와 프로세스의 상관 관점: 데이터와 프로세스 관계 위주 모델링. 프로세스 흐름에 따라 데이터가 어떤 영향을 받는지 모델링
개념적 데이터 모델링: 전사적 데이터 모델링 수행시 행해짐. 추상화 레벨이 가장 높음. 업무 중심적이고 포괄적인 수준의 모델링이 진행됨.
논리적 데이터 모델링: 재사용성이 가장 높은 모델링. DB 모델에 대한 key, 속성, 관계들을 모두 포함하는 단계
물리적 데이터 모델링: 실제 DB로 구현할 수 있도록 성능이나 가용성등의 물리적 성격을 고려하여 모델링을 구현하는 단계
같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는데 도움을 줌으로써 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
데이터 모델을 어떻게 설계했는지에 따라 사소한 업무 변화에도 데이터 모델이 수시로 변경되어 유지보수의 어려움을 가중시킬 수 있다. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 모델링은 데이터 혹은 프로세스의 작은 변화로 인한 DB의 중대한 변화 가능성을 줄인다.
데이터의 중복이 없더라도 비일관성은 발생할 수 있다. 데이터 모델링을 할 때 데이터와 데이터간의 상호 연관 관계에 명확하게 정의한다면 이러한 위험을 사전에 예방하는데 도움줄 수 있다. 사용자가 처리하는 프로세스 혹은 이와 관련된 프로그램과 테이블의 연계성을 높이는 것은 데이터 모델이 업무 변경에 대해 취약하게 만드는 단점에 해당된다.
1975년 제안된 데이터베이스 관리 시스템의 추상적인 설계 표준
스키마를 3단계 구조로 나눔
Multiple User's View 단계로 각 사용자가 보는 데이터 베이스의 스키마를 정의
Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 DB를 나타내는 것. 데이터베이스에 저장되는 데이터들을 표현하고 데이터들의 관계를 나타냄
Physical Representation 단계로 물리적인 저장 구조를 나타냄. 실질적인 데이터의 저장구조, 컬럼 정의, 인덱스가 포함
논리적 독립성: 개념 스키마가 변경되어도 외부 스키마는 영향받지 않는다.
물리적 독립성: 내부 스키마가 변경되어도 외부/개념 스키마는 영향받지 않는다.
시스템에 어떤 엔티티들이 존재하며, 그들간에 어떤 관계가 있는지를 나타내는 다이어그램
식별가능한 객체라는 의미로 업무에서 쓰이는 데이터를 용도별로 분류한 그룹
인스턴스: Row
속성: Column
사물이나 개념의 특징을 설명해 줄 수 있는 항목
하나의 속성은 하나의 속성값만 가질 수 있다
업무 프로세스 분석을 통해 바로 정의가 가능한 속성
업무에 존재하지는 않지만 설계하다 보니 필요하다고 판단되어 도출해낸 속성
다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성