1. 엔터티
> 엔터티 정의
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것
- 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당
- 엔터티는 업무상 관리가 필요한 관심사에 해당
- 엔터티는 저장되기 위한 어떤 것.
> 엔터티 특징
- 식별자 : 유일한 식별자에 의해 식별이 가능해야 한다.
- 인스턴스의 집합 : 반드시 두 개 이상의 인스턴스가 있어야한다.
- 속성 : 엔터티는 반드시 속성이 있어야 한다.
- 관계 : 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야한다.
- 업무 : 엔터티는 업무 프로세스에 의해 이용되어야 한다.
> 엔터티 분류
> 유무형에 따른 분류
- 유형 엔터티 : 사원 물품 강사
- 사건 엔터티 : 주문 청구 미납
- 개념 엔터티 : 조직 보험상품
> 발생시점에 따른 분류
- 기본 엔터티 : 사원 부서
- 중심 엔터티 : 접수 계약
- 행위 엔터티 : 주문내역, 사원변경이력
2. 속성
> 속성의 정의
- 사전적 의미로는 사물의 성질, 특징 또는 본질적인 성질
- 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
- 업무에서 필요로 한다.
- 엔터티를 설명하고 인스턴스의 구성요소가 된다.
> 속성의 관계
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다
- 한 개의 속성은 한 개의 속성값을 갖는다.
> 속성의 특징
- 엔터티와 마찬가지로 반드시 해당 업무에서 필하고 관리하고자 하는 업무
- 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 함
- 하나의 속성에는 한 개의 값만을 가진다.
> 속성의 분류
> 특성에 따른 분류
- 기본 속성 : 업무분석을 통해 바로 정의한 속성 ex 제품 이름, 제조년월
- 설계 속성 : 원래 업무상 존재하지 않지만 설계를 하면서 도출해내는 속성 ex 001-식품용기
- 파생 속성 : 다른 속성으로부터 계산이다 변형이 되어 생성되는 속성 ex 전체 용기 수
> 엔터티 구성방식에 따른 분류
- PK 속성 : 엔터티를 식별할 수 있는 속성
- FK 속성 : 다른 엔터티와의 관계에서 포함된 속성
- 일반속성 : PK, FK에 포함되지 않는 속성
3. 관계
> 관계의 정의
- 상호 연관성이 있는 상태
- 엔터티의 인스턴스 사이의 논리적인 연관성으로 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
> 관계의 분류
- 존재에 의한 관계 : 사원은 부서에 항상 속해있다.
- 행위에 의한 관계 : 주문은 고객이 주문을 할 때 발생한다.
> 관계명
- 참여자의 관점에 따라 능동적이거나 수동적으로 명명된다.
- 애매한 동사를 피한다
- 현재형으로 표현한다
> 관계차수
- 두 개의 엔터티간 관계에서 참여자 수를 표현하는 것
- 1:M 1:1 M:N
> 관계 선택사양
- 필수참여 : 참여하는 엔터티가 항상 참여
- 선택 참여 : 참여하는 엔터티가 선택적으로 참여
4. 식별자
> 식별자의 개념
- 엔터티는 인스턴스들의 집합. 여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름, 구분자
> 식별자의 특징
- 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들이 유일하게 구분되어야 한다.
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
- 불변성 : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.
- 존재성 : 주식별자가 지정이 되면 반드시 값이 들어와야한다.
> 주식별자 도출 기준
- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정
- 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.
- 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 한다.
> 외부식별자
- 자기 자신의 엔터티에서 필요한 속성이 아니라 다른 엔터티와의 관계를 통해 자식 엔터티에 생성되는 속성
> 식별자 관계
- 자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우
- 부모로부터 받은 식별자를 자식엔터티의 주식별자로 이용하는 경우는 null 값이 오면 안되므로 반드시 부모 엔터티 가 생성되어야 자기 자신의 엔터티가 생성되는 경우
> 비식별자 관계
- 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우
> 식별자 관계로만 설정할 경우의 문제점
- 식별자 관계를 연결한 데이터 모델의 PK 속성의 수는 데이터 모델의 흐름이 길어질수록 증가함
- 실제로 개발할 때 생성된 엔터티 스키마 정보만을 보고 개발하는 경우가 많음
출처 : 한국데이터산업진흥원 게시자료