Jasontreks Blog

DM 보내기


Send

데이터 모델링

데이터베이스를 구축할 땐 복잡한 개념을 단순화, 추상화하고 이를 구체화한 설계하는 과정이 필요하다. 이 과정은 개념적 모델링, 논리적 모델링, 물리적 모델링이라는 세 단계로 나뉜다.


I. 데이터 모델링 과정

  1. 개념적 모델링: 업무의 핵심 개념을 구분하고 관계 정의. ERD 그리기.
  2. 논리적 모델링: 핵심 개체와 개체의 속성을 구체화, 기본키 지정, 정규화 수행
  3. 물리적 모델링: SQL을 작성해 실행, 데이터베이스 생성

II. ER 모델

ER 모델은 개체와 개체간의 관계를 표현한 다이어그램으로 표현한다. 다이어그램은 개체, 속성, 관계로 구성된다.

개체 타입

개체의 특징을 정의한 것으로 사각형으로 나타낸다.

  • 강한 개체: 다른 개체 없이도 독립적으로 존재 가능. 한 줄 사각형
  • 약한 개체: 다른 개체가 있어야 존재 가능. 두줄 사각형

속성

속성은 동그라미로 표현된다.

  • 밑줄: 키 속성
  • 점선 밑줄: 약한 개체의 키 속성
  • 두줄 동그라미: 다중값 속성
  • 점선 동그라미: 유도 속성
  • 자식 동그라미: 복합 속성

관계 타입

관계 타입은 마름모 모양으로 나타낸다.

관계 유형 - 차수

개체들이 몇대 몇으로 관께를 맺는지에 따른 유형이다.

  • 1진 관계: 한 개체가 스스로 관계를 맺음. 예: 학생들끼리 멘토링 관계를 맺음
  • 2진 관계: 두 개체가 관계를 맺음. 예: 학생과 학과가 소속이라는 관계를 맺음
  • 3진 관계: 세 개체가 관계를 맺음.

관계 유형 - 대응 수

개체들이 몇대 몇으로 관계를 맺을 수 있는지에 따른 유형이다.

  • 1:1 : 개체들이 서로 하나씩만 관계를 맺을 수 있다. 예: 사원과 사원증
  • 1:N : 한 개체가 다른 여러 개체와 관계를 맺을 수 있다. 예: 학과와 학생
  • N:M : 여러 개체와 여러 개체가 복합적인 관계를 맺을 수 있다. 예: 학생과 수강

대응수의 최소값(min): 관계에 참여하는 개체수가 적어도 min 이상은 되어야 함. 대응수의 최대값(max): 관계에 참여하는 개체수가 max를 넘어선 안됨.

min = 0: 반드시 참여할 필요가 없음 max = *: 임의의 수만큼 참여할 수 있음

ISA 관계

개체 간 상하관계를 표시하는 관계로, 역삼각형으로 표시한다.

  • 상위 개체 타입(슈퍼클래스): 학생
  • 하위 개체 타입(서브클래스): 휴학생, 재학생, 졸업생

참여 제약조건

개체 집합 내 모든 개체가 관계에 참여하는지에 따라 전체 참여와 부분 참여로 구분

  • 전체 참여: 모든 개체가 참여. 두 줄로 표시. 최소값 1 이상
  • 부분 참여: 한 줄로 표시. 최소값 0