지난 글에서 말했듯 ERD에 대해 알아보도록 하겠습니다.

ERD ER-Diagram으로, 엔티티와 엔티티 간의 관계를 도식화 한 것입니다.

우선 ERD의 요소는 다음과 같습니다.

엔티티는 사각형, 관계는 마름모, 애트리뷰트는 타원으로 표현하며,

1:1, 1:N, M:N 혹은 단일/이중 실선으로 엔티티 사이의 관계를 맺어 줍니다.

이전에 말했듯 애트리뷰트 중 튜플을 식별할 수 있는 것라고 하는데,

ERD에서는 밑줄 친 애트리뷰트를 키로 표시합니다.

약한 엔티티, 식별관계, Multivalued Attribute는 다음 글에서 설명하도록 하겠습니다.

 

그렇다면 mini-world에서 ERD로 어떻게 표현하게 되는 것일까요?


"한 명의 교수는 하나의 과목만을 강의한다."

라는 사실이 있습니다. "하나의 과목은 한 명의 교수에 의해서만 강의된다." 라고도 바꿔 말할 수 있겠네요.

이를 다음과 같은 1:1 관계의 ERD로 나타낼 수 있습니다.

다음과 같이 변형해 보겠습니다. 

1:N 관계에서 N은 1 이상의 값이므로, 1:1 관계도 포함이 된다고 볼 수 있습니다.

N이 1보다 큰 여러 개라 해도, 한 교수님이 여러 과목을 강의하는 것은 보편적인 일이므로 납득이 갑니다.

또한 그 역인 어떤 과목은 한 명의 교수에 의해 강의된다는 사실도 납득이 가죠.

그렇다면 이렇게 변형한다면 어떻게 될까요?

이중 실선전체 참여의 의미를 지니기에, 모든 과목은 단 하나의 교수에 의해 강의된다는 의미가 됩니다.

뭐 이것도 억지를 부려서 아주 작은 신생 학과라 과목이 두세개 뿐이고 그걸 한 교수님이 가르친다면 말이 됩니다.

그래도 보편적으로 본다면 납득이 잘 가지 않습니다.

위의 ERD가 보편적으로 말이 되는 관계로 볼 수 있겠죠. 바로 M:N 관계입니다.

추후 MySQL에서 설명하겠지만, M:N 관계가 되면 관계를 테이블로 만들 수 있게 됩니다.

이번엔 모든 교수가 어떤 과목을 강의하고, 어떤 과목은 모든 교수에 의해 강의된다는 의미입니다.

순방향이든 역방향이든, 상식적으로 납득이 가지 않는 관계라고 볼 수 있습니다.

 

이어서 다른 문장을 보겠습니다.

이러한 관계는 충분히 납득이 가죠. 한 학과에는 반드시 한명 이상의 학생이 소속되었다는 의미 뿐입니다.

위의 ERD는 한 학과만 있는 대학이라고 본다면, 충분히 납득이 갑니다.

 

<틀린 점이 있다면 지적 부탁드립니다. 감사합니다.>

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기