데이터 모델링에서 **속성(Attribute)**은 **엔터티(Entity)**가 가지는 데이터의 최소 단위입니다.
속성은 그 특성과 용도에 따라 다음과 같이 여러 유형으로 분류됩니다.
가장 기본적인 형태의 속성으로, 더 이상 나눌 수 없는 속성입니다.
여러 개의 하위 속성으로 구성된 속성입니다. 분석이나 구현 시 나눠서 사용할 수 있습니다.
하나의 속성에 대해 값이 하나만 존재하는 경우
하나의 속성에 대해 둘 이상의 값이 존재할 수 있는 속성
관계형 모델에서는 별도의 테이블로 분리하여 1\:N 관계로 표현
다른 속성의 값으로부터 계산되거나 유도되는 속성입니다.
데이터를 저장하지 않고 필요 시 계산하는 것이 일반적입니다.
성능이나 보안을 고려해 물리적으로 저장하기도 함 (반정규화)
엔터티를 유일하게 식별할 수 있는 속성으로, 주로 **기본키(PK)**로 사용됩니다.
| 속성 유형 | 설명 | 예시 |
|---|---|---|
| 기본 속성 | 더 이상 나눌 수 없는 단일 속성 | 이름, 성별, 단가 |
| 복합 속성 | 여러 하위 속성으로 구성된 속성 | 주소(시/구/동), 이름(성/이름) |
| 단일 속성 | 하나의 값만 가지는 속성 | 학번, 주민등록번호 |
| 다중 값 속성 | 여러 개의 값을 가질 수 있는 속성 | 전화번호, 이메일 |
| 파생 속성 | 다른 속성으로부터 계산되는 속성 | 나이, 금액, 기간 |
| 식별자 속성 | 엔터티를 유일하게 식별할 수 있는 속성 | 학번, 주문번호, ISBN |