관리 메뉴

JIE0025

[데이터모델링] ER모델 개념, IE표기법 본문

백엔드/데이터베이스

[데이터모델링] ER모델 개념, IE표기법

Kangjieun11 2021. 6. 5. 21:06
728x90

출처 : 쉽게 배우는 오라클로 배우는 데이터 베이스 개론과 실습 

 

 

ER 모델 (Entity Relationship)

세상의 사물을 개체(Entity)간의 관계(Relationship)로 표현한다.

 

ER 다이어그램

ER모델을 표준화 된 그림으로 나타낸 것.

 


개체 (entity)

- 독립적인 의미를 지닌 유무형의 사람/사물 , 실체

- 속성에 의해 식별됨

- 개체끼리 관계를 가짐

- 데이터베이스에서의 개체는 [낱개로 구성된 것], [낱개가 데이터값을 가지는 것], [데이터 값이 변하는 것]이다.

- 비슷한 속성의 개체 타입(entity type)을 구성, 개체 집합(entity set)으로 묶인다. 

 

>>> 책상위에 책이 3권 있다고 가정하자.

한국의 역사, 한국어 바로알기, 한국적 디자인

책들 각각은 개체(entity)이며, 책 3권을 통틀어 개체 집합(entity set)이라 한다.

또 책들은 "도서" 라는 개체 타입(entity type)으로 묶일 수 있다.

 

 

개체 타입 - ER 다이어그램의 표현

기호 의미

강한 개체 타입 


약한 개체 타입

강한 개체 (strong entity)
다른 개체의 도움 없이 독자적으로 존재할 수 있는 개체

 

약한 개체 ( weak entity)

독자적으로 존재할 수 없는, 반드시 상위 개체 타입을 가지는 개체

 

 


 

속성 (attribute)

개체가 가진 성질

개체 타입 속성
도서 도서이름, 출판사, 단가

 

속성- ER 다이어그램 표현

 

- 속성 : 타원, 개체(직사각형)과 실선으로 연결됨.

- 속성 이름 : 타원 중앙에 표기

- 개체의 유일한 식별 키 일경우 속성 이름에 밑줄을 긋는다.

 

 

속성 유형

기호 의미 설명

속성 일반적 속성, 속성의 이름은 타원 중앙에 표기
키 속성 개체의 유일한 식별 키일 경우 속성이름에 밑줄을 그음.
약한 개체의 식별자 약한 개체는 키를 갖지않는다.
대신 식별자를 갖는데, 속성 이름 아래에 점선을 긋는다.
다중 값 속성 취미와 같은 여러개의 값을 갖는 속성을 이중타원으로 표현한다.
유도 속성 유도가 가능한 속성
ex)나이

점선 타원
복합 속성 주소 = (시, 구, 동 ) 처럼 
여러 속성으로 구성된 속성

큰 타원 아래에 작은 타원으로 연결

 


 

관계 (relationship)

개체 사이의 연관성을 나타내는 개념

 

관계 타입 (relationship type)

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

 

관계 집합 (relationship set)

관계로 연결된 집합

 

관계 타입 - ER 다이어그램 표현

기호 의미
관계 타입

 

 


관계 타입 유형

 

차수에 따른 유형

차수 : 관계 집합에 참가하는 개체 타입의 수

기호 의미 설명
1진 관계 1개의 개체가 자신(개체)과 관계를 맺음
2진 관계 2개의 개체가 관계를 맺음
3진 관계  3개의 개체가 관계를 맺음 

 

- 1진 관계 (recursive relationship)

1개의 개체가 자신(개체)과 관계를 맺음

멘토(학생개체)가 멘티(학생개체)에게 멘토링을 해준다.

 

- 2진 관계 (binary relationship)

2개의 개체가 관계를 맺음

학생은 학과에 소속된다. 학과는 학생을 소속한다.

 

- 3진 관계 (ternary relationship) 

3개의 개체가 관계를 맺음

직원은 프로젝트를 수행한다. 프로젝트에는 부품이 필요하다. 직원은 부품을 이용한다.

 

 

 


 

관계 대응수 (cardinality)

두 개체 타입의 관계에 실제로 참여하는 개별 개체의 수

 

관계 대응수에 따른 관계 타입 유형

기호 의미 설명
일대일 관계 하나의 개체가 하나의 개체에 대응
일대다 관계 하나의 개체가 여러 개체에 대응
다대일 관계 여러 개체가 하나의 개체에 대응
다대다 관계 여러 개체가 여러 개체에 대응

 

- 일대일 관계 (1:1)

왼쪽 개체와 오른쪽 개체가 서로 1대1 대응하는 관계

사원 한명은 컴퓨터 한개를 사용할 수 있다.

 

- 일대다 관계 (1:N), 다대일 관계(N:1)

일상 생활에서 가장 많이 볼수 있는 관계

한쪽 개체타입의 개체 1개가 다른쪽 개체 타입의 여러 개체와 관계를 맺는다.

학과 1개는 N명의 학생이 소속된다.

 

- 다대다 관계 (N:N)

각 개체 타입의 개체들이 서로 N개의 개체들과 복합적 관계를 맺는 관계

학생은 임의의 강좌들을 수강하고, 강좌는 임의의 학생들을 포함한다.

 

 


 

- 관계 대응수의 최솟값, 최댓값

1, N, M : 각 개체가 관계에 참여하는 최대값

(최솟값, 최댓값) : 관계 실선 위에 표기

 

서로 반대편의 숫자 만큼 관계에 참여한다고 생각하면 된다.

학생은 min2, max2 의 수만큼 강좌에 관계되고,

강좌는 min1, max1의 수만큼 학생에 관계된다.

 

관계 (min1, max1) (min2, max2)
1:1 (0,1) (0,1)
1:N (0,*) (0,1)
M:N (0,*) (0,*)

 

 

학과 반대쪽에 (1,1) 이 있고, 학생 반대쪽에 (0,*) 이 있는 것을 보자.
학과 (1개) 에 학생(0~N명) 이 관계 된다는 뜻이다.

이는 하나의 학과에 여러명의 학생이 속할 수 있고, 최솟값이 0이므로, 학과에 학생이 없을 수도 있다는 것을 의미한다.

 


 

- ISA 관계

상위 개체 타입의 특성에 따라 하위 개체 타입이 결정 되는 형태

 

ISA 는 is a 를 의미한다.

 

기호 의미
개체간 상하관계

 


 

참여 제약조건

개체 집합 내에서 모든 개체가 관계에 참여하는지 유무에 따라 전체 참여와 부분 참여로 나눈다.

 

전체 참여 : 개체 집합의 모든 개체가 참여함.

부분 참여 : 개체 집합의 일부분만 참여함.

 

기호 의미
전체 참여 (2줄)
부분 참여 (1줄)

수강이라는 관계에서 강좌는 전체가 참여하지만, 학생은 부분적으로 참여한다. 

 

 


 

역할

개체 타입간 관계 표현 시 각 개체들은 고유한 역할을 담당한다.

 

 

 


 

순환적 관계 (recursive relation ship)

한 개체 타입이 동일한 개체타입(자신 개체) 와 순환적으로 관계를 가짐

 

학생과 학생은 멘토,멘티의 역할을 통해 관계된다. 사원은 사원끼리 지시하며, 지시받는 관계이다.

 

 


 

약한 개체 타입 (weak entity)

 

상위 개체 타입이 결정되지 않으면 개별 개체를 식별할 수 없는 종속된 개체 타입이다.

 

- 키를 보유하지 않는다

- 식별자, 부분키 : 약한 개체 타입의 개별 개체를 식별하는 속성

 

기호 의미 설명
약한 개체 타입  강한 개체타입이 있어야 존재 가능
이중 직사각형
식별 관계 타입 강한 개체 타입 - 약한 개체 타입 의 관계
강한 개체 타입의 기본키를 상속받아 사용
이중 마름모꼴

강한 개체 타입의 키 속성
식별자 약한 개체 타입의 개별 개체 구분 속성
식별자, 부분키라고 부른다.

 

 


 

IE 표기법 

Peter Chen 표기법과 IE표기법의 비교

 

 

관계를 실선, 점선으로 표기한다.

 

관계와 관계 대응 수 표기방법

기호 의미
비식별자관계 (non-identifying relationship) 강한 개체 타입
부모 개체의 키가 일반 속성으로 포함되는 관계
식별자 관계 (identifying relationship) 약한 개체 타입
부모 개체의 키가 주식별자로 포함되는 관계 
일대다 관계(1:N) // N쪽에 새발을 표시한다.
0 (선택 참여), 최소 참여가 0 일때 사용한다.
1 (필수 참여), 최소 참여가 1일때 사용한다. 

 

 

예제 

Q. 다음 Peter Chen 표기법을 IE표기법으로 바꾸라.

 

A. 비식별자 관계 (강한 관계, 비식별자 == 점선 표기)

 

A. 식별자 관계 (약한 관계, 식별자 == 실선 표기)