본문 바로가기
DB/데이터모델링

데이터 모델링이론 - 엔터티가 갖는 공통적인 성질을 표현하는 속성

by 참외롭다 2023. 6. 13.
반응형

 

데이터베이스 인스턴스의 공통적인 성질을 표현하는 엔터티 속성

 

 

속성은 인스턴스의 성질을 담고있는 인스턴스의 구성요소로 의미상 더이상 분리할 수 없는 최소의 데이터 단위입니다.

 

속성에 할당된 값으로 엔터티를 설명합니다.

 

정규화 이론에 근거하여 속성은 엔터티의 주식별자에 대해 함수적 종속성을 가져야 합니다.

 

함수적 종속이란?

인스턴스 R에 속성 X와 Y가 있다고 가정합니다. 

X의 값을 알면 Y의 값을 바로 식별할 수 있고, X의 값에 Y의 값이 달라질 때, Y는 X에 함수적 종속이라고 합니다. 

즉, 주식별자에 대한 함수적 종속성이란 주식별자의 값에 따라 나머지 속성 중 하나의 값이라도 달라져야함을 의미합니다.

주식별자가 다른데 다른 속성의 값이 모두 똑같다면 주식별자에 대해 종속적이지 않습니다.

 

 

하나의 속성은 한 개의 값만을 가져야 합니다. 하나의 속성에 여러 개의 값이 있을 경우 별도의 엔터티를 이용해 분리해야 합니다.

 

속성과 속성값

 

 

엔터티는 두 개 이상인스턴스가 존재합니다.

 

엔터티는 두 개 이상의 속성을 갖습니다.

 

데이터 분석 단계에서 엔터티에 속한 여러 인스턴스의 공통적인 성격을 파악해 엔터티의 속성으로 기술합니다.

 

하나의 속성은 하나의 인스턴스에만 존재합니다.

 

속성은 관계로 기술될 수 없고 속성은 자신의 속성을 가질 수 없습니다.

 

속성값은 엔터티 속성의 구체적인 내용이다.

 

한 개의 엔터티는 두 개 이상의 인스턴스가 존재해야하고 한 개의 인스턴스에는 두 개 이상의 속성이 존재해야합니다.

 

한 개의 속성은 오직 한 개의 속성값이 있어야합니다.

 

속성의 표기법과 분류

 

속성은 엔터티 내에 이름으로 표현합니다.

 

 

특성에 따른 분류

 

- 기본 속성

업무로부터 추출한 모든 속성입니다.

코드성 데이터, 엔터티 식별자, 다른 속성을 계산하거나 영향을 받아 생성된 속성은 제외됩니다.

코드로 정의한 속성은 원래 속성을 나타내지 않으므로 기본속성이 아닙니다.

 

- 설계 속성

데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성입니다.

코드성 속성은 원래 속성을 업무상 필요에 따라 변형하여 만든 설계 속성에 해당합니다.

일련번호 또한 단일한 식별자를 부여하기 위해 모델에서 새로 정의하는 설계속성입니다.

 

- 파생 속성

다른 속성에 영향을 받아 발생하는 속성으로 계산된 값 등이 해당됩니다.

데이터 정합성을 유지하기 위해 가급적 파생속성은 적게 정의하는 것이 좋습니다.

파생 속성은 계산 방법에 대해 어떤 엔터티와 어떤 속성에 의해 영향을 받는지 정의해야합니다.

파생 속성 정의 시,  업무 로직이 속성 내부에 숨지 않게 하는 것이 좋습니다.

 

엔터티 구성방식에 따른 분류

 

- 일반속성

엔터티를 식별할 수 있는 속성인 PK 속성이 해당합니다.

다른 엔터티와의 관계에서 포함된 속성인 FK 속성, 엔터티에 포함되어 있고 PK/FK에 포함되지 않는 속성이 포합됩니다.

 

- 복합형 / 단순형 속성

세부 의미를 쪼갤 수 있는지에 따라 단순형 혹은 복합형으로 분류할 수 있습니다.

예를 들어 주소는 복합속성으로 시,구,동,번지 같은 여러 단순형 속성들로 나뉘어질 수 있습니다.

나이, 성별 등의 속성은 더이상 다른 속성들로 구성될 수 없는 단순형  속성입니다.


 

- 단일 / 다중값 속성

일반적으로 속성은 하나의 값을 가지고 있으나, 그 안에 동일한 성질의 여러 개의 값이 나타나는 경우가 있습니다.

이때 속성 하나에 한 개의 값을 가지는 경우를 단일값, 여러 개의 값을 가지는 경우를 다중값 속성이라 합니다.

전화번호의 경우 집전화, 휴대전화, 회사전화등 여러 개의 값을 가질 수 있기에 다중값 속성입니다.

다중값 속성의 경우 하나의 엔터티에 포함될 수 없으므로 1차 정규화를 하거나, 별도의 엔터티를 만들어 관계로 연결해야합니다.

 

도메인

 

속성이 가질 수 있는 값의 범위를 도메인이라고 합니다.

 

예를 들어 학점 속성의 도메인은 0.0에서 4.3 사이의 실수 값이 도메인입니다.

 

도메인이 정해진 속성은 도메인 이외의 값이 있을 수 없습니다.

 

 

속성의 명명

 

 

속성을 구분하기위해 이름을 정확하게 부여하고 용어의 혼란을 없에기 위해 용어사전을 이용해야합니다.

 

각 속성이 가지는 값의 종류와 범위를 명확히 하기 위해 도메인을 미리 정의하여 용어사전과 같이 사용합니다.

 

속성의 이름을 부여할 때는 현업에서 사용하는 이름을 사용합니다.

 

서술식의 속성명을 사용하지말고 명사형을 이용하고 수식어를 많이 붙이지 않아야합니다.

 

소유격을 사용하지 않습니다.

 

공용화되지 않는 업무에서 사용하지 않는 약어는 사용하지 않습니다.

 

가능하면 모든 속성의 이름은 유일하게 작성하는 것이 좋습니다.

 

데이터에 대한 흐름을 파악하고 데이터의 정합성을 유지하는데 도움이 됩니다.

 

또한 반정규화를 적용할때 속성명의 충돌을 해결하여 안정적으로 반정규화를 적용할 수 있게 됩니다.

 

 

반응형