본문 바로가기

Data Science/SQLD

[SQLD] 데이터 모델링의 이해 1-3. 속성

반응형

1. 속성의 개념

: 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위

 

  • 업무에서 필요로 한다.
  • 의미상 더 이상 분리되지 않는다.
  • 엔터티를 설명하고 인스턴스의 구성요소가 된다.

2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법

가. 엔터티, 인스턴스, 속성, 속성값의 관계

엔터티 : 두 개 이상의 인스턴스가 존재 / 각각의 엔터티에 고유한 성격을 표현하는 두 개 이상의 속성정보

 

-> 엔터티를 구성하는 특성이 무엇인지 / 각각의 인스턴스들은 어떤 성격의 데이터로 구성되는지 파악

 

분석단계 : 여러 개의 인스턴스가 가지는 동일한 성격이 무엇인지 파악하고 이름을 부여 -> 속성으로 기술

 

Ex) 사원 : 이름, 주소, 전화번호, 직책

사원이라는 엔터티에 속한 인스턴스의 성격을 나타내는 항목 -> 속성

 

즉, 각각의 인스턴스 = 속성의 집합

하나의 속성은 하나의 인스턴스에만 존재 가능하며, 속성은 관계로 기술될 수 없고, 자신이 속성을 가질 수도 없다.

 

엔터티 내에 있는 하나의 인스턴스는 각각의 속성들에 대해 한 개의 속성값만을 가질 수 있으며,

속성 이름, 주소, 전화번호, 직책
속성값 홍길동, 서울시 강남구, 123-4567, 대리

-> 속성값 : 각각의 엔터티가 가지는 속성들의 구체적인 내용

 

  • 한 개의 엔터티는 두 개 이상의 인스턴스의 집합
  • 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
  • 한 개의 속성은 한 개의 속성값을 갖는다.

 

-> 속성 : 엔터티에 속한 엔터티에 대한 자세하고 구체적인 정보


나. 속성의 표기법

: 엔터티 내에 이름을 포함하여 표현


3. 속성의 특징

  • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보
  • 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 갖는다.
  • 하나의 속성에는 한 개의 값을 가진다. -> 여러 개의 값이 있다면, 별도의 엔터티를 이용해 분리

4. 속성의 분류

 

가. 속성의 특성에 따른 분류

  • 기본속성 : 업무분석을 통해 바로 정의한 속성
  • 설계속성 : 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성
  • 파생속성 : 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성

(1) 기본속성 [코드성 데이터, 일련번호, 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성]

: 업무로부터 추출한 모든 속성 / 가장 일반적이며 많은 속성을 차지

 

(2) 설계속성 [코드성 속성, 일련번호]

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

 

(3) 파생속성 

: 다른 속성에 영향을 받아 발생하는 속성 / 일반적으로 계산된 값이 해당

-> 다른 속성에 영향을 받기 때문에, 데이터 정합성을 유지하기 위해 주의해야하며 적게 정의하는 것이 좋다.

-> 계산된 로직을 속성의 정의서에 기록해 속성 값에 대한 검증 시 활용

[어떤 엔터티에 어떤 속성에 의해 영향을 받는지 정의 되어있어야 한다.]

 

#속성의 분류

기본(BASIC) - 원래 속성 제품이름, 제조년월, 제조원가
설계(DESIGNED) - 1:1 치환 001-식품용기, 002-약품용기, 003-기타용기
파생(DERIVED) - 계산값 전체용기 수(∑개별용기), 용기의 총금액(∑단가)

 

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

PK 속성 : 엔터티 식별할 수 있는 속성

FK 속성 : 다른 엔터티와의 관계에서 포함된 속성

일반 속성 : 엔터티에 포함되어 있고, PK,FK에 포함되지 않은 속성

 

#속성의 분류

속성분류 속성명
PK속성 사원번호
FK속성 부서코드
일반속성 사원명, 우편번호, 주소, 전화번호

속성

: 복합 속성 : 그 안에 세부 의미를 쪼갤 수 있는 세부 속성들로 구성  

단순 속성 : 더 이상 다른 속성들로 구성될 수 없는 단순한 속성

 

동일한 성질의 여러 개의 값이 나타나는 경우

단일값 : 속성 하나에 한 개의 값을 가지는 경우

다중값 : 속성 하나에 여러 개의 값을 가지는 경우

 

Ex)

단일값 주민등록번호
다중값 전화번호 [집, 휴대전화, 회사 전화번호], 자동차 색상 [차 지붕, 차체, 외부]

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


5. 도메인

: 가질 수 있는 값의 범위

Ex)

학점 0.0에서 4.0 사이의 실수 값
주소 길이가 20자리 이내인 문자열

-> 엔터티 내에서 속성에 대한 데이터타입크기 그리고 제약사항 지정


6. 속성의 명명

: 속성명은 곧 사용자 인터페이스에 나타나기 때문에 업무에 직결된다.

 

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

 

-> 용어적 표준과 데이터 타입의 일관성 확보

 

#속성의 명칭 부여

  • 해당업무에서 사용하는 이름 부여
  • 서술식 속성명 사용 금지 -> 명사형 이용
  • 약어사용은 가급적 자제
  • 전체 데이터모델에서 유일성 확보를 목표로 -> 데이터에 대한 흐름의 파악과 데이터의 정합성 유지

 

반응형