관리 메뉴

Rootable의 개발일기

데이터 모델링 본문

데이터베이스

데이터 모델링

dev-rootable 2023. 6. 12. 21:14

[해당 글은 공부 목적으로 아래 블로그 및 사이트 등을 참고하여 작성되었습니다.]

 

📌 데이터 모델이란?

 

현실 세계를 데이터베이스로 구축할 수 있도록 추상화한 것이다.

 

출처 : 불친절한 SQL 프로그래밍 by 정희락

 

📌 데이터 모델링이란

 

현실 세계의 데이터에 대해 약속된 표기법으로 표현하는 과정으로 데이터 모델을 기반으로 데이터베이스를 구축하기 위한 분석/설계 과정을 말한다.

 

Reference:

https://doorbw.tistory.com/229

 

[DB 이론] #3_데이터 모델링(Data Modeling)

안녕하세요. 문범우입니다. 이번에는 Data Base에서 데이터 모델링(Data Modeling)에 대해서 알아보도록 하겠습니다.데이터 모델링을 보다 잘 이해하려면 앞에서 학습한 엔터티, 속성, 관계, 식별자에

doorbw.tistory.com

 

🔎 데이터 모델링을 하는 이유

 

1. 데이터베이스 자원을 효율적으로 사용할 수 있도록 한다.

2. 엔티티, 속성, 관계 등을 명확히 정의하여 데이터의 모호함을 제거하고 이상 현상을 방지한다.

3. SQL 쿼리 성능을 좌우하므로, 이는 개발 생산성과 연결된다.

 

🔎 데이터 모델링 특징

 

1. 추상화

  - 현실 세계를 일정한 형식에 맞춰 간략하게 표현해야 한다.

 

2. 단순화

  - 누구나 쉽게 이해할 수 있도록 제한된 표기법이나 언어를 사용해야 한다.

 

3. 명확화

  - 명확하게 의미가 해석되어야 하고, 한 가지 의미만을 가져야 한다.

 

Reference:

https://coding-factory.tistory.com/869

 

[DB] 데이터 모델링이란 무엇인가?

데이터 모델링이란? 데이터 모델링(data modeling)은 복잡한 현실세계의 데이터를 단순화시켜 데이터베이스로 표현하기 위한 작업이라고 생각하시면 되겠습니다. 어떠한 시스템을 만들게 될 때, 프

coding-factory.tistory.com

 

🔎 데이터 모델링 과정

 

1. 요구사항 수집 및 분석

 

 - 사용자들의 요구사항을 분석하고, 데이터베이스 구축의 범위를 결정

 

2. 설계

 

📢 개념적 데이터 모델링(ERD 작성)

 

업무 요건을 충족하는 데이터의 주제 영역과 핵심 데이터 집합을 정의하고 그 집합들 사이의 관계를 정의하는 작업을 말한다. 또한, 주제 영역을 통해 기관이나 기업의 전체 업무 범위와 업무 구성 요소를 파악할 수 있다.

 

경우에 따라서는 개념 데이터 모델의 상위 모델인 개괄 데이터 모델을 둘 수 있다. (상위 단계로 갈수록 추상화가 높다)

개괄 데이터 모델은 데이터 영역과 데이터 집합을 업무 영역에 국한하지 않고 전사적인 관점에서 정의하는 것으로, 각 데이터 영역은 다른 데이터 영역과 관계를 가질 수 있다. 또한, 기업의 이익 관점이 아닌 공익적인 관점에서 공통으로 사용되는 속성을 좀 더 원시화된 형태의 수준으로 정의한다. 이처럼 전사 수준에서 사용하는 데이터를 전체적으로 표현하는 틀로서 ER 다이어그램이 있고, 해당 다이어그램으로 작성된 모델을 개념 데이터 모델이라 한다. 따라서, 개념 데이터 모델은 핵심 Entity와 핵심 Entity들 사이의 관계를 정의한 모델이라 할 수 있다.

 

출처 : DATA ON-AIR 사이트 (개념 데이터 모델 편)

 

출처 : DATA ON-AIR 사이트 (개념 데이터 모델 편)

 

주제 영역(Subject Area)
업무상 친밀도가 높은 데이터 집합을 하나의 주제 영역으로 정의한다. 일반적으로 업무를 명확히 구분하는 범위를 하나의 주제 영역으로 정의하기도 하나 주의할 점은 서로 다른 주제 영역간 공유하는 엔터티의 수가 가급적 적게 해야 한다.

주제 영역의 작성 기준
1. 원자성
  - 하나의 단위 주제 영역은 가급적 다른 주제 영역의 엔터티나 관계의 영향을 받지 않는 엔터티의 모임이어야 한다.

2. 집중성
  - 단위 주제 영역 내의 엔터티와 관계는 단위 주제 영역 내에 집중되어야 한다.

3. 업무 지향성
  - 주제 영역을 명명하는데 있어 업무적 명확성을 나타내는 단수 단위로 명명할 수 있어야 한다.

 

📢 논리적 데이터 모델링(관계형 데이터 모델)

 

개념 데이터 모델을 상세화 하여 논리적인 데이터 집합, 관리 항목, 관계를 정의한 모델을 말한다. 따라서 모든 업무의 데이터 구조를 구체적으로 정의하고 최신의 내용으로 관리될 수 있도록 해야 한다. 또한, 데이터 구조 정의시 상세하게 정의될 수 있는 모든 정보를 포함해야 한다.

 

데이터가 정규화 등을 통해 논리 데이터 모델링 단계에서 상세하게 관리되면 데이터 중복을 방지할 수 있어 데이터 불일치도 방지한다. 이는 궁극적으로 데이터 품질 향상을 이끈다. 그리고 현재의 업무 상태를 그대로 반영하는 것이 중요하므로 논리 데이터 모델의 변경 사항 이력을 관리하는 것이 도움이 된다.

 

출처 : DATA ON-AIR 사이트 (논리 데이터 모델 편)

 

출처 : DATA ON-AIR 사이트 (논리 데이터 모델 편)

 

📢 물리적 데이터 모델링(SQL)

 

논리적 데이터 모델을 사용하고자 하는 각 DBMS 특성에 맞게 데이터베이스 저장 구조(물리 데이터 모델)로 변환하는 것이다. 구체적으로 설계한 엔티티를 통해 테이블을 생성하는 것이다. 이 과정에서 개체 및 속성에 대한 명명, 데이터 형태와 길이, 그리고 영역 값 등을 결정한다. 이러한 내용 변환뿐만 아니라 데이터의 저장공간, 데이터의 분산, 데이터 저장 방법 등을 함께 고려한다. 따라서, 이 과정에서 결정되는 많은 부분이 데이터베이스 운용 성능으로 나타난다고 볼 수 있다.

 

출처 : DATA ON-AIR 사이트 (물리 데이터 모델 편)

 

References:

https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&pageid=1&keyword=%EB%85%BC%EB%A6%AC+%EB%8D%B0%EC%9D%B4%ED%84%B0+%EB%AA%A8%EB%8D%B8&uid=313

 

개념 데이터 모델

정의 및 관리 목적 개념 데이터 모델이란 업무 요건을 충족하는 데이터의 주제 영역과 핵심 데이터 집합을 정의하고 관계를 정의한 모델을 의미한다. 기관이나 기업의 업무 특성에 적합한 주제

dataonair.or.kr

https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&pageid=1&keyword=%EB%85%BC%EB%A6%AC+%EB%8D%B0%EC%9D%B4%ED%84%B0+%EB%AA%A8%EB%8D%B8&uid=315 

 

논리 데이터 모델

정의 및 관리 목적 논리 데이터 모델이란 개념 데이터 모델을 상세화 하여 논리적인 데이터 집합, 관리 항목, 관계를 정의한 모델을 말한다. 논리 데이터 모델은 전체 데이터 구조에서 가장 핵심

dataonair.or.kr

 

 

https://dataonair.or.kr/db-tech-reference/d-guide/da-guide/?mod=document&pageid=1&keyword=%EB%85%BC%EB%A6%AC+%EB%8D%B0%EC%9D%B4%ED%84%B0+%EB%AA%A8%EB%8D%B8&uid=316

 

물리 데이터 모델

정의 및 관리 목적 물리 데이터 모델이란 논리 데이터 모델을 DBMS의 특성 및 성능을 고려하여 구체화시킨 모델을 말한다. 물리 데이터 모델은 DBMS 선정 이후에 해당 DBMS 상에서 최상의 성능을 보

dataonair.or.kr

 

'데이터베이스' 카테고리의 다른 글

인덱스(Index)  (0) 2023.09.07
트랜잭션  (0) 2023.08.07
데이터 무결성  (0) 2023.06.15
정규화(Normalization)  (0) 2023.06.14
E-R 모델  (0) 2023.06.13