본문 바로가기
데이터베이스

[관계형 데이터베이스] - ER 다이어그램 (Entity-Relationship Diagram)

by CHML 2016. 12. 10.
1. 개요

ER 다이어그램은 ER 모델 (Entity-Relationship Model)을 기반으로 데이터베이스의 논리적 구조를 표현하기 위한 도구이다. ER 다이어그램에는 ER 모델과 같이 개체 (entity), 속성 (property), 관계 (relationship)가 존재한다.


2. 구성 요소

ER 다이어그램을 구성하는 각 구성 요소들의 기호는 아래의 [그림 1]과 같다.


[그림 1] ER 다이어그램의 구성 요소 및 기호


위의 [그림 1]에 나타낸 기호 이외에도 total participation은 double line으로, subtype과 supertype 관계는 supertype에서 subtype으로 향하는 화살표로 나타낸다.


3. ER 다이어그램의 변환

ER 다이어그램은 데이터베이스를 설계하기 위한 도구이기 때문에 ER 다이어그램으로 작성된 것을 실제 데이터베이스로 변환하는 작업이 필요하다. 다음은 ER 다이어그램을 구성하는 요소들을 실제 데이터베이스로 어떻게 변환하는지 보여준다.


  • 개체 (entity): 개체가 regular entity인 경우에는 base table (base relation)로 변환한다. Table의 key는 ER 다이어그램에서 정의된 key attribute를 이용한다.
  • many-to-many relationship: 이러한 관계는 base table로 변환한다. 두 개체를 각각 base table로 정의할 수도 있고, 두 개체가 연관된 relationship 자체를 base table로 정의할 수도 있다.
  • one-to-many relationship: 이러한 관계는 따로 table로 변환할 필요가 없다. 단순히 many 쪽에 해당하는 개체에 foreign key를 추가하기만 하면 된다.
  • weak entity: 개체를 정의하기 위해 외부에서 가져온 속성을 foreign key로 설정한다. 그 다음, weak entity의 key와 foreign key를 조합하여 primary key를 생성한다.
  • 속성 (attribute): 속성에 해당하는 요소들은 테이블의 필드로 변환된다.
  • subtype과 supertype: subtype과 supertype에 해당하는 개체는 동일한 primary key를 갖는다. 또한, subtype에서 primary key는 foreign key의 역할도 한다.