DB모델링 - 개념적 모델링

CHOISUJIN·2023년 3월 14일
0
post-thumbnail

📍 개념적 모델링

ERD(Entity-Relationship Diagram)

개체 관계도, 요구분석사항에서 얻어낸 엔티티와 속성들을 그림으로 그려내어 그 관계를 도출한 것

  • 개념적 모델링 순서
  1. 업무 분석 자료를 토대로 엔티티 도출하여 엔티티 기술서 작성
  2. 엔티티 기술서를 토대로 ERD로 엔티티 작성
  3. 주식별자 선정
    1) 컬럼값 중복 여부 확인을 통한 주식별자 선정
    2) 복합키 사용 여부
    3) 인위적 주식별자
  4. 엔티티 간의 부모-자식 관계 설정
  5. 관계의 카디널리티(수적 관계) 지정
    • 1:N 관계 -> 일반적으로 1 부모, N 자식
    • 1:1 관계 -> 두 엔티티를 하나의 엔티티로 합침
    • M:N 관계 -> 정규화를 통해 M:N 관계 해소
  6. 관계의 참여도(필수/선택)파악
  7. 식별/비식별 관계 판단

    우선 비식별 관계를 맺어 부모의 주식별자가 자식의 외래식별자로 추가되었을 때
    1) 자식 엔티티의 주식별자가 모든 인스턴스가 구분이 되면 비식별자 관계 유지
    2) 자식 엔티티의 주식별자가 모든 인스턴스를 구분하지 못하면 식별관계로 변경

🔍 ERD 표기법 (식별자)

  • 주식별자(Primary Identifier)
    - 엔티티에 소속된 인스턴스들을 구별하는 기준 역할을 하는 속성
    - 주식별자는 하나가 아닌 여러 속성일 수 있음(복합키)
    - 엔티티의 속성 중 주식별자 속성이 없다면 새로운 속성을 만들어준다(인위적 주식별자)
    - 주식별자는 유일성, 최소성, 불변성, 존재성의 특징을 갖는다
  • 외래식별자(Foreign Identifier)
    - 연관 있는 엔티티 간의 연결고리 역할을 하는 속성
    - 관계가 있는 두 엔티티를 부모, 자식 엔티티로 구분한 후,
    부모의 주식별자와 공통 속성이 자식에게도 존재하면 해당 속성을 외래식별자로 지정.
    존재하지 않으면 부모의 주식별자 속성을 자식에게 추가한 후 외래식별자로 지정

🔍 ERD 표기법 (관계)

  • 엔티티 간의 부모-자식 관계
    상호 관계가 있는 두 엔티티 중에서 어느 쪽의 정보가 먼저 생성이 되는가에 따라 결정
  • 참여도
    어떤 기준이 되는 엔티티가 있을 때 반드시 대응되는 엔티티가 존재해야 한다면 '필수', 존재할 수도, 하지 않을 수도 있다면 '선택'
  • 카디널리티
    두 개의 엔티티 간 관계에서 속해 있는 인스턴스들을 수적으로 표현

🔍 ERD 표기법 (식별-비식별 관계)

  • 식별 관계(Identifying Relationship)
    - 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계
    - PFK로 표시된다(외래 식별자가 주식별자의 역할도 함)
    - 실선으로 관계 표시
  • 비식별 관계(Non-Identifying Relationship)
    - 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자 역할을 하지 못하고 단순히 새로운 속성으로 추가되는 관계
    - FK로 표시된다(단지 외래식별자의 역할만 한다)
    - 점선으로 관계 표시
profile
매일매일 머리 터지는 중 ᕙ(•̀‸•́‶)ᕗ

0개의 댓글