728x90
반응형
속성(Attribute)의 개념
속성이란 사전적인 의미로는 사물의 성질, 특징 또는 본질적인 성질, 그것이 없다면 실체를 생각할 수 없는 것으로 정의
데이터모델링 관점에서 속성을 정의하자면,
"업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 데이터 단위"로 정의
엔터티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한개의 속성값을 갖는다.
- 하나의 인스턴스에서 각각의 속성은 한 개의 속성값을 가져야 한다.
속성의 분류
속성은 업무분석을 통해 정의한 속성을 기본속성 (Basic Attribute),
원래 존재하지는 않지만 설계를 하면서 도출해 내는 속성을 설계속성(Designed Attribute),
다른 속성으로부터 계산이나 변형이 되어 생성되는 속성을 파생속성(Derived Attribute)이라고 한다.
우리은행은 예금분류(일반예금, 특별예금 등)의 원금, 예치기간, 이자율을 관리할 필요가 있다.
또한 원금에 대한 이자율을 적용하여 계산된 이자에 대해서도 속성으로 관리하고자 한다.
예를 들어
원금이 1000원이고 (기본속성-Basic)
예치기간이 5개월이며 (기본속성-Basic)
이자율이 5.0% 라는 속성을 관리하고 (기본속성-Basic)
계산된 이자도 관리한다. (파생속성-Derived)
일반 예금이나 특별예금 등에 대해서는 코드를 부여 (예. 01- 일반예금, 02- 특별예금 등) 하여 관리한다.
(예금분류_설계속성-Designed)
1) 기본 속성(BASIC)
- 업무로부터 추출한 모든 속성이 여기에 해당하며 엔터티에 가장 일반적이고 많은 속성을 차지한다.
2) 설계 속성(DESIGNED)
- 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성이다.
3) 파생속성(DERIVED)
- 다른 속성에 영향을 받아 발생하는 속성으로서 보통 계산된 값들이 이에 해당
도메인(Domain)
각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domain) 이라 한다.
주문이라는 엔터티가 있을 때 단가라는 속성 값의 범위는 100에서 10,000 사이의 실수 값이며 제품명이라는 속성은 길이가 20자리 이내의 문자열로 정의할 수 있다.
- 도메인의 특징
- 엔터티 내에서 속성에 대한 데이터 타입과 크기를 지정한다.
- 엔터티 내에서 속성에 대한 NOT NULL 을 지정한다.
- 엔터티 내에서 속성에 대한 Check 조건을 지정한다.
데이터 모델링을 할 때 속성의 명칭을 부여하는 방법(명명)
- 속성의 이름에 약어를 사용할 경우 그 의미를 명확하게 이해할 수 없고 혼돈을 초래하여 커뮤니케이션의 혼란을 야기할 수 있으므로 지나친 약어 사용은 가급적 제한하도록 한다.
- 속성의 이름에는 서술식 용어는 사용하지 않도록 한다.
- 데이터모델링 대상에서 사용하는 용어도 있고 외부에서 사용하는 용어도 있어 중복이 있을 때, 가급적 해당 업무에서 자주 사용하는 이름을 이용하도록 한다.
- 전체 데이터모델에서 유일성을 확보하는 것이 좋다.
# Reference:
728x90
반응형
'Language > RDBMS' 카테고리의 다른 글
식별자(Identifiers) (0) | 2023.03.07 |
---|---|
관계(Relationship) (0) | 2023.03.07 |
엔터티(Entity) (0) | 2023.03.07 |
데이터 모델링의 이해 (0) | 2023.03.07 |
인덱스(Index) (0) | 2023.03.07 |