지난 글에서 말했듯 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는 한 학과만 있는 대학이라고 본다면, 충분히 납득이 갑니다.
<틀린 점이 있다면 지적 부탁드립니다. 감사합니다.>
'전공 > Database' 카테고리의 다른 글
데이터베이스 : 관계 모델과 제약 조건 (0) | 2022.10.25 |
---|---|
데이터베이스 : EERD (Superclass, Subclass, Partial/Total, Disjointness/Overlap, 다중상속, Union) (0) | 2022.10.25 |
데이터베이스 : ERD #3 (애트리뷰트 유형, 관계 타입, NOT NULL, PK) (0) | 2022.10.24 |
데이터베이스 : ERD #2 (miniworld 실습, 역할 구분, 식별 관계) (0) | 2022.10.24 |
데이터베이스 : 개요 (0) | 2022.10.23 |
최근댓글