본문 바로가기
  • 바쁜 일상 속 작은 기억
SQLD

[SQLD] 데이터 모델링의 이해 - 데이터 모델링

by hellomingure 2023. 11. 4.

데이터 모델링 이란?

현실 세계의 모든 데이터를 컴퓨터라는 제한된 공간에 다양한 데이터를 효과적으로 저장하는 방법을 설계해 가는 활동/과정을 의미

 

제한된 공간은 데이터베이스(Database, DB)를 생각하면 된다. 

Data: 원하는 결과를 얻기 위해 증명, 판단, 결정하는 과정에서 필요한 자료. (현실세계에 존재하는 모든 것)

Database: '컴퓨터'라는 가장 막강한 저장 공간을 활용, 제한적인 공간. 무한대로 모든 자료를 담을 수 없음.

 

데이터 모델링의 3가지 특징

1. 추상화: 개체가 가지고 있는 특성을 파악하여 데이터 모델링의 특정한 약속에 따라 추상화
2. 단순화:
최대한 함축적으로 담아내 단순하게 표현
3. 명확화:
DB에 담아낸 내용만으로 개체를 의미하는지 알 수 있도록 명확화 

데이터 모델링의 3가지 관점

1. 데이터 관점: 어떤 목적으로 활용될 데이터인지, 데이터 간에 어떤 관계를 형성하고 있는지 고민
2. 프로세스 관점: 데이터를 통해 어떤 일을 처리할 것인지 고민
3. 데이터-프로세스 연계관점: 특정한 프로세스를 처리할 때 데이터가 어떤 영향을 주고 받는지 고민

데이터 모델링의 핵심 3가지

1. 개체 (Entity)
2. 속성 (Attribute)
3. 관계 (Relationship)

 

 

개념적, 논리적, 물리적 모델링

개념적 모델링

현실 세계의 데이터를 개념적으로 파악하여 개체 타입, 속성 등을 개체(Entity) 중심으로 모델링.
이 과정을 통해 개체, 속성, 식별자, 관계가 정의됨.
  • 모델링 과정 중 가장 먼저 진행되는 모델링
  • 개체(Entity) 간의 관계 설정 / 정의
  • 현실 세계의 데이터를 파악하고 분석
  • 추상화 수준이 가장 높은 과정

논리적 모델링

개념적 모델링을 통해 정의된 내용을 바탕으로 실제의 스키마로 변환(Mapping) 하는 과정
  • 모델링 과정 중 2번째로 진행되는 모델링
  • 스키마로 변환하는 과정 (매핑) - 기본키 정의
  • 매핑 과정에서 나타나는 이상현상 중복을 제거해 가는 정규화 과정이 포함됨.
  • 재사용성이 가장 높은 모델링
개념적 모델링 -> [mapping] -> 논리적 모델링
개체 (Entity) 실제 테이블 (Table)
속성 (Attribute) 실재 컬럼 (Column)
식별자 기본키 (Primary Key)
관계 (Relation) 외래키 (Foreign Key)

물리적 모델링

논리적 모델링을 통해 정의된 다양한 스키마 정보를 물리적 공간에 정의하는 과정
  • 모델링 과정 중 마지막 과정
  • 물리적 공간 DBMS(Database Management System)의 특성정보로 변환, 정의함
  • DBMS의 종류 확인 및 결정, 테이블의 컬럼의 제약조건을 설정하여 각 컬럼의 데이터 유형과 크기를 결정
  • 사용자의 사용량과 프로세스 분석을 통해 DBMS의 성능과 프로세스 운영 방법 등을 고려하여 진행

 

다이어그램

개념적 모델링 과정에서 현실 세계의 개체와 개체 간의 관계를 특정한 기호로 표현하는 가장 대표적인 모델

E-R 모델 기본 기호

모델링에서 '연결'이라는 단어는 사용하지 않고, 관계로 형성함.

 

학생 개체와 과목 개체는 서로 성적이라는 관계가 형성된다.

E-R 모델