본문 바로가기

SQL

SQL 개념 정리 - 2

데이터 모델링의 3가지 요소 속성(Atturibute)


1. 속성 (Attribute)

속성은 더 이상 쪼개지지 않는 최소의 데이터 단위라고 할수있다. 업무에 필요한 데이터이며 더 이상 분리되지 않고,

엔터티(Entity)를 설명하는 인스턴스의 구성요소가 된다.

 

예를 들면  등록일(Date), 등록시간(Hour)  등록분(Minute)으로 쪼개서 관리할 수 있다.

등록일시라는 하나의 데이터를 일, 시, 분으로 구분한 것이다. 직접적인 관련이 있다면 다시 합쳐서 사용이 가능할 것 이다. 그러나 반대로 서로 관련이 없는 속성을 하나로 합칠 수는 없다.

이름과 주소를 합쳐 하나의 데이터인 '이름주소'로 만들면 하나의 속성이 이름과 주소라는 두 가지 의미를 갖기 때문에 기본

속성으로 성립할 수 없다.


2. 속성의 특징

- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.

- 유일한 식별자에 함수적 종속성을 가져야 한다.( ex_사원 번호라는 유일식별자로 사원의 전체 데이터를 가져올 수 있다.)

- 하나의 속성은 하나의 속성값만을 가진다. 하나의 속성에 여러 속성값이 들어가는 것 같다면 별도의 엔터티를 이용해서 

  분리하는 것이 좋다.


3. 속성의 분류

속성은 업무분석을 통해 바로 정의한 속성을 기본속성(Basic Attribute),

원래 업무상 존재하지는 않지만, 설계하면서 도출해 내는 속성을 설계속성(Designed Attribute),

다른 속성으로부터 계산이나 변형이 되어 생성되는 속성을 파생속성(Derived Attribute)이라고 한다.

 

기본속성

기본속성은 업무로부터 추출한 모든 속성이 여기에 해당하며 엔터티에 가장 일반적이고 많은 속성을 차지한다.

코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호, 그리고 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성은 기본속성이다.

주의해야 할 것은 업무로부터 분석한 속성이라도 이미 업무상 코드로 정의한 속성이 많다는 것이다.

이러한 경우도 속성의 값이 원래 속성을 나타내지 못하므로 기본속성이 되지 않는다.

 

설계속성

설계속성은 업무상 필요한 데이터 이외에 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성이다.

대개 코드성 속성은 원래 속성을 업무상 필요 때문에 변형하여 만든 설계속성이고 일련번호와 같은 속성은 단일(Unique) 한 식별자를 부여하기 위해 모델상에서 새로 정의하는 설계속성이다.

 

파생속성

파생속성은 다른 속성에 영향을 받아 발생하는 속성으로서 보통 계산된 값들이 이에 해당한다.

다른 속성에 영향을 받기 때문에 프로세스 설계 시 데이터 정합성을 유지하기 위해 유의해야 할 점이 많으며,

될 수 있으면 파생속성을 적게 정의하는 것이 좋다.

반응형