Meme's IT

[SQLD] 데이터 모델의 이해 본문

공부/SQLD

[SQLD] 데이터 모델의 이해

Memez 2023. 10. 16. 17:21

# 모델링 

현실세계를 추상화, 단순화, 정확화해서 모델로 표현하는 과정

  • 추상화: 일정한 형식에 맞춰 표현
  • 단순화: 제한된 표기법이나 언어로 표현
  • 명확성: 이해가 쉽게 표현

 

모델링의 관점들

  • 데이터 관점(Data, What): 어떤 데이터와 관계 있는지 / 데이터 간의 관계는 무엇인지
  • 프로세스 관점(Process, How): 해당 데이터를 가지고 무엇을 해야하는지
  • 상관 관점(Data vs Process): 데이터를 가지고 하는 일에 따라 데이터가 어떻게 영향을 받고 있는지

 

 

# 데이터 모델링

정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법

 

목적

  • 정보에 대한 표기법을 통일해서 업무 내용을 분석하는 정확도를 높임
  • 데이터 모델을 기초로 DB를 생성

 

중요성 및 유의점

  • 중복을 최소화해라
  • 비유연성을 버려라: 사소한 업무변화에 데이터 모델이 수시로 바뀌면 안됨
  • 비일관성을 버려라: 데이터 간 상호 연관 관계에 대해 명확히 정의해야 함

 

데이터 모델링의 3단계 (키워드 위주로 외우자)

  1. 개념적 모델링: 업무 중심적, 포괄적, 추상화 수준이 높다
  2. 논리적 모델링: 시스템 구축/ key, 속성, 관계 / 재사용성 높음
  3. 물리적 모델링: 데이터베이스 이식 / 성능, 저장 등 물리적인 성격을 고려하여 설계

 

데이터 베이스의 스키마 구조: 외부  → 개념 → 내부

  • 외부 스키마: 사용자 관점, DB를 이용하는 유저와 상관이 있음
  • 개념 스키마: 사용자 관점을 통합 +  설계자 관점 데이터 모델링의 지향점
  • 내부 스키마: 개발자 관점저장 / DB가 물리적으로 저장된 구조

 

데이터 독립성(↔ 사상, Mapping)

  • 논리적 독립성: 외부 스키마가 개념 스키마의 변화에 무관 / 논리적 사상 없음
  • 물리적 독립성: 개념 스키마가 내부 스키마의 변화에 무관 / 물리적 사상 없음

스키마 구조와 독립성

# 데이터 모델링의 3요소

  • 엔티티(= 어떤것, Entity)
  • 속성(Attributes)
  • 관계(Relationships)

 

# 데이터 모델 표기법(ERD, Entity Relationship Model)

1976년 피터첸이 개발, IE / Baker 기법이 많이 쓰임

 

ERD 작업 순서

1. 엔터티 그리기

2. 엔터티 배치

중요한 순서대로 왼쪽 상단 → 오른쪽 상단 → 왼쪽 하단 → 오른쪽 하단으로 배치

업무 흐름상 타 엔터티와 많은 관계를 가진 중심 엔터티를 중앙에 배치

3. 엔터티간 관계 설정

4. 관계명 기술

5. 관계의 관계차수(참여도) 기술 (1:1, 1:N, M:N)

[그림 추가]

6. 관계의 필수 여부 기술

 

'공부 > SQLD' 카테고리의 다른 글

[SQLD] 성능 데이터 모델링  (0) 2023.10.18
[SQLD] 식별자  (0) 2023.10.17
[SQLD] 관계 (Relationship)  (0) 2023.10.17
[SQLD] 속성(Attributes)  (0) 2023.10.16
[SQLD] 엔터티 (Entity)  (0) 2023.10.16