-> 블로그 이전

[DB] 개체-관계(ER : Entity-Relationship) 모델 (1)

2021. 10. 11. 21:32Major`/DB

ER 모델

- DB 설계를 용이하게 하기 위해 피터 첸이 제안

 

데이터 모델 표기법 (ERD)

  • Chen - 대학 교재에서 많이 이용 / 실무적으로 사용 안 함
  • IE/Crow's Foot - 가장 많이 사용하는 표기법
  • Barker - Crow's Foot을 적용하는데 일부 다름

ER 모델의 구성 요소

- 개체 (Entity)

- 관계 (Relationship)

 

개체 (Entity) ≥ 1

- 사람, 사물, 개념, 사건과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 객체

- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등

- 각 개체만의 고유한 특성이나 상대, 즉 속성을 1개 이상 가지고 있음

 

※ ER 다이어그램 표기법 : 직사각형 

개체 인스턴스, 개체 타입, 개체 집합

- 개체 타입 (Entity Type)

  • 개체를 고유의 이름과 속성들로 정의한 것
  • 동일한 속성들을 가진 개체들의 틀(구조)

- 개체 인스턴스 (Entity Instance)

  • 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
  • 동의어 : 개체 어커런스 (Entity Occurrence)

- 개체 집합 (Entity Set)

  • 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

Example)

속성 (Attribute) ≥ 0

- 개체나 관계가 가지고 있는 고유의 특성

- 하나의 개체는 연관된 속성들의 집합으로 설명됨

- 한 속성의 도레인은 그 속성이 가질 수 있는 모든 가능한 값들의 집합을 의미

- 여러 속성이 동일한 도메인을 공유할 수 있음

- 키 속성은 한 속성 또는 속성들의 모임으로서 한 개체 타입 내에서 각 개체를 고유하게 식별함

 

※ ER 다이어그램 표기법

- 속성은 타원형으로 나타냄

- 속성은 개체와 실선으로 연결

- 기본 키에 속하는 속성은 밑줄을 그어 표시

 


속성의 분류 


1. 속성 값의 개수

- 단일값 속성

  • 1개의 값을 가지는 속성
  • 대부분의 속성은 단일 값 속성
  • 실선 타원으로 표현

- 다중값 속성

  • 여러 개의 값을 가질 수 있는 속성
  • 이중선 타원으로 표현


2. 의미의 분해 가능성

- 단순 속성

  • 의미를 분해할 수 없는 속성
  • 실선 타원으로 표현

- 복합 속성

  • 의미를 분해할 수 있는 속성
  • 큰 타원 아래 작은 타원으로 연결


3. 기존 속성 값에서 유도 

- 저장 속성

  • 다른 속성의 값으로부터 얻어질 수 없는 속성
  • 실선 타원으로 표현

- 유도 속성

  • 다른 속성의 값으로부터 유도되어 결정되는 속성
  • 점선 타원으로 표현


관계 (Relationship)

- 개체들 사이에 맺고 있는 연관이나 연결

- 개체들 사이의 대응 관계, 즉 매핑(Mapping)을 의미

 

※ ER 다이어그램 표기법 : 마름모

ex) '구매' 관계


관계 인스턴스, 관계 타입, 관계 집합

- 관계 인스턴스 (Relationship)

  • 개체 인스턴스들간에 맺어진 연관

- 관계 타입 (Relationship Type)

  • 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의한 것

- 관계 집합 (Relationship Set)

  • 동질의 관계 인스턴스들의 집합

Example)


관계의 속성

- 관계는 관계의 특징을 설명하는 속성들을 가질 수 있음 / '설명 속성'으로 부름


관계의 유형

- 관계 차수 (Degree) : 관계에 참여하는 개체 타입의 수

- 매핑 카디날리티 (Mapping Cardinality) : 관계를 맺는 개체 타입에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 타입의 개체 인스턴스 개수


매핑 카디날리티 (Mapping Cardinality) 유형

1. 일대일(1:1) 관계

1명의 사원에 대해 최대 1개의 컴퓨터가 배정 / 1개의  컴퓨터에 대해 최대 1명의 사원이 배정

2. 일대다(1:n) / 다대일(n:1) 관계

1개의 부서에 대해 여러명의 사원들이 소속 / 1명의 사원은 최대 1개의 부서에 소속

3. 다대다(n:m) 관계

1명의 고객은 여러 개의 책을 구매 / 1개의 책은 여러 고객이 구매