ER Diagram은 데이터베이스 시스템의 구조와 관계를 시각화하는 데 사용되는 도구이다.
이번 포스팅에서는 ER Diagram이 어떤 것인지, 어떻게 작성하는 지에 대해 알아보자! 🙃
Data Model은 다음 3가지 타입으로 분류할 수 있다.
conceptual data model
logical data model
physical data model
conceptual data model
은 일반 사용자들이 쉽게 이해할 수 있는 개념들로 이루어진 모델로, 추상화 수준이 가장 높고 비즈니스 요구 사항을 추상화하여 기술할 때 사용된다.
logical data model
은 이해하기 어렵지 않으면서도 구체적으로 DB를 구조화할 수 있는 개념들을 제공하는 데이터 모델로, 특정 DBMS나 storage에 종속되지 않는 수준에서 DB를 구조화할 수 있다.
physical data model
은 컴퓨터에 데이터가 어떻게 파일 형태로 저장되었는지 기술할 수 있는 수단을 제공하는 데이터 모델로, data format, access path 등을 제공한다.
ER Diagram(Entity-Relationship Diagram)은 위 3가지 타입 중 conceptual data model
의 대표적인 데이터 모델링 방법이다.
먼저 ER Diagram의 예시를 보면서, 어떻게 구성되어 있는지 확인해 보자.
출처 : https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
ER Diagram은 위 그림과 같이, 4가지의 구성 요소를 사용해 표기된다.
Entity(개체)
Relationship(관계)
Attribute(속성)
Relationship line(관계선)
각각의 요소에 대해 알아보자.
Entity
는 데이터베이스에서 저장하려는 개체를 나타내는 구성 요소로, 일반적으로 사물이나 개념 등 명사를 나타내며 사각형으로 표시된다. 쉽게 말해, Entity
는 데이터베이스에서 테이블의 이름이라고 생각하면 된다.
위 예시 그림에서 Entity
들의 목록을 나열하면 다음과 같다:
Account, Character, Region, Item Instantiation, Item, Creep, Creep Instantiation
Relationship
은 Entity
간의 연결 또는 관계를 나타내는 요소로, 2개 이상의 명사를 연결하는 동사로 생각할 수 있으며 마름모로 표시된다.
위 예시 그림에서 Relationship
들의 목록을 나열하면 다음과 같다:
Has, Contains, Carrying, RanInto, IsType, Carrying, IsType, Contains
Attribute
는 Entity
나 Relationship
의 세부 정보를 포함시키기 위한 요소로, 타원으로 표시된다.
Weak Entity
를 제외한 모든 Entity
는 Unique / Primary Key
로 사용할 수 있는 고유하게 식별되는 하나 이상의 Attribute
집합이 필요하다. (Weak Entity
에 대한 개념은 이후 설명)
위 예시 그림에서, Attribute
의 목록은 다음과 같다:
AcctName, Password, LastSignedOn, LastPlayed, CreatedOn, ...etc
Relationship line
은 Entity
와 Relationship
사이의 선으로, 둘 사이의 관계를 표시한다.
예를 들어, 1:N
이나 N:M
등의 관계를 나타낼 수 있다.
위의 구성 요소들은 모두 Peter Chen
기법을 기반으로 설명되었다.
Peter Chen
기법은 대학 교재에서 많이 쓰이는 방법이지만, 실무에서는 거의 사용되지 않는다.
실무에서 자주 쓰이는 표기법에는 다음과 같은 표기법들이 있다:
Information Engineering
, Barker's Notation