Skip to content

데이터모델링 #
Find similar titles

Structured data

Category
Database

데이터모델링 #

모델링(Modeling) #

Computer가 발전하게 되면서, 복잡하고 많은 계산과정으로 인해 기존에 풀지못하던 여러 문제점들을 Computer의 빠른 연산 능력을 이용하여 해결 할 수 있게 되었다. Computer Science에서 어떤 현실 세계의 문제 상황을 컴퓨터로 해결하기 위해 해당 문제에 영향을 미치는 여러 변수들을 컴퓨터가 이해가능한 형태로 변환한 것을 모델(Model)이라 하며, Computer상에 모델을 설계하고 구현하는 과정을 모델링(Modeling)이라고 한다. 컴퓨터를 이용한 초창기 문제 해결 과정은 문제를 몇가지 규칙으로 단순화 하여 문제에 대한 모델을 구성하고, 규칙에 따라 문제를 해결하는 과정이었다(Rule-based System). 규칙 기반 시스템은 문제 해결 알고리즘이 규칙을 기반으로하므로 규칙만 정의하고 나면 전체적인 모델링 과정이 비교적 간단하게 구성되었다. 하지만 Computer 및 Computer Science가 발전함에 따라 복잡한 문제(기계학습, 빅데이터 등)를 해결하기 위해서는 좀 더 구체적이고 복잡한 형테의 모델이 필요하게 되었으며, 시스템이 점점 복잡해지고 이에 따른 객체지향, 관계형 데이터베이스등의 개념이 도입되면서 효과적인 모델링 방법이 Computer Science의 주요한 학문으로 자리잡게 되었다.

데이터 모델링(Data modeling) #

데이터 모델링은 설계과정에서 시스템의 중요한 개념을 논리적인 데이터 모델을 구성하는 작업을 의미하며, 일반적으로 물리적인 데이터베이스 모델 구현, 시스템 데이터베이스 반영 과정을 포함한다. 데이터 모델링은 단순 데이터를 다루는것 뿐만 아니라 시스템의 구체적인 Flow를 정의하는데도 매우 큰 영향을 미친다.

데이터 모델링 관련 지식 #

MVC 모델 #

MVC 는 Model, View, Controller의 약자 이다. 하나의 애플리케이션과 프로젝트를 구성할 때 그 구성 요소를 각각의 3가지의 역할로 구분된 디자인 패턴이다.

Image

MVC패턴 구성도 (출처)

모델, Model #

어플리케이션이 “무엇”을 할 것인지를 정의하는 것이며 데이터베이스, 처음 정의하는 상수, 초기화 값, 변수 등을 뜻한다.

뷰, View #

화면에 무엇인가를 보여주기 위한 역할을 한다. 컨트롤러 하위에 종속되어, 모델이나 컨트롤러가 보여주려고 하는 모든 필요한 데이터 및 객체의 입력 화면의 출력을 담당한다. 또한 클라이언트 측 기술인 html/css/javascript들을 모아둔 컨테이너라고 이해해도 된다.

컨트롤러,Controller #

모델이 “어떻게” 처리할지를 알려주는 역할을 할 것이고, 어플리케이션 화면의 로직처리 부분에서 사용자가 데이터를 클릭하고, 수정하는 것에 대한 "이벤트"들을 처리하는 기능을 뜻한다. 데이터를 View에 반영하여 사용자에게 알려주는 역할도 한다.

데이터 모델링 과정 #

데이터 모델링 과정은 기초모델링, 논리모델링, 물리모델링 3가지로 분류하여 순차적으로 데이터 모델링작업을 수행한다. 기초 모델렝의 경우 일반적으로 논리 모델링과 병행하여 진행하는 경우가 많으며, 그로 인해 논리모델링, 물리모델링 2개의 모델링 과정으로 이야기하는 경우도 많다.

Image

데이터 모델링 흐름 (출처)

데이터 기초 모델링 #

데이터 기초 모델링데이터 개념 모델링 이라고도 불리며 시스템에 핵심엔티티를 추출하고 이를 모델링 하는 작업을 의미한다. 데이터 기초 모델링 과정은 경우에 따라 "데이터논리모델링 -> 개념화" 과정으로 분류하기도 하며, 데이터 기초 모델링은 전체 시스템의 골격을 잡고 구체적인 모델 상세화작업을 시작하기 전 시스템의 큰 그림을 파악 할 수 있는 모델링 과정이므로 해당 단계에서 정확한 핵심 엔티티들을 파악하는 것이 중요하다.

데이터 논리 모델링 #

데이터 논리 모델링은 기초 모델링 과정에서 핵심 엔티티들을 이용하여 구현된 기초 모델링을 "상세화" 하는 과정으로 데이터의 입력, 출력 과정들을 고려한 완성된 형태의 모델 구현 과정을 의미한다. 또한 데이터베이스 설계 프로세스의 기초 설계 단계로써 비즈니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법이다. E-R다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조이며 물리적인 스키마 설계의 전 단계의 데이터 모델 상태를 나타낸다.

데이터 물리 모델링 #

물리 모델링은 논리 모델링 과정에서 완성된 데이터 모델을 실 DB에 맞게 적용하는 과정을 의미한다. 논리 모델명에서 작성된 데이터 타입들을 실제 데이터베이스에서 지원하는 타입에 맞게 변환하고, 데이터관의 관계에서 구현되기 어려운 부분을 적절한 형태로 변환하는 과정을 말한다. 데이터 물리 모델링은 환경에 의한 차이를 제외한 전체 모델링 구조가 논리 모델링과 동일해야하며, 물리모델링 과정에서 논리모델링 과정에 없던 (DB환경으로 인해 생성되는 테이블이 아닌) 새로운 개념의 테이블이 생성되거나, 새로운 관계가 추가되서는 안된다.

Suggested Pages #

0.0.1_20140628_0