본문 바로가기
IT 자격증 공부/SQLD

SQLD - 데이터 모델링의 이해1(데이터모델링단계)

by 코딩하는 랄로 2023. 8. 15.
728x90

데이터 모델링이란

개발자가 데이터 베이스를 만들고 다루기 위해서는 데이터 모델링이라는 과정이 필수적이다. 

 

데이터 모델링이란,
현실 세계를 데이터 베이스로 표현하기 위해 추상화하는 것

즉, 현실에서의 고객의 요구에 따라 데이터 베이스라는 가상세계에 추상화하는 단계가 필요한 데 이를 데이터 모델링이라고 하는 것이다.

 

데이터 모델링에 대해서 더 자세히 살표보면,

  • 데이터 모델링은 현실 세계를 데이터 베이스로 표현하기 위해서 추상화한다.
  • 데이터 모델링을 하기 위해서는 Client와의 의사소통을 통해 업무 프로세스를 이해해야 한다.
  • ERD 등 데이터 모델링 표기법을 사용해서 모델링해야 한다.
  • Client가 쉽게 이해할 수 있도록 설계해야 한다.

즉, 데이터 모델링은 Client의 비즈니스 프로세스를 이해하고 그에 대한 규칙을 정의(추상화), 정의된 비즈니스 규칙을 데이터 모델로 표현하는 과정인것이다.

 

 

데이터 모델링의 특징

데이터 모델링의 특징으로는 다음 3가지가 있다.

  • Abstraction(추상화) : 공통적인 특징을 찾고 간략하게 표현
  • Simplication(단순화) : 복잡하지 않게 누구나 이해할 수 있게 표현
  • Clarity(명확성) : 의미적 해석이 모호하지 않고 명확하게 해석되어야 한다.

데이터 모델링은 이러한 특징을 가지지만, 바꾸어 말하면 데이터 모델링을 통해서 데이터베이스가 이러한 특징을 가지도록 설계하고 생성하는 것이 주된 목적인 것이다.

 

 

 

데이터 모델링 단계

데이터 모델링은 개념-논리-물리의 단계를 걸쳐 진행하게 되는데 각각은 다음과 같다. 

 

개념적 모델링(Conceptual Data Modeling)

Client의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링을 정하는 단계이다. 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링을 하게 되는데 이 때에 Client의 관점(전사적 관점)에서 모델링하며 기술적인 용어는 가급적 자제하는 것이 좋다. 그렇기 때문에 추상화 수준이 가장 높은 수준의 모델링이다.

 

엔터티(Entity)속성(Attribute)을 도출하고 개념적 ERD(Entity Relationship Diagram)를 작성한다. 엔터티란 실체, 독립체라는 뜻으로 데이터 모델링에서 사용되는 객체를 뜻한다.

 

즉, 엔터티는 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 어떤 것이라고 말할 수 있다. 어떤 것이라고 일컫는 이유는 엔터티는 추상적인 것이기 때문에 사람, 장소, 물건, 사건, 특정 개념이 될 수 있기 때문이다.

 

예를 들어, 주문 정보 시스템에서 주문자 정보 테이블이 있다고 가정하면 주문자 정보가 엔터티가 되고 주문자 정보 테이블의 각 칼럼이 속성(attribute)가 되는 것이다.

 

 

논리적 모델링(Logical Data Modeling)

개념적 모델링을 논리적 모델링으로 변환하는 작업이다. 식별자를 도출하고 필요한 모든 Relation(관계)를 정의한다. 여기서 식별자란 하나의 엔터티를 구성하는 여러개의 속성 중에 대표할 수 있는 속성을 의미한다. 즉 Primary Key로 지정할 수 있는 칼럼을 식별자라고 한다.

 

또한 정규화를 수행하여 재사용성을 높이고 데이터 모델의 독립성을 확보하여야 한다. 또한 정규화를 통한 중복된 데이터를 없앰으로써 데이터의 무결성(Integrity)을 유지할 수 있어야 한다.

 

 

물리적 모델링(Physical Modeling)

개념적, 논리적 모델링을 거쳐 만들어진 데이터베이스 모델을 실제 구축하는 단계이다. 즉, 데이터베이스의 테이블, 인덱스, 함수 등을 생성한다.

 

이 단계에서는 단순히 구축만 하는 것이 아닌 데이터 베이스의 성능, 보안, 가용성을 고려하여 효율적이면서 안전한 데이터 베이스를 구축하여야 한다.

 

 

 

데이터 모델링 관점

관점(View) 설명(Description)
데이터 - 비즈니스 프로세스에서 사용되는 데이터를 의미
- 구조 분석, 정적 분석
프로세스 - 비즈니스 프로세스에서 수행하는 작업을 의미
- 시나리오 분석, 도메인 분석, 동적 분석
데이터와 프로세스 - 프로세스와 데이터 간의 관계를 의미
- CRUC(Create, Read, Update, Delete) 분석

 

 

 

2023.08.16 - [IT 자격증 공부/SQLD] - SQLD - 데이터 모델링의 이해2

 

SQLD - 데이터 모델링의 이해2

ERD(Entity Relationship Diagram) 1970년도에 데이터 모델링이 필수로 자리 잡았을 당시, 데이터 베이스 모델 또는 비즈니스 프로세스에 대한 표준이 아직 정립되지 않았을 때, Peter Chen이 Entity Relationship Mo

codingralro.tistory.com

 

728x90