속성이란
속성이란 사전적인 의미로 사물의 성질 또는 본질로 정의된다.
데이터 모델링 관점에서의 속석이란 "업무에 필요한 데이터로 의미로 더이상 분리되지 않는 최소의 데이터 단위"를 뜻한다.
속성은 분석단계에서 엔터티 내에 존재하는 여러개의 인스턴스가 가지는 동일한 성격은 무엇인지를 파악하고 이에 이름을 부여하여 엔터티의 속성으로 정의하는게 좋다. 또한 속성은 엔터티의 구체적인 성질을 나타내는 것으로 하나의 속성이 두개의 의미를 갖아서는 안된다.
속성 표기법
사원엔터티를 IE/Barker 표기법으로 표현해 보겠다.
[IE 표기법]
[Barker 표기법]
속성 특징
- 해당 업무에 필요하고 관리자고자 하는 정보이어야 한다.
- 주식별자에 함수적 종속성을 가져야한다.
- 하나의 속성에 하나의 값만 관리된다.(여러개의 값을 관리할 경우 별도의 엔터티로 관리)
속성 분류
특성에 따른 분류
기본속성
업무분석을 통해 정의한 속성으로 가장 일반적인 속성이다.
(이름, 성, 이메일, 전화번호, 입사일자, 급여, 성과급 비율)
설계속성
업무에 존재하지 않지만 업무를 규칙화하기 위해 속성을 만들거나 변형하여 정의하는 속성이다.
코드속성, 단일한 식별자를 부여하기 위한 일련번호이 이에 해당된다.
(예 : 사원NO, 관리자ID, 부서ID)
파생속성
다른 속성에 영향을 받아 발생하는 속성으로 보통 계산된 값들이 이에 속한다.
(예 : 통계자료, 배치로 생성된 엔터티)
엔터티 구성방식에 따른 분류
PK(Primary Key) : 엔터티를 식별할 수 있는 속성
FK(Foreign Key) : 다른 엔터티와의 관계에서 포함된 속성
일반속성 : 그외 속성
기타 분류법
단순형/복합형
단순속성(Simple Attribute) : 다른 속성으로 구성되 수 없는 속성(시, 구, 동, 번지)
복합속성(Composite Attribute) : 단순속성들로 구성된 속성(예 : 주소는 시, 구, 동, 번지로 구성됨)
단일/다중
단일값(Single Value)
사원 엔터티에서 성, 이름처럼 하나의 값만 가지는 속성이다.
다중값(Multi Value)
한 사원이 여러개의 핸드폰을 가질경우 핸드폰 속성이 여러개 필요하다. 이처럼 여러개의 값을 가지는 속성이다.
다중값 속성은 "속성은 하나의 속성값으로 관리" 조건에 위배가된다. 이는 1차 정규화를 하거나, 별도의 엔터티를 만들어 관계로 연결해야 한다.
도메인(Domain)
속성이 가질수 있는 범위를 뜻한다.
예를 들어 급여 속성은 숫자만 들어가야 하고 0에서 10000 미만으로 정의되면 급여에는 문자가 입력될 수 없으며
음수와 10000을 초과한 수는 입력되지 못한다.
좀더 상세히 정의하면, 엔터티 내에서 속성에 대한 데이터 타입과 크기 그리고 제약사항을 지정하는 것이다.
속성 명명(Naming)
- 업무에 사용되는 이름을 부여한다.
- 서술식으로 정의하지 않는다.
- 전체 데이터모델에서 유일성을 유지하는게 좋다.
감사합니다.
'DataBase > Data Modeling' 카테고리의 다른 글
[Data Modeling-데이터 모델링]데이터 모델링 (0) | 2017.02.17 |
---|---|
[Data Modeling-데이터 모델링]관계(Relationship) (0) | 2017.02.12 |
[Modeling]엔터티(Entity) (0) | 2017.02.10 |