상세 컨텐츠

본문 제목

[DB기초] ER모델과 개체, 관계 개념 설명

IT/Database

by J KIMS 2020. 11. 28. 16:24

본문

반응형

 

 

E-R모델 (entity-realationship model ; 개체 관련 모델)

 

💡 데이터 모델링의 3단계 :

실세계 → 개념 모델(conceputal model) → 논리 모델(logical model)

 

여기서 실세계를 개념 모델로 만드는 과정을 기호화라고 하는데, 기호화의 한 방법이 E-R모델이다.

이렇게 개념 모델을 만들어 두고 DBMS에서 관리가능한 형태로 한번 더 변환하여 논리 모델을 만든다.

 

💡 바로 논리 모델을 만들지 않고 개념 모델을 만드는 이유

  • 논리 모델의 세부 사항에 좌우되지 않고 실세계의 정보 구조를 적절하게 표현할 수 있음

  • 개념 모델을 구축해두면 후에 다른 논리 모델이 필요해져도 변환이 쉽다

 

기호화 하는데 객체 지향 모델링 언어 UML(Unifield Modeling Language)을 쓰기도 하나 기본이 되는 것은 E-R모델이다.

 


개체와 관계의 개념

 

이 이론은 기본적으로 실세계가 개체관계로 이루어져있다는 인식에서 출발한다.

 

- 개체 (entitiy)

개체는 현실의 이런저런 대상을 가리키는데, 뭉뚱그려서 하나의 개체 타입(entitiy type)으로 취급한다.

예를 들어 학생 A, 학생 B가 있을때 추상적으로 '학생'이란 대상을 개체 타입으로 보는 것.

 

- 관계 (realtionship)

개체 타입들 간의 관계를 의미한다.

"학생이 과목을 수강중이다" 라고 하면 '수강중이다'라는 부분이 relation type이 된다.

 

- 속성 (attribute)

개체 타입과 관계 타입 모두 속성을 가질 수 있다.

 

E-R 다이어그램에서 개체는 네모, 관계는 마름모, 속성은 타원형으로 표시한다. 주키를 표시하는 속성에는 밑줄을 긋는다.

 

 

과제용으로 직접 만든 ER다이어그램의 예시

 

개체 간 대응관계의 종류 (카디널리티 비율 제약 조건)

  1. 일대일 (1:1)

  2. 일대다(1:n)

  3. 다대일(n:1)

  4. 다대다(n:m)

위 예시에서 학생은 여러 가게에서 아르바이트를 할 수 있고, 가게도 여러 학생을 고용할 수 있으니 n대 m 관계라고 볼 수 있다.

 

대응관계의 종류에 따라 주 키(primary key)를 정하는 법도 달라진다.

두 개체 타입 EL, ER과 관계 타입 R이 존재한다고 하자.

 

 EL(K, A1, A2, ..., Ap) (K는 EL의 주키)

 ER(H, B1, B2, ..., Bq) (H는 ER의 주키)

 R(C1, C2, ..., Cr) (C1, C2, ..., Cr는 R의 속성)

 

관계 타입 R의 주키는 다음 규칙에 따라 정한다.

 

  1. 일대일이면 주키는 K나 H 둘중 아무거나

  2. 일대다이면 주키는 H

  3. 다대일이면 주키는 K

  4. 다대다이면 주키는 합집합인 K∪H 가 된다


약한 개체 타입 (weak entitiy type) 과 식별 관계성 타입 (identifying realtionship type, ID 관계 타입)

 

  • 자신의 키 속성을 갖지 않는 개체 타입 ( = 주키를 갖지 않음)

  • 약한 개체는 부분키(partial key)를 갖는다. 부분키는 점선으로 나타냄.

 

출처 GEEKS FOR GEEKS

 

위 예시에서는, 고객 없이는 대출도 없으므로 Loan이 약한 개체가 된다. 

또, 약한 개체와의 관계 "Borrows"식별 관계성 타입(identifying realtionship type)라고 한다.

 

 

즉, 다음 관계가 성립한다.

 

관계 타입과 약한 개체를 표현하는 ER다이어그램 방식에도 주목

 

약한 개체는 다른 개체에 의존하는 셈이다.

 


ER 다이어그램을 릴레이션으로 변환하기

 

위에 나왔던 ER다이어그램을 릴레이션으로 변환한 것이다.

 

과제로 제출했던 건데 번역이 귀찮아서(..) 일본어는 무시해주시길

 

다대다 관계이므로 주키는 합집합이 됨에 주의.

 

 

ER 다이어그램 표현 규칙 (출처는 이미지에)

 

📚 Reference

- データベース入門 / サイエンス社

- Weak Entity Set in ER diagram / Geeks For Geeks

- E-R Diagrams in DBMS / What is DBMS

반응형

관련글 더보기

댓글 영역