Attributes 속성
1. 순서
값 변경이 발생하지 않을 가능성이 높은 속성은 위쪽으로 위치한다.
값 변경이 발생할 가능성이 크거나 속성 사이즈가 큰 경우 아래쪽에 위치한다.
시스템 속성은 최하단에 위치한다.
2. 속성 종류
- 기초 속성
- 관계 속성
- 추출 속성
- 시스템 속성
2-1 기초 속성
엔터티의 본질을 설명하는 속성이다. 엔터티의 반드시 존재해야 하는 업무 식별자, 후보 식별자, 엔터티의 성격을 대표할 수 있는 핵심 속성, 업무를 정의하는 코드 속성 등이 기초 속성에 포함된다.
주문 엔터티의 '주문번호', '고객번호', '주문일자', '배송요청일자', '배송지주소' 등이 기초 속성이다. 기초 속성값은 End-User의 입력이라는 행위에 의해서 생성된다.
2-2 관계 속성
타 엔터티와의 연관성을 나타내는 속성이다. 보통 외래키(Foreign Key)이다.
식별 관계는 상위(부모) 엔터티의 주 식별자를 식별자로 상속받을 때 그 속성은 기초 속성이면서 관계 속성이다.
비식별 관계는 상위(부모) 엔터티의 주 식별자를 일반 속성으로 상속받을 때이다.
2-3 추출 속성
원본(Raw) 속성의 값을 연산해서 생성할 수 있는 속성. 같은 엔터티의 속성을 추출하는 것은 바람직하지 않다. 다른 엔터티의 여러 인스턴스에서 추출(연산)한 값을 관리하는 것이 추출 속성의 기본 원칙이다. 추출 속성을 사용하는 목적은 데이터의 조회 시간을 단축하기 위해서다. 하지만 데이터 정합성을 맞춰야 하는 부가적인 부하가 필요하기 때문에 조회 이슈가 있을 때만 사용한다.
유사한 속성인 중복 속성은 원본 값을 그대로 사용하는 속성이다.
2-4 시스템 속성
기초, 관계, 추출 속성 외에 사용되는 속성이 시스템 속성이다. 주로 데이터에 대한 추적, 감시를 위해 사용한다. 누가, 언제 생성하고 수정했는지에 대한 추적 데이터는 당장에는 필요 없을 수도 있지만 언젠가는 필요할 수 있다.
3. 복합 속성과 다가 속성
복합 속성과 다가 속성은 제 1정규화와 관련된 속성이다. 복합 속성을 분리해 새로운 속성으로 관리를 할지 다가
3-1 복합 속성
두 개 이상의 세부 속성으로 구성된 속성을 말한다. 전화번호는 국번과 번호 등으로 나뉠 수 있고 고객 주소는 시, 구, 동 등으로 구성되어 있다.
복합 속성은 여러 개의 개별 속성으로 나눠 별도로 관리하는 것이 원칙이나 필요에 따라 하나의 속성으로 관리하는 것이 효율적일 때가 있다. 휴대전화번호를 세 개를 분해해서 관리할 수 있으나 하나의 속성으로 관리할 수도 있다. 상황에 따라 달라질 수 있다.
계좌번호나 계약번호 속성 값에 지점코드가 포함돼 있다면 복합 속성과 유사하다. (추천하는 방식은 아니다. 계좌번호를 업무 식별자로 사용할 확률이 높은데 업무 식별자에 의미가 있는 값을 사용하지 않는 것이 좋다.)
3-2. 다가 속성
유사한 성격의 값을 복수로 가지고 있는 속성을 의미한다. 여러 값을 가지는 속성이다. 자동차색상속성은 외장색상, 내장색상 등의 여러 값을 가질 수 있으며 전화번호 속성도 집 전화번호, 사무실 전화번호, 팩스 전화번호, 휴대 전화번호 등의 여러 종류의 값을 가질 수 있다. 간단하게 말해서 1:N 관계에서 N에 해당하는 속성이 다가 속성이다. (가족, 취미, 전화번호 등)
4. 여부, 유무 속성
일반적으로 여부, 유무 속성을 엄격하게 구분해서 사용하지는 않는다.
4-1 여부 속성
O, X 성격의 데이터로 '맞다', '아니다' 혹은 '하다', '하지 않다' 의미로 관리하는 속성이다.
e.g. 사용 여부 등
4-2 유무 속성
Y, N 성격의 데이터로 '존재한다', '존재하지 않는다' 의미로 관리하는 속성이다.
e.g. 자차 유무, 자녀 유무 등
관계형 데이터 모델링 프리미엄 가이드 도서의 내용을 참고하였습니다.