ERD

개념적 ERD

  • 사각형은 개체 타입
  • 마름모는 관계 타입
  • 속성으로 정의됨
  • 속성 중 기본키, 슈퍼키, 후보키와 같은 키를 지정할 수 있음

관계 타입의 특성

  • 부분 참여: 개체 타입의 일부의 인스턴스만 관계에 참여해도됨 (단일선)
  • 전체 참여: 개체 타입의 모든 인스턴스가 관계에 참여해야함 (이중선)

클래식 표기법

  • 관계 타입 입장에서 매핑과 참여 정보를 표현함
  • 부분참여 → 단일선
  • 전체 참여 → 이중선

Crow’s Foot 표기법

  • 클래식 표기법과 비슷하지만, 관계를 표현하는 방법만 다르다.
  • 개체 사이에 마름모를 두지 않고 선으로 직접 연결함
  • 참여하는 두 개체 타입 입장에서 각각 관계를 서술함
  • 참여 정보
    • 동그라미 : 부분참여
    • 두개의 선 : 전체 참여
  • 매핑 정보
    • 까마귀발 : many
    • 그냥 실선: one

주의

매핑 정보와 참여정보는 상대 객체쪽을 봐야 한다.

개체 바로 옆에 표기된 정보는 상대측 정보임!

논리적 ERD

논리적 설계는 개념적 설계와 다르게 FK 개념이 있다.

표기 방법

  • 사각형은 변환된 테이블을 표현
  • 사각형 내에 속성이 나열됨 (상단은 PK 속성을 뜻함)
  • 관계를 마름모를 사용하지 않고 선으로 직접 연결

논리적 ERD의 특징

  • 식별관계와 비식별관계로 구분함
    • 비식별 관계: 점선 (부모 PK를 자식 테이블에 FK로 추가함)
    • 식별 관례 : 실선 (부모 PK를 자식테이블에 PK/FK로 추가함)
  • 자식 테이블에 추가된 FK 또는 PK를 명시적으로 나열함
  • 다대다 매핑을 표현할 수 없음 (대신 일대다 매핑으로 표현함)

PK-FK 관계

비식별 관계

  • 부모 개체 타입의 키값 없이 자식의 개체들을 유일하게 식별할 수 있는 관계
  • 개념적 → 논리적 ERD로 변환하는 방법
    • 부모, 자식 개체는 각각 부모, 자식 테이블로 변환함
    • 부모의 PK를 자식의 FK로 추가함
  • 논리적 ERD (관계 스키마)에서 FK인 속성이 존재하면 비식별관계!

식별 관계

  • 부모 개체 타입의 키값이 있어야만 자식의 개체들을 유일하게 식별할 수 있는 관계
  • 자식 개체 타입은 식별 관계에 항상 전체 참여해야함 (안그러면 구분할 수가 없다…)
  • 개념 → 논리 ERD 변환 방법 : 부모PK를 자식의 PK/FK로 추가함
  • 논리적 ERD (관계 스키마)에서 PK/FK인 속성이 존재하면 비식별관계!

논리적 ERD의 종류

IE 표기법

  • 논리적 ERD의 주요 특징을 모두 가짐
  • Crow’s Foot 표기법을 사용함
  • 개념적 ERD에서는 FK 개념이 없지만 논리적 설계의 IE 표기법은 FK 개념이 있다!

IDEF1X 표기법

  • IDEF0, IDEF1, IDEF2가 있다.
  • 마찬가지로 논리적 ERD의 주요 특징을 모두 가진다.
  • 매핑정보는 식별,비식별에 관계 없이 부모→자식의 방향만 표현함
    • 식별관계 : 실선, 비식별관계: 점선
  • 자식 쪽에 작은 원이 있다면 일대다 관계다.
  • 부모쪽에 마름모 기호가 있다면 자식 테이블이 부분참여인 관계다.
Last Updated: