모델링의 이해
모델링의 정의
▪ 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 규칙을 가지고 표기하는 것
모델링의 특징
▪ 모델링은 추상화, 단순화, 명확화 3가지 특징을 가짐
▪ 추상화: 다양한 현상을 일정한 표기법에 의해 표현하는 것을 의미
▪ 단순화: 복잡한 현실세계를 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 함
▪ 명확화: 누구나 이해할 수 있도록 현상을 정확하게 기술하는 것을 의미
모델링의 세 가지 관점
▪ 업무의 내용과 정보시스템의 모습을 적절한 표기법으로 표현하는 것을 모델링이라고 한다면, 모델링은 데이터관점, 프로세스관점, 데이터와 프로세스의 상관관점으로 구분할 수 있음
▪ 데이터관점: 업무가 어떤 데이터와 관련있고, 데이터 간 관계는 어떻게 되는지에 대해 모델링하는 방법
▪ 프로세스관점: 실제하고 있는 일은 무엇이고, 무엇을 할 지 모델링하는 방법
▪ 데이터와 프로세스의 상관관점: 일을 처리하는 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
데이터 모델의 기본 개념의 이해
데이터 모델링의 정의
▪ 해당 업무에 어떤 데이터가 존재하고 필요한 데이터가 무엇인지 분석하고, 정보 시스템을 구축하는 과정
데이터 모델링을 하는 이유
▪ 정보 시스템 구축의 대상이 되는 업무 내용을 정확하게 분석하기 위해
▪ 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용하기 위해
▪ 즉 데이터 모델링은 데이터베이스 구축 뿐만이 아닌, 업무를 설명하고 분석하는 용도로도 쓰임
데이터 모델이 제공하는 기능
▪ 시스템을 원하는 모습으로 가시화
▪ 시스템의 구조와 행동을 명세화
▪ 시스템을 구축하는 구조화된 틀을 제공
▪ 시스템 구축 과정에서 결정한 것을 문서화
▪ 다른 영역의 세부 사항은 숨김으로써 다양한 관점을 제공
▪ 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공
데이터 모델링의 중요성 및 유의점
▪ 데이터 모델링이 중요한 이유는 파급효과, 복잡한 정보 요구사항의 간결한 표현, 데이터 품질로 정리
파급효과
▪ 시스템 구축이 완성되는 시점에서 데이터 모델의 변경이 불가피한 하게 필요한 경우, 이로 인한 일련의 변경작업은 전체 시스템 구축 프로젝트에서 큰 위험요소
▪ 이러한 이유에서 시스템 구축 작업에서 데이터 설계가 중요함
복잡한 정보 요구사항의 간결한 표현
▪ 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 정확하고 간결하게 파악할 수 있는 방법
▪ 데이터 모델은 요구 사항이 정확하고 간결하게 표현되어야 함
데이터 품질
▪ 오래된 데이터를 필요에 따라 사용할 때, 데이터 품질에 문제가 생기면 비즈니스의 기회를 상실할 수도 있음
▪ 데이터 모델링을 할 때 유의점
- 중복: 데이터베이스가 여러 장소에 같은 정보를 저장하지 않도록 함
- 비유연성: 데이터의 정의를 사용 프로세스와 분리함으로써, 데이터 또는 프로세스의 작은 변화가 애플리케이션과
데이터베이스에 변화를 일으킬 수 있는 가능성을 줄임
- 비일관성: 데이터 중복이 없더라도 비일관성은 발생, 데이터 모델링을 할 때 데이터와 데이터간 상호 연관 관계에
대한 명확한 정의는 다른 데이터와 모순을 예방
데이터 모델링의 3단계 진행
▪ 현실세계에서 데이터베이스가 만들어지는 과정은 추상화 수준에 따라 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델로 나뉨
데이터 모델링 | 내용 |
개념적 데이터 모델링 | 추상화 수준이 높음, 업무중심적이고 포괄적인 수준의 모델링, 전사적 데이터 모델링, EA 수립 시 많이 이용 |
논리적 데이터 모델링 | 시스템으로 구축하고자 하는 업무에 대해 key, 속성, 관계 등을 정확하게 표현, 재사용성 높음 |
물리적 데이터 모델링 | 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계 |
개념적 데이터 모델링
▪ 사용자의 데이터 요구사항을 찾고 분석하는데서 시작
▪ 어떤 자료가 중요하고 유지되어야하는지 결정
▪ 핵심 엔터티와 그들간의 관계를 발견하고, 엔터티-관계 다이어그램을 생성하여 표현
▪ 데이터 모델링 과정이 전 조직에 걸쳐 이루어지면, 전사적 데이터 모델(Enterprise Data Model)이라고 불림
▪ 개념 데이터 모델은 사용자와 시스템 개발자가 데이터 요구사항을 발견하는 것을 지원
▪ 개념 데이터 모델은 현 시스템이 어떻게 변형되어야 하는가를 이해하는데 유용
논리적 데이터 모델링
▪ 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 기법 또는 과정
▪ 논리 데이터 모델은 데이터 모델링이 최종적으로 완료된 상태
▪ 정규화는 논리 데이터 모델 상세화 과정으로 일관성 확보, 중복 제거 등으로 신뢰성 있는 데이터 구조 얻음
물리적 데이터 모델링
▪ 논리 데이터 모델이 데이터 저장소로서 어떻게 컴퓨터 하드웨어에 표현될 것인가를 다룸
▪ 물리적 스키마: 데이터가 물리적으로 컴퓨터에 어떻게 저장될 것인가에 대한 정의
▪ 물리적인 저장구조, 사용될 저장 장치, 자료 추출을 위한 접근 방법 등이 해당 단계에서 결정됨
'CS > Database' 카테고리의 다른 글
[Database] JOIN 알고리즘 종류 (0) | 2024.09.13 |
---|---|
[Database] 테이블 JOIN 종류 (0) | 2024.09.13 |
[Database] Index (0) | 2024.09.13 |
[Database] 트랜잭션(transaction) (0) | 2024.05.21 |
[Database] Database 기본 용어 (1) | 2024.04.28 |