[데이터베이스] peter-chen 다이어그램을 IE표기법으로 바꾸기

이윤지·2023년 9월 12일

데이터 베이스

목록 보기
1/1
post-thumbnail

📌 peter-chen 다이어그램 표기법

1. 표시

ER다이어그램 표기법
ER다이어그램 표기법2

2. 관계

1. 전체 참여

  • A-B 관계에서 개체 집합 A의 모든 개체가 A-B관계에 참여함.
  • 개체 사이의 링크는 2줄로 표현.
    ex. 학과 - 교수

2. 부분 참여

  • A-B관계에서 개체 집합 A의 일부 개체만 A-B관계에 참여함.
  • 개체 사이의 링크는 1줄로 표현.
    ex. 학생 - 과목 (학생의 경우 휴학생이 있기 때문에, 학생 일부만 참여할 수도 있음)

3. 존재 종속

  • 어떤 개체 B의 존재가 개체 A의 존재에 종속됨.
    ex. 대출(A) - 상환(B). 대출을 해야만 상환을 할 수 있음.


📌 IE(Information Engineering) 표기법

1. 표시

  • 개체 : 타입에 관계없이 직사각형으로 표시
  • 관계 : 여러 모양의 선으로 표시할 수 있으며, 3가지를 조합해서 사용 (위의 표 참고)
    • 0 : 0개
    • |  : 1개
    • < : N개

이때! 참여 관계와 관계 대응수를 나타내는 기호 사이의 선은 필수 참여를 나타내는 기호가 아니라 단지 구분선이다.❓❕



💡 peter chen다이어그램 ➡️ IE 표기법

📌 peter chen 다이어그램

학교 ERD

📌 IE 표기법

학교 IE

📒 엔터티 해석

각각의/하나의기준 엔터티관계 차수관련엔터티선택 사양(필수/선택)관계명
하나의교수는하나 이상의학생을때때로지도한다
하나의교수는하나 이상의과목을때때로강의한다
각각의학생은하나의교수에게항상지도받는다
각각의학생은하나 이상의과목을때때로등록한다
각각의과목은하나의교수에게때때로강의된다
각각의과목은하나 이상의학생에게때때로등록된다

🔎 엔터티 측면에서 관계 읽기

1. 교수

  • 교수 ➡️ 학생
    • 하나의 교수는 하나 이상의 학생을 때때로 지도한다.
    • 이유 : 교수가 연구년이면 학생지도를 안 하기 때문이다. 따라서 지도를 안 하는 경우(0), 하나의 학생을 지도하는 경우( | ), 하나 이상의 학생을 지도하는 경우(<)를 합해서 위와 같이 표기한다.
  • 교수 ➡️ 과목
    • 하나의 교수는 하나 이상의 과목을 때때로 강의한다.
    • 이유 : 교수가 연구년이면 과목을 강의 안 한다. 따라서 강의를 안 하는 경우(0), 하나의 과목을 강의하는 경우( | ), 하나 이상의 과목을 강의하는 경우(<)를 합해서 위와 같이 표기한다.

2. 학생

  • 학생 ➡️ 교수
    • 각각의 학생은 하나의 교수에게 항상 지도받는다.
    • 이유 : 학생은 항상 지도 교수가 있기 때문에 | 과 같이 표기한다.
  • 학생 ➡️ 과목
    • 각각의 학생은 하나 이상의 과목을 때때로 등록한다.
    • 이유 : 휴학생은 과목을 등록하지 않는다. 따라서 휴학생이 과목 등록 안 하는 경우(0), 하나의 과목을 등록하는 경우( | ), 학생이 하나 이상의 과목을 등록하는 경우(<)를 합해서 위와 같이 표기한다.

3. 과목

  • 과목 ➡️ 교수
    • 각각의 과목은 하나의 교수에게 때때로 강의된다.
    • 이유 : 과목이 학생이 모이지 않아 폐강될 수 있다. 따라서 과목이 폐강되는 경우(0), 한 명의 교수에게 강의되는 경우( | )를 합해서 위와 같이 표기한다.
  • 과목 ➡️ 학생
    • 각각의 과목은 하나 이상의 학생에게 때때로 등록된다.
    • 이유 : 과목은 교수가 배정되지 않아 폐강될 수 있다. 따라서 과목이 폐강되어 학생이 과목을 못 등록한 경우(0), 하나의 학생이 과목을 등록한 경우( | ), 하나 이상의 학생이 과목을 등록한 경우(<)를 합해서 위와 같이 표기한다.


🔎 IE 관계

1. 교수 ↔️ 학생

  • 교수와 학생은 강한 개체 타입 간의 관계('지도')이므로 점선으로 표시한다.
  • 교수와 학생은 서로 의존하지 않는다.

2. 교수 ↔️ 과목

  • 교수와 과목은 강한 개체('교수')와 약한 개체('과목') 타입 간의 관계('강의')이므로 실선으로 표시한다.
  • 교수가 과목을 강의해야만 과목이 설강되므로, 과목은 교수에게 의존하는 관계이다.

3. 학생 ↔️ 과목

  • 학생과 과목은 강한 개체('학생')와 약한 개체('과목') 타입 간의 관계('등록')이므로 실선으로 표시한다.
  • 학생이 과목을 등록해야만 과목이 설강되므로, 과목은 학생에게 의존하는 관계이다.

관계 표기법

  • 1:N 관계의 경우
    '지도' 관계와 '강의' 관계는 따로 관계 엔터티로 작성하지 않았다. 왜냐하면 1:N의 관계 타입은 1측의 개체 타입에 대응되는 개체 T의 기본 키를 N측의 개체 S에 외래 키로 포함시킬 수 있기 때문이다.
    관계 타입이 가지고 있는 모든 단순 애트리뷰트는 개체 S에 포함시킨다.
    물론 1:N 관계도 관계 엔터티로 만들어도 무방하다. 그러나, 관계 엔터티를 만드는 것보다, 위의 그림과 같이 만드는 것이 더 좋다.
  • N:M 관계의 경우
    '등록' 관계는 관계 엔터티로 작성했다.
    참여 개체 타입에 해당하는 개체들의 기본 키를 관계 엔터티의 외래키로 포함시켜야 한다. 해당 조합은 관계 엔터티의 기본 키가 된다.
    관계 타입이 가지고 있는 모든 단순 애트리뷰트는 관계 엔터티에 포함시킨다.
profile
안드로이드/iOS 개발자

0개의 댓글