민규의 흔적

[오라클 DB] ER(Entity Relationship) 모델 - 애트리뷰트(속성) 본문

데이터베이스

[오라클 DB] ER(Entity Relationship) 모델 - 애트리뷰트(속성)

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

ER 모델

 

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

 

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

 

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

 


애트리뷰트

 

하나의 엔티티는 연관된 애트리뷰트들의 집합으로 설명된다.

요구사항 명세에서 명사나 형용사로 표현된다.

개체나 관계가 가지고 있는 고유한 특성으로 ER 다이어그램에서 타원으로 표현한다.

엔티티는 독립적인 의미를 갖는데 반해서 애트리뷰트는 독립적인 의미를 갖지 않는다.

 

키 애트리뷰트는 한 엔티티 타입 내에서 각 엔티티를 고유하게 식별한다.

ER 다이어그램에서 기본 키에 속하는 애트리뷰트는 밑줄을 그어 표시한다.

 

 

위 그림에서 알 수 있는 것은, 고객 엔티티 타입 고객아이디 애트리뷰트 고객명 애트리뷰트가 존재하며, 고객아이디 애트리뷰트는 키 애트리뷰트라는 점을 알 수 있다.

 

애트리뷰트의 분류

 

 

단순 애트리뷰트(simple attribute)

 

더 이상 다른 애트리뷰트로 나눌 수 없는 애트리뷰트로, 대부분의 애트리뷰트가 단순 애트리뷰트이다.

ER 다이어그램에서 실선 타원으로 표현한다.

 

 

복합 애트리뷰트(composite attribute)

 

두 개 이상의 애트리뷰트들로 이루어진 애트리뷰트로, 의미를 분해할 수 있는 애트리뷰트이다.

 

고객아이디, 고객명 : 단순 애트리뷰트, 생년월일 : 복합 애트리뷰트

 

 

단일 값 애트리뷰트(single-valued attribute)

 

각 엔티티마다 하나의 값을 갖는 애트리뷰트로, 대부분의 애트리뷰트가 단일 값 애트리뷰트이다.

ER 다이어그램에서 단순 애트리뷰트와 동일하게 표현된다.

 

 

다중값(다치) 애트리뷰트(multi-valued attribute)

 

각 엔티티마다 여러 개의 값을 가질 수 있는 애트리뷰트이다.

ER 다이어그램에서 이중선 타원으로 표현한다.

 

 

고객아이디, 고객명 : 단일 값 애트리뷰트, 연락처 : 다치 애트리뷰트

 

 

저장된 애트리뷰트(stored attribute)

 

다른 애트리뷰트와 독립적으로 존재하는 애트리뷰트로, 대부분의 애트리뷰트가 저장된 애트리뷰트이다.

ER 다이어그램에서 단순 애트리뷰트와 동일하게 표현된다.

 

 

유도된 애트리뷰트(derived attribute)

 

다른 애트리뷰트의 값으로부터 얻어진 애트리뷰트로, 애트리뷰트에 포함시키지 않는 것이 좋다.

ER 다이어그램에서 점선 타원으로 표현한다.

 

 

가격, 할인율 : 저장된 애트리뷰트, 판매가격 : 유도된 애트리뷰트

 

위 그림에서, 판매가격은 가격 X 할인율 의 결과값으로, 두 애트리뷰트로부터 유도된 애트리뷰트이다.

 

 

애트리뷰트들의 유형 예시

 

위 그림에서 알 수 있는 점은 다음과 같다.

 

1. Empno 애트리뷰트는 키 애트리뷰트다.

2. Address 애트리뷰트는 복합 애트리뷰트다.

3. Hobby 애트리뷰트는 다치 애트리뷰트다

4. Age 애트리뷰트는 유도된 애트리뷰트다.