본문 바로가기
Database

[Database] ER 모델

by IT 정복가 2022. 10. 17.
728x90

ER 모델은 데이터 모델링 과정 중 개념적 모델링에 사용하는 모델로, 1976년 피터 첸이 제안하였다.

ER 모델은 세상의 사물을 개체(Entity)와 개체 간의 관계(Relationship)로 나타낸다.

 

개체(Entity)

독립적인 의미를 지닌 유무형의 사람 또는 사물을 말하며, 개체의 특성을 나타내는 속성(Attribute)으로 식별한다. 또한 개체끼리는 서로 관계를 맺는다.

 

이처럼 개체, 속성, 관계를 규명하는 것이 ER 모델의 기본이다.


개체와 개체 타입

위에서 말했듯이 개체(Entity)는 사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 가지고 있는 독립적인 실체를 말한다. 개체는 비슷한 속성을 가진 개체 타입(Entity type)을 구성하며, 개체 집합(Entity set)으로 묶인다.

개체 집합은 공통된 속성을 가진 개체들의 모임을 의미하며, 개체 타입은 개체 집합의 이러한 동일한 특징을 나타내는 용어이다.

개체의 특징

1. 유일한 식별자에 의해 식별할 수 있다.

2. 꾸준한 관리를 필요로 하는 정보이다.

3. 두 개 이상 영속적으로 존재한다.

4. 업무 프로세스에 이용된다.

5. 반드시 자신의 특징을 나타내는 속성을 포함한다.

6. 다른 개체와 최소한 한 개 이상의 관계를 맺고 있다.

 

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

개체 타입은 직사각형으로 나타낸다.

개체 타입은 보통 '강한 개체', '약한 개체' 타입으로 구분할 수 있다.

강한 개체 타입은 직사각형으로, 약한 개체 타입은 이중 직사각형으로 나타낸다.


속성(Attribute)

속성은 개체가 가진 성질을 말한다. 

예를 들어, '학생'의 경우 학번, 이름, 주민등록번호 등이 있다. 이처럼 개별 개체가 가진 속성을 기본으로 개체 타입의 속성을 정의할 수 있다.

 

속성의 ER 다이어그램 표현

속성은 기본적으로 타원으로 표현하며 개체 타입을 나타내는 직사각형과 실선으로 연결된다.

속성이 개체를 유일하게 식별할 수 있는 키일 경우 속성 이름에 밑줄을 긋는다.

속성은 키 속성과 일반 속성으로 표현된다.

https://medium.com/learn-from-data/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8-5ff37f096d7a

속성의 유형

단순 속성
- 속성값을 더 이상 작은 단위로 나눌 수 없는 속성

복합 속성
- 속성값을 작은 단위로 나눌 수 있는 속성


단일 속성
- 특정 속성에 대해 하나의 값만 허용

다중 속성

- 특정 속성에 대해 하나 이상의 값 허용

저장 속성

- 다른 속성의 영향 없이 단독으로 저장되는 속성

유도 속성
- 특정 속성의 값을 다른 관련된 속성들의 값으로부터 도출 가능한 속성


관계와 관계 타입

ER 모델은 개체와 개체 사이의 관계를 표현한다. 관계는 개체 사이의 연관성을 나타내는 개념이다.

예를 들어, '고객이 도서를 구입한다'라고 할 때 '고객' 개체 타입과 '도서' 개체 타입은 '구입한다'라는 개념으로 연결된다. 이러한 개체 간의 연관성을 관계라고 한다. 

관계 타입은 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의한 것이며, 관계 집합은 관계로 연결된 집합을 의미한다.

 

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

관계 타입은 마름모로 표현하며 관계 타입의 이름은 기호 중앙에 표기한다.

 

ISA 관계

일부 개체 집합들이 맺고 있는 관계 중에는 상하 관계가 있다. 상위 개체 타입의 특성에 따라 하위 개체 타입이 결정되는 형태로 ISA 관계라고 한다. 

ISA 관계는 역삼각형으로 표현하며 역삼각형 위는 슈퍼클래스, 아래는 각각의 서브클래스관계 실선으로 연결한다.

참여 제약 조건

참여 제약 조건은 개체 집합 내 모든 개체가 관계에 참여하는지에 따라 전체 참여부분 참여로 구분할 수 있다.

전체 참여
- 개체 집합의 모든 개체가 관계에 참여하고, 개체 타입과 관계를 두 줄 실선으로 표현

부분 참여
- 일부만 참여하며, 일반적인 관계 표현과 같이 단일 실선으로 표현

관계의 참여 제약 조건


약한 개체 타입과 식별자

가족 개체 타입처럼 상위 개체 타입이 결정되지 않으면 개별 개체를 식별할 수 없는 종속된 개체 타입을 약한 개체 타입이라고 한다.

 

약한 개체 타입은 자신의 기본키만으로 식별이 어려우므로 상위의 강한 개체 타입의 기본키를 상속 받아 사용한다. 

가족 개체 타입의 '이름'과 같이 독립적인 키로는 존재할 수 없지만, 상위 개체 타입의 키와 결합하여 약한 개체 타입의 개별 개체를 고유하게 식별하는 속성을 식별자 혹은 부분키하고 한다.

728x90