ER 모델링이란 무엇입니까? 예를 들어 배우기

ER 모델링이란 무엇입니까?

엔터티 관계 모델 (ER 모델링)은 데이터베이스 설계에 대한 그래픽 접근 방식입니다. 지정된 소프트웨어 시스템에 대한 데이터 요소와 그 관계를 정의하는 상위 수준 데이터 모델입니다. ER 모델은 실제 객체를 표현하는 데 사용됩니다.

An 기업 실제 세계에서 주변 환경과 구별되는 사물 또는 대상입니다. 예를 들어, 조직의 각 직원은 별도의 엔터티입니다. 다음은 엔터티의 주요 특성 중 일부입니다.

  • 엔터티에는 속성 집합이 있습니다.
  • 엔터티 속성에는 값이 있을 수 있습니다.

첫 번째 예를 다시 살펴보겠습니다. 조직의 직원은 하나의 실체입니다. “피터”가 프로그래머라면( 종업원)에서 Microsoft, 그는 가질 수 있습니다 속성 이름, 나이, 몸무게, 키 등과 같은 (속성) 이러한 것들이 그와 관련된 값을 갖고 있다는 것은 명백합니다.

각 속성은 다음을 가질 수 있습니다. 마케팅은:. 대부분의 경우 단일 속성에는 하나의 값이 있습니다. 그러나 속성에는 가능합니다. 여러 값 또한. 예를 들어 Peter의 나이는 단일 값을 갖습니다. 하지만 그의 "전화번호" 속성은 여러 값을 가질 수 있습니다.

엔터티는 다음을 가질 수 있습니다. 관계 서로 서로 함께. 가장 간단한 예를 생각해 보겠습니다. 각각 Microsoft 프로그래머에게는 컴퓨터가 주어집니다. 그것은 분명하다 피터의 컴퓨터 존재이기도 합니다. Peter는 그 컴퓨터를 사용하고 있고 Peter도 같은 컴퓨터를 사용하고 있습니다. 즉, Peter와 그의 컴퓨터 사이에는 상호 관계가 있습니다.

In 엔터티 관계 모델링, 우리는 엔터티, 해당 속성 및 엔터티 간의 관계를 모델링합니다.

향상된 엔터티 관계(EER) 모델

EER(Enhanced Entity Relationship) 모델은 원본 데이터 모델에 대한 확장을 제공하는 상위 수준 데이터 모델입니다. 엔티티 관계(ER) 모델. EER 모델은 보다 세부적인 설계를 지원합니다. EER 모델링은 매우 복잡한 데이터베이스를 모델링하기 위한 솔루션으로 등장했습니다.

EER은 UML 표기법을 사용합니다. UML은 다음의 약어입니다. 통합 모델링 언어; 객체 지향 시스템을 설계할 때 사용되는 범용 모델링 언어입니다. 엔터티는 클래스 다이어그램으로 표현됩니다. 관계는 엔터티 간의 연관으로 표현됩니다. 아래 다이어그램은 ER 다이어그램을 보여줍니다. UML 표기법.


향상된 엔터티 관계(EER)

ER 모델을 사용하는 이유는 무엇입니까?

이제 간단하게 할 수 있는데 왜 ER 모델링을 사용하는지 생각할 수 있습니다. 데이터베이스를 생성 ER 모델링이 없는 모든 개체가 있습니까? 데이터베이스를 설계할 때 직면하는 과제 중 하나는 디자이너, 개발자 및 최종 사용자가 데이터와 그 사용법을 다르게 보는 경향이 있다는 사실입니다. 이러한 상황을 그대로 방치하면 결국 사용자의 요구 사항을 충족하지 못하는 데이터베이스 시스템이 생성될 수 있습니다.

모든 이해관계자(기술적 사용자와 비기술적 사용자)가 이해하는 커뮤니케이션 도구는 사용자의 요구 사항을 충족하는 데이터베이스 시스템을 생성하는 데 중요합니다. ER 모델은 그러한 도구의 예입니다.

ER 다이어그램은 관계형 테이블로 쉽게 변환될 수 있으므로 사용자 생산성도 향상됩니다.

사례 연구: "MyFlix" 비디오 라이브러리에 대한 ER 다이어그램

이제 ER 다이어그램의 개념을 이해하는 데 도움이 되도록 MyFlix 비디오 라이브러리 데이터베이스 시스템을 사용해 보겠습니다. 이 튜토리얼의 나머지 부분에서는 모든 실습에 이 데이터베이스를 사용할 것입니다.

MyFlix는 회원들에게 영화를 대여하는 사업체입니다. MyFlix는 기록을 수동으로 저장해 왔습니다. 경영진은 이제 다음으로 이동하기를 원합니다. DBMS

이 데이터베이스에 대한 EER 다이어그램을 개발하는 단계를 살펴보겠습니다.

  1. 엔터티를 식별하고 엔터티 사이에 존재하는 관계를 결정합니다.
  2. 각 엔터티, 속성 및 관계에는 기술 지식이 없는 사람도 쉽게 이해할 수 있는 적절한 이름이 있어야 합니다.
  3. 관계는 서로 직접 연결되어서는 안됩니다. 관계는 엔터티를 연결해야 합니다.
  4. 특정 엔터티의 각 속성은 고유한 이름을 가져야 합니다.

"MyFlix" 라이브러리의 엔터티

우리에 포함될 엔터티 ER 다이어그램 아르;

  • 회원 – 이 법인은 회원 정보를 보유합니다.
  • 영화 산업 – 이 개체는 영화에 관한 정보를 보유합니다.
  • 카테고리 – 이 개체는 영화를 "드라마", "액션", "에픽" 등과 같은 다양한 범주로 분류하는 정보를 보유합니다.
  • 영화 대여 – 이 개체는 회원에게 대여한 영화에 대한 정보를 보유합니다.
  • 결제 수단 – 이 법인은 회원이 지불한 금액에 대한 정보를 보유합니다.

엔터티 간 관계 정의

회원과 영화

두 엔터티 간의 상호 작용과 관련하여 다음 내용이 적용됩니다.

  • 회원은 특정 기간에 두 개 이상의 영화를 대여할 수 있습니다.
  • 특정 기간에 두 명 이상의 회원이 영화를 대여할 수 있습니다.

위의 시나리오에서 우리는 관계의 성격이 다대다임을 알 수 있습니다. 관계형 데이터베이스는 다대다 관계를 지원하지 않습니다. 접합 엔터티를 도입해야 합니다.. 이것이 MovieRentals 엔터티가 수행하는 역할입니다. 이는 멤버 테이블과 일대다 관계가 있고 영화 테이블과 또 다른 일대다 관계가 있습니다.

영화 및 카테고리 엔터티

다음은 영화와 카테고리에 적용됩니다.

  • 영화는 하나의 카테고리에만 속할 수 있지만 카테고리에는 둘 이상의 영화가 포함될 수 있습니다.

이를 통해 카테고리와 영화 테이블 간의 관계 특성이 일대다임을 추론할 수 있습니다.

회원 및 결제 주체

회원 및 결제에 관한 사항은 다음과 같습니다.

  • 회원은 하나의 계정만 가질 수 있지만 여러 번 결제할 수 있습니다.

이를 통해 회원과 결제 주체 간의 관계의 성격이 일대다임을 추론할 수 있습니다.

이제 다음을 사용하여 EER 모델을 만들어 보겠습니다. MySQL 워크 벤치

. MySQL 워크벤치 , 클릭 – “+” 버튼

엔터티 간 관계 정의

Double 다이어그램 추가 버튼을 클릭하여 ER 다이어그램에 대한 작업 공간을 엽니다.

엔터티 간 관계 정의

다음과 같은 창이 나타납니다

엔터티 간 관계 정의

우리가 작업할 두 개체를 살펴보겠습니다.

  • 엔터티 간 관계 정의테이블 객체를 사용하면 엔터티를 생성하고 특정 엔터티와 관련된 속성을 정의할 수 있습니다.
  • 엔터티 간 관계 정의관계 배치 버튼을 사용하면 엔터티 간의 관계를 정의할 수 있습니다.

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 회원의 엔터티에는 다음과 같은 속성이 있습니다.

  • 회원번호
  • 성명
  • 성별
  • 생년월일
  • 실제 주소
  • 우편 주소

이제 멤버 테이블을 만들어 보겠습니다.

1. 도구 패널에서 표 개체를 드래그합니다.

2. 작업 공간 영역에 놓습니다. 테이블 1이라는 엔터티가 나타납니다.

3.Double 그것을 클릭하세요. 아래와 같은 속성 창이 나타납니다

엔터티 간 관계 정의

다음 ,

  1. 테이블 1을 멤버로 변경
  2. 기본 idtable1을 Membership_number로 편집합니다.
  3. 다음 필드를 추가하려면 다음 줄을 클릭하세요.
  4. 구성원의 엔터티에서 식별된 모든 속성에 대해 동일한 작업을 수행합니다.

이제 속성 창이 다음과 같이 보일 것입니다.

엔터티 간 관계 정의

식별된 모든 엔터티에 대해 위 단계를 반복합니다.

이제 다이어그램 작업 영역이 아래 표시된 것과 같아야 합니다.

엔터티 간 관계 정의

회원과 영화 대여 간의 관계를 만들 수 있습니다.

  1. 기존 열을 사용하여 장소 관계도 선택하세요.
  2. 회원 테이블에서 Membership_number를 클릭하세요.
  3. MovieRentals 테이블에서 reference_number를 클릭하세요.

엔터티 간 관계 정의

다른 관계에 대해서도 위 단계를 반복합니다. 이제 ER 다이어그램은 다음과 같아야 합니다.

요약

  • ER의 전체 형태는 엔터티 및 관계 다이어그램입니다. 그들은 다음에서 매우 중요한 역할을 합니다. 데이터베이스 설계 프로세스. 기술적인 사람과 기술적인 사람이 아닌 사람을 위한 비기술적인 의사소통 도구 역할을 합니다.
  • 엔터티는 실제 사물을 나타냅니다. 판매 주문이라는 개념적일 수도 있고 고객과 같은 실제적일 수도 있습니다.
  • 모든 엔터티에는 고유한 이름이 지정되어야 합니다.
  • 또한 ER 모델을 통해 데이터베이스 설계자는 엔터티 간에 존재하는 관계를 식별하고 정의할 수 있습니다.

전체 ER 모델은 아래에 첨부되어 있습니다. 간단히 가져올 수 있습니다. MySQL 워크 벤치

ER 모델을 다운로드하려면 여기를 클릭하세요.