← Lab
데이터 모델링(Data Modeling)이란?
스터디2023.08.03
- 데이터베이스
데이터 모델링(Data Modeling)의 이해
- 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위하여
추상화시키는 것이다. - 데이터 모델링을 진행하려면 고객과의 의소소통을 통해 고객의
업무 프로세스를 이해해야 한다.
=>업무 프로세스를 이해하였다면데이터 모델링 표기법을 사용하여 모델링을 해야한다. - 데이터 모델링은 고객이 쉽게 이해할 수 있어야 한다.
- 데이터 모델링은 고객의
업무 프로세스를추상화하고, 소프트웨어가분석,설계하며 점점 견고해진다. - 데이터 모델링은 고객의
비즈니스 프로세스를 이해하고비즈니스 프로세스의 규칙을 정의한다.
=> 정의된 비즈니스 규칙을 데이터 모델로 표현
데이터 모델링(Data Modeling)의 특징
데이터 모델링은추상화해야한다. 데이터의공통적인 특징을 찾고 최대한간략하게 표현해야한다.데이터 모델링은단순화해야한다. 복잡하지 않고누구나 쉽게 이해할 수 있어야 한다.데이터 모델링은명확해야한다. 데이터의 해석이모호하지 않고명확하게 해석되어야 한다.
추상화(Abstraction) <-> 현실세계를 간략하게 표현하는 것
단순화(Simple) <-> 누구나 쉽게 이해할 수 있도록 표현하는 것
명확성(Clarity) <-> 의미가 명확해야하며 단 한 가지의 의미를 가져야 하는 것
데이터 모델링(Data Modeling) 단계
: 데이터 모델링은 개념적 -> 논리적 -> 물리적 단계로 진행된다.
개념적 모델링(Conceptual Data Modeling)
- 엔티티(Entity)와 속성(Attribute)를 도출하고 **
ERD(Entity RelationShip Diagram)**를 작성한다. - 기업의 비즈니스 프로세스를 분석하고 기업 전체에 대해 데이터 모델링을 수행하는 것
- 복잡하게 표현하지 않고 중요한 관점을 모델링한다.
- 기술적인 용어는 가급적 사용하지 않는다.
개념적 모델링은 전사적 관점에서 데이터를 모델링한다. 또한 추상화 수준이 가장 높은 모델링이다.
따라서 계층, 네트워크, 관계형 모델에 관계없이 업무 측면의 관점으로 모델링을 진행한다.
논리적 모델링(Logical Data Modeling)
개념적 모델링을논리적 모델링으로 변환하는 작업식별자를 도출하고 필요한 모든 `관계(릴레이션, Relation) 정의정규화를 수행하여 데이터 모델링의독립성을 확보
논리적 모델링은 데이터 정규화를 통해 재사용성을 높인다.
이는 특정 데이터베이스 모델에 종속되며 식별자를 정의하고 관계, 속성등을 모두 표현한다.
물리적 모델링(Physical Data Modeling)
데이터베이스를 실제 구축하는 작업. (Table, Index, Function etc..)성능,보안,가용성등을 고려하여 구축
물리적 모델링은 구축할 데이터 베이스 관리 시스템(DBMS)에 테이블(Table), 인덱스(Index) 등을 구축하는 단계이다.
이때, 성능, 보안, 가용성 등을 고려하여 구축한다.
데이터 모델링(Data Modeling)의 관점(View)
- 데이터 : 비즈니스 프로세스에서 사용되는 **
데이터**를 의미. /구조분석,정적분석 - 프로세스 : 비즈니스 프로세스에서 수행되는 **
작업**을 의미. / '시나리오 분석,도메인 분석,동적 분석 - 데이터와 프로세스 :
프로세스와데이터간의관계를 의미. /CRUD(Create Read Update Delete) 분석
Reference
- 이기적 SQLD 이론서+문제집