궁극적인 엔터티 관계 다이어그램 자습서(ER 다이어그램)

게시 됨: 2017-03-07

엔티티 관계 다이어그램을 배우고 싶습니까? 이 ER 다이어그램 튜토리얼은 사용법, 역사, 기호, 표기법 및 ER 다이어그램 소프트웨어를 사용하여 그리는 방법을 다룹니다. 또한 빠르게 시작할 수 있도록 몇 가지 템플릿을 추가했습니다.

ER 다이어그램이란 무엇입니까?

엔터티 관계 다이어그램(ERD)은 시스템 내의 다양한 엔터티와 이들이 서로 관련되는 방식을 시각적으로 표현한 것입니다. 예를 들어, 작가, 소설, 소비자 요소는 다음과 같은 방식으로 ER 다이어그램을 사용하여 설명할 수 있습니다.

학생 등록 ​​시스템용 ER 다이어그램 템플릿 (온라인에서 수정하려면 이미지를 클릭하십시오)

ER 다이어그램의 역사

1970년대에 데이터 모델링이 필수가 되었지만 데이터베이스나 비즈니스 프로세스를 모델링하는 표준 방법은 없었습니다. 많은 솔루션이 제안되고 논의되었지만 널리 채택되지는 않았습니다.

Peter Chen은 그의 논문 "The Entity Relationship Model-Toward a Unified View of Data"에서 널리 채택된 ER 모델을 소개한 것으로 유명합니다. 초점은 엔터티와 관계에 있었고 그는 데이터베이스 디자인을 위한 다이어그램 표현도 도입했습니다.

그의 모델은 Charles Bachman이 도입한 데이터 구조 다이어그램에서 영감을 받았습니다. ER 다이어그램의 초기 형태 중 하나인 Bachman 다이어그램은 그의 이름을 따서 명명되었습니다.

ER 다이어그램의 자세한 이력과 데이터 모델링 평가는 이 기사를 참조하십시오.

ER 다이어그램의 용도는 무엇입니까?

ER 다이어그램의 용도는 무엇입니까? 그들은 어디에 사용됩니까? 거의 모든 시스템을 모델링하는 데 사용할 수 있지만 주로 다음 영역에서 사용됩니다.

데이터베이스 설계의 ER 모델

관계형 데이터베이스를 설계하는 데 널리 사용됩니다. ER 스키마의 엔터티는 테이블, 속성이 되고 데이터베이스 스키마를 변환합니다. 데이터베이스 테이블과 그 관계를 시각화하는 데 사용할 수 있으므로 일반적으로 데이터베이스 문제 해결에도 사용됩니다.

소프트웨어 엔지니어링의 엔터티 관계 다이어그램

엔터티 관계 다이어그램은 소프트웨어 프로젝트의 계획 단계에서 소프트웨어 엔지니어링에 사용됩니다. 그들은 서로 다른 시스템 요소와 서로 간의 관계를 식별하는 데 도움이 됩니다. 일반적으로 알려진 대로 데이터 흐름도 또는 DFD의 기초로 자주 사용됩니다.

예를 들어, 소매점에서 사용되는 재고 소프트웨어에는 구매, 품목, 품목 유형, 품목 소스 및 품목 가격과 같은 요소를 모니터링하는 데이터베이스가 있습니다. ER 다이어그램을 통해 이 정보를 렌더링하면 다음과 같습니다.

속성이 있는 엔터티가 있는 ER 다이어그램 예
속성이 있는 엔터티가 있는 ER 다이어그램 예

다이어그램에서 타원 모양 내부의 정보는 특정 엔터티의 속성입니다.

엔터티 관계 다이어그램(ERD) 기호 및 표기법

이 ER 다이어그램 튜토리얼에서 논의된 ER 다이어그램 기호
ER 다이어그램의 요소

ER 다이어그램에는 엔터티, 속성, 관계의 세 가지 기본 요소가 있습니다. 주요 요소를 기반으로 하는 더 많은 요소가 있습니다. 약한 엔터티, 다중 값 속성, 파생 속성, 약한 관계 및 재귀 관계가 있습니다. 카디널리티와 서수는 관계를 추가로 정의하기 위해 ER 다이어그램에서 사용되는 다른 두 가지 표기법입니다.

실재

엔터티는 주어진 시스템과 관련된 사람, 장소, 이벤트 또는 개체일 수 있습니다. 예를 들어, 학교 시스템에는 학생, 교사, 전공 과정, 과목, 수수료 및 기타 항목이 포함될 수 있습니다. 엔티티는 ER 다이어그램에서 직사각형으로 표시되고 단수 명사를 사용하여 이름이 지정됩니다.

약한 개체

약한 엔터티는 다른 엔터티의 존재에 의존하는 엔터티입니다. 보다 기술적인 용어로 자체 속성으로 식별할 수 없는 엔터티로 정의할 수 있습니다. 기본 키를 형성하기 위해 속성과 결합된 외래 키를 사용합니다. 주문 항목과 같은 엔터티가 이에 대한 좋은 예입니다. 주문 항목은 주문이 없으면 의미가 없으므로 주문의 존재 여부에 따라 다릅니다.

엔터티 관계 다이어그램의 약한 엔터티
ER 다이어그램의 약한 엔터티 예

기인하다

속성은 엔터티, 관계 또는 다른 속성의 속성, 특성 또는 특성입니다. 예를 들어, Inventory Item Name 속성은 Inventory Item 엔티티의 속성입니다. 엔터티는 필요한 만큼 많은 속성을 가질 수 있습니다. 한편 속성은 고유한 특정 속성을 가질 수도 있습니다. 예를 들어 "customer address" 속성은 number, street, city 및 state 속성을 가질 수 있습니다. 이를 복합 속성이라고 합니다. 일부 최상위 ER 다이어그램은 단순성을 위해 속성을 표시하지 않습니다. 그러나 속성은 타원형으로 표시됩니다.

ER 다이어그램의 속성
ER 다이어그램의 속성, 속성은 고유한 속성을 가질 수 있습니다( 복합 속성 )

다중값 속성

속성이 둘 이상의 값을 가질 수 있는 경우 다중 값 속성이라고 합니다. 이것은 고유한 속성이 있는 속성과 다르다는 점에 유의해야 합니다. 예를 들어, 교사 엔터티는 여러 과목 값을 가질 수 있습니다.

엔터티 관계 다이어그램의 다중값 속성
다중값 속성의 예

파생 속성

다른 속성을 기반으로 하는 속성입니다. 이것은 ER 다이어그램에서 거의 발견되지 않습니다. 예를 들어, 원의 경우 면적은 반경에서 파생될 수 있습니다.

ER 다이어그램의 파생 속성
ER 다이어그램의 파생 속성

관계

관계는 엔터티가 상호 작용하는 방식을 설명합니다. 예를 들어, 엔티티 "Carpenter"는 "build" 또는 "make" 관계에 의해 엔티티 "table"과 관련될 수 있습니다. 관계는 다이아몬드 모양으로 표시되며 동사를 사용하여 레이블이 지정됩니다.

ER 다이어그램의 관계
엔터티 관계 다이어그램에서 관계 사용

재귀 관계

동일한 엔터티가 관계에 두 번 이상 참여하는 경우 이를 재귀 관계라고 합니다. 아래 예에서 직원은 감독자가 될 수 있고 감독을 받을 수 있으므로 재귀적 관계가 있습니다.

ER 다이어그램의 재귀 관계
ER 다이어그램의 재귀 관계 예

카디널리티와 서수

이 두 가지는 관계를 숫자 컨텍스트에 배치하여 엔터티 간의 관계를 추가로 정의합니다. 예를 들어 이메일 시스템에서 하나의 계정에 여러 연락처가 있을 수 있습니다. 이 경우 관계는 "일대다" 모델을 따릅니다. ER 다이어그램에서 카디널리티를 나타내는 데 사용되는 표기법이 많이 있습니다. Chen, UML, Crow's foot, Bachman은 인기 있는 표기법 중 일부입니다. Creately는 Chen, UML 및 Crow's foot 표기법을 지원합니다. 다음 예제에서는 UML을 사용하여 카디널리티를 표시합니다.

ER 다이어그램의 카디널리티
UML 표기법을 사용하는 ER 다이어그램의 카디널리티

ER 다이어그램을 그리는 방법

아래 포인트는 ER 다이어그램을 만드는 방법을 보여줍니다.

  1. 시스템 의 모든 엔터티를 식별합니다 . 엔터티는 특정 다이어그램에서 한 번만 나타나야 합니다. 모든 엔터티에 대해 사각형을 만들고 이름을 적절하게 지정합니다.
  2. 엔터티 간의 관계를 식별 합니다. 선을 사용하여 연결하고 관계를 설명하는 중간에 다이아몬드를 추가하십시오.
  3. 엔터티에 대한 속성을 추가합니다 . 쉽게 이해할 수 있도록 의미 있는 속성 이름을 지정합니다.

간단하게 들리나요? 복잡한 시스템에서 관계를 식별하는 것은 악몽일 수 있습니다. 이것은 연습을 통해서만 완벽해질 수 있는 것입니다.

신속하게 ER 다이어그램 및 데이터베이스 설계를 생성하고, 팀과 협업하고, 설계가 발전함에 따라 변경 사항을 유지 및 추적합니다.

ERD 생성

ER 다이어그램 모범 사례

  1. 다이어그램의 각 엔터티, 속성 및 관계에 대해 정확하고 적절한 이름을 제공합니다. 간단하고 친숙한 용어는 항상 모호하고 기술적으로 들리는 단어를 능가합니다. 개체 이름을 지정할 때 단수 명사를 사용하는 것을 잊지 마십시오. 그러나 형용사를 사용하여 동일한 클래스에 속하는 개체를 구분할 수 있습니다(예: 시간제 직원 및 정규직 직원). 한편 속성 이름은 의미 있고 고유하며 시스템 독립적이며 쉽게 이해할 수 있어야 합니다.
  2. 개체 간의 모호하거나 중복되거나 불필요한 관계를 제거합니다.
  3. 관계를 다른 관계에 연결하지 마십시오.
  4. 색상을 효과적으로 사용하십시오. 색상을 사용하여 유사한 엔터티를 분류하거나 다이어그램의 주요 영역을 강조 표시할 수 있습니다.

Creately를 사용하여 ER 다이어그램 그리기

특히 단순한 시스템을 동료에게 비공식적으로 보여줄 때 엔터티 관계 다이어그램을 수동으로 그릴 수 있습니다. 그러나 더 복잡한 시스템과 외부 청중의 경우 시각적으로 매력적이고 정확한 ER 다이어그램을 만들려면 Creately와 같은 다이어그램 소프트웨어가 필요합니다. Creately에서 온라인 서비스로 제공하는 ER 다이어그램 소프트웨어는 사용이 매우 간편하고 라이선스 소프트웨어를 구매하는 것보다 훨씬 저렴합니다. 또한 협업에 대한 강력한 지원으로 인해 개발 팀에 완벽하게 적합합니다.

ER 다이어그램 템플릿

다음은 빠르게 시작할 수 있는 몇 가지 ER 다이어그램 템플릿입니다. 이미지를 클릭하면 열리는 새 페이지에서 "템플릿으로 사용" 버튼을 클릭합니다. 더 많은 템플릿을 보려면 ER 다이어그램 템플릿 섹션을 확인하십시오.

ER 다이어그램 템플릿
시험 데이터베이스의 ER 다이어그램 템플릿 ( 템플릿으로 사용하려면 이미지를 클릭하십시오 )

빠른 시작을 위한 기본 ER 다이어그램 템플릿

엔터티 관계 다이어그램 템플릿
기본 ER 다이어그램 템플릿 ( 템플릿으로 사용하려면 클릭 )

ER 다이어그램의 이점

ER 다이어그램은 데이터베이스를 만들고 조작하는 데 매우 유용한 프레임워크를 구성합니다. 첫째, ER 다이어그램은 이해하기 쉽고 효율적이고 정확하게 작업할 수 있도록 광범위한 교육을 받을 필요가 없습니다. 즉, 설계자는 ER 다이어그램을 사용하여 IT 숙련도에 관계없이 개발자, 고객 및 최종 사용자와 쉽게 통신할 수 있습니다.

둘째, ER 다이어그램은 데이터베이스를 빠르게 구축하는 데 사용할 수 있는 관계형 테이블로 쉽게 변환할 수 있습니다. 또한 ER 다이어그램은 데이터베이스 개발자가 특정 소프트웨어 응용 프로그램에서 데이터를 구현하기 위한 청사진으로 직접 사용할 수 있습니다.

마지막으로 ER 다이어그램은 조직 내 다양한 ​​관계 및 작업을 설명하는 것과 같은 다른 컨텍스트에 적용될 수 있습니다.

ER 다이어그램 튜토리얼에 대한 피드백

ER 다이어그램에 대해 알아야 할 모든 것을 다루기 위해 최선을 다했습니다. 내가 놓친 부분이 있다고 생각되면 댓글 섹션에서 해당 부분을 언급해야 합니다. 질문하기에도 좋은 곳입니다.

참고문헌

1. Wikipedia에 게시된 개체 관계 모델.
2. About.com 웹사이트에 게시된 Mike Chapple의 엔터티 관계 다이어그램