속성(Attribute)
속성은 엔터티에 저장되는 개체 집합의 특성을 설명하는 항목이라고 할 수 있다. 엔터티를 명확하 고 구체적으로 정의했다 하더라도 이것만으로는 개체 집합의 특성을 설명하기에는 부족함이 있다. 예를 '직원'은??. ‘직원’집합의 특성을 설명하기 위해 직원번호, 직원명, 주민등록번호, 연락전화번호, 거주지 주 소 등과 같은 속성을 정의했다면 이제 이러한 속성 구성을 통해 어떻게‘홍길동’이라는 개체를 특징 짓고 변별할 것인지를 분명하게 이해할 수 있고 집합의 의미 또한 좀더 명확해진다고 할 수 있다. [그 림 1]과 [그림 2]에서 엔터티의 속성을 표현하는 서로 다른 방법을 보여 주고 있다. [그림 1]은 엔터티에 연결되는 속성을 타원으로 보여 주고 있다. 이 스타일은 데이터 모델링 소프트웨 어 제품이 출현하기 이전에 원래의 개체-관계 모델에서 사용되었다. [그림 2]는 현재의 데이터 모델링 소프트웨어 제품에서 보편적으로 사용되고 있는 스타일을 보여 주고 있다.
[그림 1]의 개체-관계 다이어그램에서 속성은 개체 집합을 갖는다. 또한 각 속성은 가질 수 있는 값 의 범위가 있는데 이를 그 속성의 도메인(Domain)이라 한다. 예를 들면 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0 에서 4.0 사이의 실수 값이며 주소라는 속성은 길이가 20자리 이내의 문자열로 정의할 수 있다. 여기서 물론 각 속성은 도메인 이외의 값을 갖지 못한다.
[그림 1]
[그림 2]
일반적으로 서로 다른 개체 집합에 정의된 속성은 같은 도메인을 공유할 수 있다. 예를 들면 학생 개체 집합에서 주소 속성에 해당하는 도메인과 교수 개체 집합에서의 주소 속성의 도메인은 같은 값 들의 범위를 가질 수 있다. 개체 집합 내에서 각각의 개체를 식별할 수 있도록 하나 또는 그 이상의 속성들로 이루어진 속성 집합을 식별자(Unique Identifier)라고 하는데 이 속성들이 개체 집합 내의 각 개체를 유일하게 지정한다. 예를 들면 학번, 성명, 주소, 생년월일, 학과 등의 속성들로 이루어진 학생 엔터티에서 학번 속성은 하나의 식별자가 될 수 있다.
[그림 3]은 자동차 개체 집합의 속성 구성을 나타낸 것이며‘ID_NUM’이라는 속성에 밑줄을 친 것은 식별자를 의미한다. [그림 2]과 같은 표현에서는‘#’표시가 붙은 속성이 식별자이다. 속성은 단순형 혹은 복합형으로 분류할 수 있다. 예를 들면 주소 속성은 시, 구, 동, 번지 등과 같은 여러 세부 속성들로 구성될 수 있는데 이를 복합 속성(Composite Attribute)이라 한다. 또한 나이, 성별 등의 속성은 더 이상 다른 속성들로 구성될 수 없는 단순한 속성이므로 단순 속성(Simple Attribute)이라 한다. 속성은 관리 목적이나 상세화 정도에 따라서 단일값(Single Value) 또는 다중 값(Multi Value)을 가질 수 있다. 주민등록번호와 같은 속성은 반드시 하나의 값만 존재하므로 이 속성은 단일치 속성(Single-Valued Attribute)이라 하고 어떤 사람의 전화번호와 같은 속성은 집, 휴대전화, 회사 전화번호와 같이 여러 개의 값을 가질 수 있다. 자동차의 색상 속성도 차 지붕, 차체, 외부의 색이 다를 수 있다. 이런 속성을 다중치 속성(Multi-Valued Attribute)이라 한다.
[그림 3]과 같은 표현에서 다중치 속성은 두 개의 실선으로 표시한다. 개체-관계 모델에서는 복합 속성, 다중치 속성을 정의할 수 있지만, 직접 구현은 불가능할 수도 있다. 이를 위해서는 M:M 관계나 다수의 속성 또는 1:M 관계의 추가 엔터티를 사용하여 수정해 주어야 한다. 만약 다중치 속 성이 존재하면 설계자는 아래의 방법 중 하나를 선택하여 해결할 수 있다.
[그림 3]
[그림 4]
1) 엔터티 내에서 다중치 속성을 여러 개의 새로운 속성으로 나눈다. [그림 3]에서의‘COLOR’ 속성에 대해 [그림 4]와 같은 새로운 속성을 만들어 [그림 3]에서‘CAR’개체형의 속성 들로 부착시킨다.
2) 다중치 속성을 구성하는 속성들로 구성된 새로운 엔터티를 만든다. 이때 새로운 엔터티는 원래 엔 터티와 M:1 관계를 맺게 한다. [그림 4]의‘COLOR’속성을 떼어내어 새로운 엔터티로 만들 면 새로운 엔터티‘COLOR’는‘CAR’개체형과 M:1 관계가 될 것이다. 속성 중에는 유도 속성 (Derived Attribute)으로 분류될 수 있는 것도 있는데 이 속성은 다른 속성의 값으로부터 어떤 계산을 통해 새로운 값을 얻게 되므로 집합의 본질이나 특성을 규명하기 위한 속성을 고려할 때 제외할 수도 있다. 예를 들면 어떤 사람의 나이 속성은 현재 날짜로부터 생년월일 속성의 값을 뺌 으로써 나이의 값을 유도할 수 있다.
출처 : DB 포탈 사이트 DBguide.net
'데이터 모델링' 카테고리의 다른 글
개체-관계 모델 구성요소 설명 4 - 카디날리티(Cardinality) (0) | 2010.06.23 |
---|---|
개체-관계 모델 구성요소 설명 3 - 식별자, 관계(Relationship) (0) | 2010.06.22 |
개체-관계 모델 구성요소 설명 - 엔티티(Entity) (0) | 2010.06.16 |
개념 & 논리 & 물리 데이터 모델링 정의 (0) | 2010.06.14 |
Sybase PowerDesigner 에서 ERWin 파일 임포트하기 - 2 (0) | 2010.06.10 |