[SQL] 속성(Attribute)
속성이란,
- 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소 단위"
- 업무에서 필요로 한다.
- 의미상 더 이상 분리되지 않는다.
- 엔티티를 설명하고 인스턴스의 구성요소가 된다.
ex) 이름, 주소, 생년월일, 계약일자, 전문분야.
엔티티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔티티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔티티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한 개의 속성값(value)을 갖는다.
속성 표기법
속성의 특징
- 엔티티와 마찬가지로 반드시 해당 업무에 필요하고 관리하고자 하는 정보이어야 한다.
- 정해진 주식별자에 함수적 종속성을 가져야 한다 (?)
- 하나의 속성에는 한 개의 값만을 가진다. 하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도 엔티티를 이용하여 분리한다.
속성의 분류
- 속성의 특성에 따른 분류
1. 기본 속성: 업무 분석을 통해 바로 정의한 속성 ex) 제품 이름, 제조 년월, 제조 원가...
2. 설계 속성: 원래 업무상 존재하지 않지만 설계를 하면서 도출해내는 속성 ex) 일련번호...
3. 파생 속성: 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성 ex) 계산값, 총금액, 전체 수...
- 엔티티 구성방식에 따른 분류
1. PK(Primary key) 속성: 엔티티를 식별할 수 있는 속성
2. FK(Foreign key) 속성: 다른 엔티티와 관계에서 포함된 속성
3. 일반 속성: : PK, FK에 포함되지 않은 속성
속성의 도메인
- 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domail)이라고 한다. 엔티티 내에서 속성에 대한 데이터 타입과 크기 그리고 제약사항을 지정하는 것이라고 생각하면 된다.
ex) 학생이 가질 수 있는 학점은 0.0 ~4.0 사이의 실수. 길이 20자리 이내인 문자열.
속성 이름 짓기
- 해당 업무에서 사용하는 이름을 부여 한다.
- 서술식 속성명은 사용하지 않는다. 명사형을 이용하자.
- 약어사용은 가급적 제한한다.
- 전체 데이터모델에서 유일성 확보하는 것이 좋다. 이름 중복되지 않게 하자.
* kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.