본문 바로가기

데이터베이스

데이터 모델링의 개념

728x90
반응형
SMALL

데이터 모델링

  • 개념적 구조를 정하는 것 => 논리적 모델링
  • 데이터베이스 구축에 필요한 걸 정하는 것 => 물리적 모델링

이렇게 크게 두가지로 나뉘어지며 이번 블로그 글에서는 개념에 대해서 정리하고 공부해보고자 한다.

 

데이터 모델링이란?

 - 구조나 형태가 없는 데이터들을 사람들이 한눈에 이해하기 쉽게 정리 (데이터 모델을 만드는 것) 하는 것을 의미한다.

 

데이터 모델링의 목적은?

 - 저장하고자 하는 데이터에서 Entity, Attribute, Relationship, Constraint를 파악하고 데이터베이스를 구축할 때 기반이 될 모델을 만드는것

용어 정리

  • Entity (개체) : 저장하고자 하는 데이터의 주체 (대상)을 의미한다. (데이터베이스의 로우에 해당)
  • Entity Type : 일반화한 Entity의 종류 (데이터베이스의 테이블에 해당)
  • Attribute (속성) : Entity에 대해서 저장하려는 내용 (데이터베이스의 테이블의 Column에 해당)
  • Relationship (관계) : Entity들 사이의 연결점
  • Contraint (제약사항) : 각 Entity나 Relationship에 대해서 지켜야하는 규칙

 

Relational Model이란?

 - Relation은 데이터베이스에서 하나의 테이블을 의미함, 즉 테이블로 정리한 모델 이라는 뜻

 - 데이터 베이스에서 Foreign Key(외래키)를 통해 만들어지는 것들을 우리는 Relationship (관계)이라고 표현

        - child table에서 외래키를 살펴보면 parent table과의 관계를 짐작할 수 있음

 

 

 

Entity - Relationship Model (ERM) 이란?

 - Entity와 Relationship을 중심으로 만드는 모델

ERM 예시 [출처 : https://www.geeksforgeeks.org/er-diagram-of-a-company/]

 * 개체간의 관계들을 파악하는 것이 중요하다!

 

 

데이터 모델의 종류 

  • 개념모델 (Conceptual Model)

 - attribute의 내용은 구체화 하지 않고 큼직한 Entity와의 연결만을, 대략적인 구조를 보고자 할때 사용함

 

개념 모델 예시

  • 논리 모델 (Logical Model)

 - attribute와 내부의 PK (primary key) 와 FK (Foreign Key)를 표시한다.

 - 각 Entity의 Relationship또한 표현한다.

 

논리 모델 예시

  • 물리 모델 (Physical Model)

 - 가장 구체적인 모델로 데이터베이스를 구축 할 수 있을 정도로 자세한 모델이며 각 attribute에서 사용되는 데이터 타입, 변수들의 이름, 인덱스 추가 등의 정보들을 다 알려주어야 함

물리 모델 예시

[위 사진 출처 : www.couchbase.com/blog/conceptual-physical-logical-data-models/]

 

What is Data Modeling? Conceptual, Physical, Logical

Get introduced to data modeling and the 3 progressive types of data models: conceptual data modeling, logical data modeling, and physical data modeling.

www.couchbase.com

 

 

 

좋은 데이터 베이스는 좋은 데이터 모델링에서 나온다.

 

728x90
반응형
LIST

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

물리적 모델링  (0) 2023.08.22
정규화  (0) 2023.08.22
논리적 모델링  (0) 2023.08.21