
현실 세계 또는 다양한 현상을 단순화하여 표현하는 것을 모델링이라고 한다.
한 마디로, 현실 세계에 있는 것을 쉽고 누구나 알아볼 수 있게 일정한 형식에 맞춰서 표현하는 것이 모델링이다.
정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법이다. 데이터 모델링의 목적은 정보에 대한 표기법을 통일하여 업무의 내용 분석 정확도 증대에 있고, 데이터 모델링 후 모델을 기반으로 한 DB를 설계한다.
추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링을 진행하며, 해당 단계에서 엔티티와 속성을 도출하여 ERD를 설계한다. 즉, DB 테이블에 들어갈 컬럼 등 데이터들을 추상적으로 설계하는 과정이라고 생각하면 된다.
시스템으로 구축하고자하는 업무에 대해 식별자를 도출하고 속성과 관계 등을 정확하게 정의하며, 정규화를 수행하여 데이터 모델의 독립성과 재사용성을 확보한다.
실제로 DB를 구축하는 과정. 성능, 저장 등 물리적인 성격을 고려하여 설계한다.
프로젝트의 생명주기는 계획 > 분석 > 설계 > 개발 > 테스트 > 전환/이행 단계로 구성되어 있다.
다만, 실제 프로젝트에서는 분석 단계에서 개념적, 논리적 모델링을 하고, 설계 단계에서 물리적 모델링을 하기도 한다.
데이터가 복잡해지거나, 중복이 발생하는 경우 유지보수비용이 증가하고 요구사항대응이 저하되기 때문에 독립성이 필요하다.
여기서 사상이란, 상호 독립적인 개념을 연결시켜주는 다리라고 생각하면 된다.
사용자나 응용 프로그램의 관점에서 데이터 구조를 정의한 것이다. 하나의 데이터베이스에 여러 외부적 스키마가 존재할 수 있는데, 그 이유는 사람마다 다른 구조의 데이터를 사용하기 때문이다.
전체적인 논리적인 구조를 정의한 것이다. 하나의 데이터베이스에는 단 하나의 개념적 스키마가 존재하는데, 관리자의 관점에서 보는 구조라고 보면 된다. 데이터 뿐만 아니라 보안 정책, 권한 등도 이곳에 포함된다.
전체 데이터베이스가 실제 물리적 장치에 저장되는 방법을 정의한 것이다. 하나의 데이터베이스에는 단 하나의 내부적 스키마가 존재하는데, 물리적인 저장 장치의 관점, 실질적인 내용으로 구성되어 있다고 보면 된다.
데이터 모델링 3요소로는 엔티티, 관계, 속성이 있다.
ERD(Entity Relationship Diagram)는 엔티티 간의 관계를 나타낸 다이어그램이다. 다이어그램에서 엔터티는 사각형, 관계는 마름모, 속성은 타원형으로 표현하며, 현실의 데이터를 모두 표현할 수 있다.
좋은 모델링의 조건은 아래와 같다. 누구나 알 수 있도록 쉽고 간결하게 모델링을 하고 데이터 관점에서 어떤 엔티티 간 관계를 맺을지도 생각해야 한다. 실제 모델링을 할 때 사용하는 언어들은 공통된 언어를 사용하는 게 좋고, 중복성을 배제하고 데이터를 재사용할 수 있게 하여 유지 보수에 용이하게끔 설계를 하자.
잘못된 정보는 지적해주시면 감사하겠습니다.