본문 바로가기

IT/SQLD

SQLD 노랭이 [속성의 특성에 따른 분류]

728x90
반응형

속성은 데이터베이스에서 엔터티의 특성을 설명하는 중요한 요소입니다. 속성은 그 특성에 따라 기본속성, 설계속성, 파생속성으로 분류할 수 있습니다. 각각의 속성은 데이터베이스 설계와 운영에서 중요한 역할을 하며, 이를 이해하는 것은 데이터 모델링에서 필수적입니다.
속성은 어떤 대상이 가진 특징을 말한다. 예를 들면 어떤 대상 = 학생, 가진 특징 = 학생이 가진 특징 [이름, 나이, 학년, 반, 번호]로 나타낼 수 있다. 속성은 특징에 따라서 기본, 설계, 파생 3가지로 나눌 수 있다. 

1. 기본속성 (Base Attribute)
   - 기본속성은 업무에서 직접적으로 수집된 원래의 데이터를 나타냅니다. 즉, 실제로 존재하고 관리해야 할 정보를 그대로 표현한 속성입니다.
   - 특징: 기본속성은 다른 속성에 의존하지 않고 독립적으로 존재하며, 업무 분석을 통해 바로 추출된 속성입니다. 코드나 계산된 값이 아닌, 실질적인 데이터를 담고 있습니다.
   - 예시: 학생 엔터티에서 "이름", "생년월일", "학번" 등이 기본속성입니다. 이들은 학생에 대한 실제 정보를 나타내며, 다른 속성을 통해 계산되지 않습니다.

기본속성은 원래부터 있던 정보, 즉, 우리가 실제로 알고 있는 사실을 "그대로" 저장한 것

2. 설계속성 (Design Attribute)
   - 설계속성은 실제 업무에 존재하지 않지만, 데이터베이스 설계 과정에서 추가로 정의되는 속성입니다. 주로 데이터 모델링을 최적화하거나 시스템의 규칙을 명확히 하기 위해 새롭게 만들어집니다.
   - 특징: 설계속성은 데이터베이스 설계 시 필요에 따라 추가되거나 변형된 속성입니다. 예를 들어, 고유 식별자를 만들기 위해 일련번호를 부여하는 경우가 이에 해당합니다.
   - 예시: "주문번호" 같은 속성이 설계속성이 될 수 있습니다. 주문번호는 실제로 업무에서 사용되지 않지만, 각 주문을 고유하게 식별하기 위해 데이터베이스 설계 시 추가될 수 있습니다.

설계속성은 실제로는 없지만, 데이터를 더 잘 관리하기 위해 추가하는 새로 만든 정보. 예를 들면, 주문할때 "주문번호"와 같이 우리가 사용하는 정보는 아니지만, 물건을 주문할때 주문을 구분하기 쉽게 새로 만든 번호

3. 파생속성 (Derived Attribute)
   - 파생속성은 다른 속성의 값을 기반으로 계산되거나 변형된 속성입니다. 즉, 파생속성 자체는 저장되지 않으며, 필요할 때마다 다른 속성을 이용해 계산됩니다.
   - 특징: 파생속성은 데이터의 중복을 피하고, 저장 공간을 절약하기 위해 사용됩니다. 그러나 계산 과정에서 성능 이슈가 발생할 수 있으므로 주의가 필요합니다.
   - 예시: "나이"는 "생년월일"을 기반으로 현재 날짜와 비교하여 계산되는 파생속성입니다. 또 다른 예로는 "총 주문 금액"이 있으며, 이는 각 상품의 가격과 수량을 곱해서 계산됩니다.
파생속성은 다른 정보를 이용해서 계산해낸 정보, 즉, 원래부터 있는게 아니고 다른 정보를 가지고 알아내는 것. 예를 들면 "평균"이라는 속성은 "모든 값"을 "수량"으로 나눈 값으로 계산할 수 있죠.

요약


| 기본속성      | 업무에서 직접 수집된 원래의 데이터 

원래부터 알고 있는 정보(예: 이름, 생년월일)
| 설계속성      | 시스템 설계를 위해 추가되거나 변형된 속성 

더 잘 관리하려고 새로 만든 정보(예: 주문번호)
| 파생속성      | 다른 속성을 기반으로 계산되거나 변형된 속성

다른 정보를 이용해서 계산한 정보(예: 평균, 총 가격)


Citations:
[1] https://my-development-log.tistory.com/15
[2] https://www.techtarget.com/whatis/definition/attribute
[3] https://wikidocs.net/170654
[4] https://www.gleek.io/blog/derived-attributes-erd

반응형