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 #

어플리케이션이 “무엇”을 할 것인지를 정의하는 것이며 데이터베이스, 처음 정의하는 상수, 초기화 값, 변수 등을 뜻한다. 또한, Model이란 문서화된 설명을 가지고 명확하게 정렬 혹은 정의된 그림으로 표현한 것을 말한다. 서로 다른 모델은 서로 다른 관점을 반영한다. ex) 경영자의 관점, 설계자의 관점, 계약자의 관점

Data Model #

Data model이란 업무 요구사항들을 나타내는 데이터 구조와 업무규칙에 관한 명세서다. 시각적으로 Data Model은 Entity-Relationship Diagram으로 표현된다.

IDEF1X Model #

1981년 미 공군에서 ICAM(Integrated Computer Aided Manufacturing)프로젝트의 생산 시스템 분석 및 설계 목적으로 개발된 IDEF 방법론 중에 시스템 내부의 데이터를 모델링 하는 기법이 IDEF1X다. J.Martin이 제창한 Information Engineering에서 사용된 기법으로 한국에서 가장 많이 사용하며 정보공학 방법론이라 부른다.

뷰, View #

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

컨트롤러, Controller #

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

데이터 모델링 과정 #

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

Image

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

데이터 기초 모델링 #

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

데이터 논리 모델링 #

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

Logical Model #

Logical Model은 업무를 지원하는 데 필요한 정보와 업무규칙을 표현하는 것을 말하여 DBMS와는 독립적으로 표현할 수 있다.

데이터 물리 모델링 #

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

Physical Model #

Physical Model은 설계와 구축 사이에서 생성할 수 있는 데이터 구조다. DBMS에 의존적이며 SQL의 구성요소인 DDL로 구현된다. DBMS 성능 효과에 역점을 두어 모델링 해야 한다.

Incoming Links #

Related Data Sciences #

Suggested Pages #

0.0.1_20210630_7_v33