자격증 정리/SQLD

Chapter 01 ) 데이터 모델링의 이해 (3) - 속성

HanJW96 2023. 3. 5. 12:22

1-3. 속성 (Attribute)

속성 (Attribute)의 개념

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

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

 

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

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

* 속성은 엔터티에 속한 엔터티에 대한 자세하고 구체적인 정보를 나타내며 각각의 속성은 구체적인 값을 갖게 된다.

* 이름, 주소, 생년월일과 같은 각각의 값을 대표하는 이름들을 속성이라 하고 홍길동, 서울시 강서구, 1967년 12월 31일과 같이 각각의 이름에 대한 구체적인 값을 속성값(VALUE)이라고 한다.

 

속성의 표기법 ( 바커 표기법 )

과목(엔터티) 강사 사건
#과목번호(식별자) #강사번호 #사건번호
*과목명 *강사명 *발생장소
○교재명 *주소 *발생일시
*생성일자 *생년월일  

1. 속성명을 기재하고

2. 해당속성이 식별자인지 아닌지 표시하고

3. 해당 속성이 필수값(*)인지 선택값(○)인지 표시 한다.

 

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

 

속성의 특징

  • 엔터티와 마찬가지로 반드시 해당 업무에서 필요하고 관리하고자 하는 정보 이어야 한다. (ex 강사의 강사명)
  • 정규화 이론에 근간하여 정해진 주 식별자에 함수적 종속성을 가져야 한다.
  • 하나의 속성에는 한 개의 값만을 가진다. 하나의 속성에 여러 개의 값이 있는 다중 값일 경우 별도의 엔터티를 이용하여 분리한다.

ex ) 과목번호만 알고 있으면 그 과목의 과목명, 교재명, 생성일자를 알 수 있다. 과목명, 교재명, 생성일자는 과목번호에 종속되어 있다.

 

속성의 분류 - 특성에 따른 분류

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

                                                                                       상품

제품번호 제품명 제조일시 제조원가 제조사코드
0000000001 LG그램12 2020-05-29 11:34:02 425,482 LGC
0000000002 갤럭시S2.4 2020-05-29 11:34:04 221,457 SSC
0000000003 애플윙 2020-05-29 11:34:07 441,454 APC

                                     상품판매

제품번호 판매순번 판매일자 판매금액
0000000001 1 2020-06-05 600,000
0000000001 2 2020-06-05 620,000
0000000001 3 2020-06-05 600,000
0000000002 1 2020-06-05 350,000
0000000003 1 2020-06-05 650,000

* 제품번호 -> 식별자

                     일자별상품판매합계

제품번호 판매일자 판매금액합계
0000000001 2020-06-05 1,820,000
0000000002 2020-06-05 350,000
0000000003 2020-06-05 650,000

① : 기본속성

② : 설계속성

③ : 파생속성

 

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

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

속성분류 속성명
PK속성 부서(부서번호), 사원(사원번호)
FK속성 (외래키) 사원(부서번호)
일반속성 부서(부서명)
사원(사원명, 우편번호, 주소, 전화번호)

도메인(Domain)

  • 각 속성은 가질 수 있는 값의 범위를 정의할 수 있는데 이를 그 속성의 도메인(Domain)이라 한다.
  • 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.00에서 4.50 사이의 실수 값이며 주소라는 속성은 길이가 20자리 이내인 문자열로 정의
  • 각 속성은 도메인 이외의 값을 갖지 못한다.

       * 속성의 범위

속성의 명명

  • 해당업무에서 사용하는 이름을 부여 한다.
  • 서술식 속성명은 사용하지 않는다.
  • 약어 사용은 가급적 제한한다.
  • 전체 데이터모델에서 유일성 확보하는 것이 좋다.