티스토리 뷰

SQL/SQLD 1과목

SQLD - 과목1. (3) 속성

채애 2021. 2. 7. 17:19

1. 속성의 개념

▷ Attribute ( 속성 ) 

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

      업무상 관리하기 위한 최소의 의미 단위

      엔터티에서 한 분야를 담당

 

 

속성의 정의

 

 

※ 속성의 정의

    1) 업무에서 필요로 한다.

    2) 의미상 더 이상 분리되지 않는다.

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

 

 

관리목적에 따라 분리/구분된 속성은 S/W 비용 산정하는 기능점수를 산정할 때 하나의 속성(DET)으로 계산된다.

 

 

 


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

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

 

1) 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.

2) 한 개의 엔터티는 두 개 이상의 속성을 갖는다.

3) 한 개의 속성은 한 개의 속성값을 갖는다.

 

분석단계에서 엔터티 내에 존재하는 여러 개의 인스턴스가 가지는 동일한 성격이 무엇인지 파악하고, 이름을 부여하여 엔터티의 속성으로 기술해야 한다.

 

 

ex) 속성 - 속성값 관계

엔터티
 사람
속성  이름, 주소, 전화번호, 직책
속성값  홍길동, 서울시, 123-456, 대리

홍길동이라는 사람(엔터티)에 정보(이름, 주소, 전화번호 ...)과 같은 각각의 값을 대표하는 이름들은 속성이다.

속성에 대한 각각의 구체적인 값을 속성 값 (Value) 이다.

 

 

엔터티 - 속성의 관계

 

 

② 속성의 표기법

 

속성의 표기법은 엔터티 내에 이름을 포함하여 표현한다.

속성의 표기법

 

 

 

 

 

 


3. 속성의 특징

◆ 속성은 해당 업무에서 필요하고, 관리하고자 하는 정보여야 한다.

정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 한다.

◆ 하나의 속성에는 한 개의 값만을 가진다. 

    하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리한다.

 

 

 

 

 


4. 속성의 분류

① 속성의 특성에 따른 분류

 

※ 속성의 분류

속성 분류
기본속성 (Basic)  업무분석을 통해 바로 정의한 속성
설계속성 (Designed)  원래 업무상 존재하지 않음
 설계를 하면서 도출해내는 속성
파생속성 (Derived)  다른 속성으로부터 계산, 변형이 되어 생성되는 속성

 

 

1) 기본속성 

    : 업무로부터 추출한 모든 속성이 '기본속성'에 해당한다.

      가장 일반적이고 많은 속성을 차지한다.

       코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호, 다른 속성분류를 제외한 모든 속성은 기본속성이다.

 

       주의해야 할 점 ) 업무로부터 분석한 속성이라도 이미 업무상 코드로 정의한 속성인 경우에는 속성의 값이 원래 속성을 나타내지 못하므로 기본속성이 되지 않는다.

 

 

2) 설계속성

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

      코드성 속성은 원래 속성을 업무상 필요에 의해 변형하여 만든 설계속성이다.

      일련번호와 같은 속성은 단일한 식별자를 부여하기 위해 모델상에서 새로 정의하는 설계속성이다.

 

 

3) 파생속성

    : 다른 속성에 영향을 받아 발생하는 속성으로, 보통 계산된 값이 해당된다.

      프로세스 설계 시 데이터 정합성을 유지하기 위해 가급적 파생속성을 적게 정의해야 한다.

      값이 계산된 로직을 속성의 정의서에 기록하여, 향후 속성 값에 대한 검증시 활용된다.

      속성이 가지고 있는 계산방법에 대해서 반드시 어떤 엔터티에 어떤 속성에 의해 영향 받는지 정의 되어야 한다.

      타 속성에 의해 지속적으로 영향을 받아 자신의 값이 변하는 성질을 가지고 있는 속성이다.

      꼭 필요한 경우에만 정의하며, 업무로직이 속성내부에 숨지 않도록 한다.

      일반 엔터티에서는 많이 사용하지 않고, 통계 관련 엔터티나 배치 작업이 수행되면서 발생되는 엔터티에 많이 이용된다.

 

속성의 분류

 

 


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

 

속성 분류
PK 속성 (Primary Key)  엔터티를 식별할 수 있는 속성
FK 속성 (Foreign Key)  다른 엔터티와의 관계에서 포함된 속성
일반속성  엔터티에 포함되어 있고, PK / FK 에 포함되지 않은 속성

 

속성의 분류

 

 

세부 의미를 쪼갤 수 있는가에 따라 단순형 / 복잡형으로 분류한다.

 

  1) 복합 속성 ( Composite Attribute )

      : 여러 세부 속성들로 구성된 복합적인 속성

 

  2) 단순 속성 ( Simple Attribute )

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

 

 

일반적으로 속성은 '하나의 값'을 가진다.

허나 그 안에 동일한 성질의 여러 개의 값이 나타나는 경우가 있다.

단일값 / 다중값으로 분류한다.

 

  1) 단일값 속성 ( Single-Valued Attribute )

      : 속성 하나에 한 개의 값을 가지는 경우 ( ex. 주민등록번호 )

 

  2) 다중값 속성 ( Multi-Valued Attribute )

      : 속성 하나에 여러 개의 값을 가지는 경우 ( ex. 물건의 색상 속성도 )

 

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

 

 

 

 

 

 

 

 


5. 도메인 (Domain)

도메인 : 각 속성이 가질 수 있는 값의 범위

 

각 속성은 도메인 이외의 값을 갖지 못한다.

엔터티 내에서 속성에 대한 데이터 타입, 크기, 제약사항을 지정하는 것이다.

 

( ex. 대학생(엔터티) 은 학점(속성) 0.0 에서 4.5 사이의 실수 값이다. )

 

 

 

 


6. 속성의 명명

속성 이름을 정확하게 부여해야 한다.

용어의 혼란을 없애기 위해 ' 용어사전 ' 에 용어와 도메인정의를 명확하게 한다.

 

 

용어사전, 도메인정의를 통해 용어적 표준과 데이터타입의 일관성을 확보할 수 있다. 

 

 

 

 

속성의 명칭 부여

 

※ 속성명을 부여하는 원칙

 

1) 속성명이 사용자 인터페이스에 나타나기 때문에, 속성의 이름을 부여할 때는 현업에서 사용하는 이름으로 부여해야 한다.

2) 서술식의 속성명은 사용하지 않아야 한다. 

   명사형을 이용하고, 수식어가 많이 붙지 않도록 한다.

3) 약어는 사용하지 않도록 한다.

   업무분석자 내에서 의사소통의 제약이 있다.

4) 모든 속성의 이름은 유일하게 작성한다.

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

   반정규화 (테이블 통합, 분리, 칼럼의 중복 등) 를 적용할 때 속성명의 추돌을 해결하고 안정적인 반정규화를 할 수 있다.

 

 

 

 

 


 

'SQL > SQLD 1과목' 카테고리의 다른 글

SQLD - 과목1. (6) 성능 데이터 모델링  (0) 2021.03.18
SQLD - 과목1. (5) 식별자  (1) 2021.02.24
SQLD - 과목1. (4) 관계  (0) 2021.02.08
SQLD - 과목1. (2) 엔터티  (0) 2021.01.31
SQLD - 과목1. (1) 데이터 모델링  (0) 2021.01.30
댓글