데이터 모델
현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형입니다.
데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구입니다.
구성 요소
개체 (Entity)
데이터베이스에 표현하려는 것으로 현실 세계의 대상체를 의미합니다.
현실 세계에 존재하는 유, 무형의 정보로 서로 연관된 속성들로 구성됩니다.
속성 (Attribute)
데이터의 가장 작은 논리 단위로 파일 구조상의 데이터 필드에 해당합니다.
관계 (Relation)
개체간의 상호 연관성이 있는 상태를 말합니다.
데이터 모델링
데이터 모델링이란 정보시스템 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는 것을 말합니다.
이렇게 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용합니다.
데이터 모델링 순서
업무 파악 → 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링
요구사항 수집 및 분석 (업무 파악)
어떠한 업무를 데이터화하여 모델링 할 것인지에 대한 요구사항을 수집하는 단계입니다.
하나의 방법으로는 UI를 의뢰인과 함께 확인해 나아가는 것으로 만들어야 하는 것이 무엇인지 심도있게 알아보아야 합니다.
또한, 요구사항 분석으로 데이터베이스의 용도를 파악해 요구사항 명세서를 작성하기도 합니다.
개념적 데이터 모델링
현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로 현실 세게에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현합니다.
하고자 하는 일의 데이터 간의 관계를 구상하는 단계입니다.
각 개체들과 그들간의 관계를 발견하고 표현하기 위해 ER 다이어그램을 생성합니다.
논리적 데이터 모델링
개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 처리할 수 있도록 변환하는 과정을 말합니다.
주로 ER 다이어그램을 릴레이션 스키마로 변환합니다.
릴레이션 스키마로 변환한 후에는 속성의 데이터 타입, 길이, Null 값 허용 여부 등을 결정하며, 정규화 활동을 수행합니다.
정규화
데이터 모델의 일관성을 확보하고 중복을 제거하여 신뢰성있는 데이터 구조를 얻는 방법
물리적 데이터 모델링
최종적으로 데이터를 관리할 DB를 선택하고, 선택한 실제 테이블을 만드는 작업을 말합니다.
시각적인 구조를 만들었으면 그것을 실제로 SQL 코딩을 통해 완성하는 단계입니다.