Bae

[SQLD] 속성(Attribute) 본문

SQL

[SQLD] 속성(Attribute)

Bae:) 2022. 2. 22. 10:00

속성의 개념

- 업무에서 필요로 한다.

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

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

 

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

- 엔터티, 인스턴스, 속성, 속성값의 관계
  한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.

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

  한 개의 속성은 한 개의 속성값(속성들의 구체적인 내용)을 갖는다.

 

- 속성의 표기법

  Barker 표기법 중 * 입력시 입력값이 반드시 있어야 하고, ㅇ은 있어도 되고 없어도 된다.

속성의 표기법

 

ㅁ 속성의 특징

- 반드시 해당 업무에서 필요하고 관리하고 하는 정보이어야 한다.(예: 강사의 교재 이름)

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

- 하나의 속성에는 한 개의 값만을 가진다. 다중값(하나의 속성에 여러 개의 값이 있음)일 경우 별도의 엔터티를 이용하여 분리한다.

 

ㅁ 속성의 분류

- 속성의 특성에 따른 분류

  기본속성(Basic Attribute): 업무로부터 추출한 모든 속성

  설계속성(Designed Attribute): 새로 만들거나 변형하여 정의하는 속성(코드성, 일련번호 등)

  파생속성(Derived Attribute): 다른 속성에 영향을 받아 발생하는 속성(계산된 값 등)

 

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

  PK(Primary Key)속성: 엔터티를 식별할 수 있는 속성

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

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

 

  단순 속성(Simple Atrribute): 더 이상 다른 속성들로 구성될 수 없는 단순한 속성 (예: 나이, 성별 등)

  복합 속성(Composite Attribute): 여러 세부 속성들로 구성되있는 속성 (예: 주소 등)

 

  단일값(Single Value) 속성: 반드시 하나의 값만 존재 (예: 주민등록번호 등)

  다중값(Multi Value) 속성: 여러 개의 값을 가질 수 있음 (예: 전화번호-휴대폰, 집, 회사 전화번호 등)

  * 다중값 속성은 하나의 엔터티에 포함 X --> 1차 정규화를 하거나, 별도의 엔터티를 만들어 관계로 연결해야 함

 

ㅁ 도메인(Domain)

 - 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인이라고 한다.

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

  예: 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0에서 4.5 사이의 실수 값

 

ㅁ 속성의 명명(Naming)

  - 해당 업무에서 사용하는 이름을 부여

  - 서술식 속성명은 사용하지 않음

  - 약어사용은 가급적 제한

  - 전체 데이터모델에서 유일성 확보하는 것이 좋음

 

[출처] Sql 전문가 가이드

Comments