엔터티란?
엔터티(Entity)란 데이터 모델링 3요소(엔터테,관계,속성)중 하나로서, 실체 또는 객체라고 불리는 엔터티는 업무에 필요하고 유용한 정보를 저장, 관리하 기 위한 집합적인 것이다.
- 엔터티는 사람, 장소, 물건 사건, 개념 등의 명사에 해당한다.
- 엔터티는 업무상 관리가 필요한 관심사에 해당한다.
- 엔터티는 저장이 되기 위한 어떤 것이다.
업무에서 필요로 하는 정보여야한다.
▪ 예) 구매자는 가게에서 필요로하는 엔터티는 맞으나 집에서는 필요한 엔터티가 될 수 없다.
유일한 식별자를 가져야 한다.
▪ 예) 들어 직원을 구분할 수 있는 방법으로 이름이나 사원번호
2개 이상의 인스턴스를 포함해야 한다.
▪ 영속적으로 존재하는 인스턴스의 집합이 되어야 한다
업무 프로레스에 이용되어야 한다.
속성을 반드시 가진다.
관계를 반드시 가진다.
▪ 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 존재해야 한다.
▪ 기본 엔터티(Key Entity): 업무에 원래 존재하는 정보이며, 독립적으로 생성되는 엔터티
▪ 다른 엔터티의 부모의 역활을 한다.
▪ 다른 엔터티로부터 주식별자를 상속받지 않고,자신의 고유한 주식별자를 가진다
예) 사원,부서,고객,상품
▪ 중심 엔터티(Main Entity): 기본 엔터티로부터 발생되며, 업무에 있어서 중심적인 역활을 하며, 기본 엔터티와 행위 엔터티의 중간에 존재하는 엔터티
예)계약, 청구, 주문, 매출
▪ 행위 엔터티(Active Entity, 사건 엔터티): 2개 이상의 부모 엔터티로부터 발생함, 비즈니스 프로세스를 실행하면서 생성되는 엔터티, 지속적으로 정보가 추가되고 변경되어 데이터양이 가장 많음
예) 주문목록, 변경이력
업무에서 필요로 하는 인스턴스로 관리하고자하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 즉 엔터티가 가지는 최소 의미 단위이다.
엔터티를 설명하고 인스턴스의 구성요소가 된다.
한 개의 엔터티는 2개 이상의 인스턴스 집합
한 개의 엔터티는 2개 이상의 속성을 가짐
한 개의 속성은 1개의 속성값 (value)을 가짐
명명규칙: 해당업무에서 사용하는 이름 부여, 서술식 속성명 사용 금지, 약어 사용 금지, 전체 데이터모델에서 유일성 확보
표기법: IE표기법, Barker 표기법 등
▪ 1) 엔터티와 마찬가지로 반드시 해당 업무에서 필요,관리하고자 하는 정보이어야 한다.
▪ 2) 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 한다.
▪ 3) 하나의 속성에는 한 개의 값만을 가진다
만약에 하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리한다.
속성의 특성에 따른 분류
1) 기본속성
▪ 업무로부터 추출한 모든 속성
2) 설계속성
▪ 기본속성 외에 새롭게 만들거나 변형하여 정의한 속성
3) 파생속성
▪ 타 속성에 의해 지속적으로 영향을 받아 값이 변하는 성질을 가지고 있는 속성
▪ 파생속성은 그 속성이 가지고 있는 계산방법에 대해 반드시 어떤 엔터티에 어떤 속성에 의해 영향을 받는지 정의가 되어야 한다.
▪ 파생속성은 꼭 필요한 경우에만 정의하여 업무로직이 속성내부로 스며들지 못하도록 주의해야 한다.
▪ 파생속성을 정의한 경우라면 그 값의 정합성을 유지할 수 있도록 해야 한다.
▪ 주로 통계관련 엔터티, 배치작업 수행 관련에 사용된다.
구성방식에 따른 분류
▪ PK(Prime Key)속성 == 엔터티를 식별할 수 있는 고유한 속성
▪ FK(Foreign Key)속성 == 다른 엔터티와의 관계로, 연결,포함된 속성
▪ 일반 속성 == 엔터티에 포함되어 있고, PK, FK에 포함되지 않은 속성
+추가로 의미를 쪼갤 수 있는지에 따라 단순형, 복합형으로 분류할 수 있다.
▪ 한 속성에 한 개의 값 ➡ 단일값(Single Value)
▪ 한 속성에 여러 개의 값 ➡ 다중값(Multi Value)
▪ 여러 세부적인 속성들로 구성된 값 ➡ 복합 속성
- 예) 주소 -시,구,동,번지