민규의 흔적

[오라클 DB] ER(Entity Relationship) 모델 - 엔티티 타입 본문

데이터베이스

[오라클 DB] ER(Entity Relationship) 모델 - 엔티티 타입

민규링 2023. 10. 22. 23:02

ER 모델

 

데이터베이스 설계를 용이하게 하기 위해 Peter Chen이 1976년에 제안하였다.

 

개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현한 모델이다.

 

기본적인 구문으로는 엔티티, 관계, 애트리뷰트가 있고, 기타 구문으로는 카디날리티 비율, 참여 제약조건 등이 있다.

 


엔티티(Entity)

 

하나의 엔티티는 사람, 장소, 사물, 사건 등과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 독립적인 객체이다.

사원처럼 실체가 있는 것도 있지만, 생각이나 개념과 같이 추상적인 것도 있다.

 

 

엔티티 타입

 

엔티티들은 엔티티 타입(또는 엔티티 집합)들로 분류된다.

 

엔티티 타입은 동일한 애트리뷰트들을 가진 엔티티들의 틀이다.

관계 모델의 릴레이션의 내포(스키마)에 해당한다.

( 학생 릴레이션 스키마 = 학생 엔티티 타입 ) 

 

엔티티 집합은 동일한 애트리뷰트들을 가진 엔티티들의 모임이다.

관계 모델의 릴레이션의 외연(인스턴스)에 해당한다.

 

엔티티 집합과 엔티티 타입을 엄격하게 구분할 필요는 없다

 

ER 다이어그램에서 엔티티 타입은 직사각형으로 나타낸다.

 

엔티티 집합의 각 요소들은 엔티티라고 부른다.

 

 

강한 엔티티 타입

 

엔티티 타입 내에서 자신의 키 애트리뷰트를 사용하여 고유하게 엔티티들을 식별할 수 있는 엔티티 타입으로,

간단하게 키가 있는 엔티티 타입이라고 이해할 수 있다.

 

 

약한 엔티티 타입

 

키를 형성하기에 충분한 애트리뷰트들을 갖지 못한 엔티티 타입으로,

이 엔티티 타입이 존재하려면 소유 엔티티 타입이 있어야 한다.

간단하게 키가 없어, 강한 엔티티 타입의 키 애트리뷰트를 가져와 사용한다고 이해할 수 있다.

 

약한 엔티티 타입은 소유 엔티티 타입의 키 + 부분 키 조합으로 각 튜플들을 식별한다.

부분 키란, 약한 엔티티 타입 내에서 키를 형성할 때에 포함되는 애트리뷰트들의 집합을 의미한다.

 

ER 다이어그램에서 약한 엔티티 타입을 이중선 직사각형으로 표기하며,

약한 엔티티 타입의 부분 키는 점선 밑줄로 표시한다.

 

 

 

약한 엔티티 타입인 DEPENDENT 엔티티 타입은 이중선 직사각형으로 표기하며, 해당 엔티티 타입의 부분 키인 Depname 애트리뷰트는 점선 밑줄로 표기한다.

(ER 모델에서 애트리뷰트란?)

 

소유 엔티티 타입

 

약한 엔티티 타입에게 키 애트리뷰트를 제공하는 엔티티 타입을 말한다.

 

소유 엔티티 타입의 키 애트리뷰트를 결합해야 약한 엔티티 타입의 엔티티들을 식별할 수 있다.

예를 들어, 사원부양가족에서 사원사번이라는를 가지고 있고, 부양가족사원의 사번 이름으로 식별한다는 점에서, 사원 엔티티 타입은 강한 엔티티 타입, 부양가족 엔티티 타입은 약한 엔티티 타입으로 이해할 수 있겠다.