공부 기록장
1. 엔터티 본문
1. 엔터티의 개념
엔터티란,
변별할 수 있는 사물
데이터베이스 내에서 변별 가능한 객체
정보를 저장할 수 있는 어떤 것
정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등
위 정의들의 공통점
- 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당
- 엔터티는 업무상 관리가 필요한 관심사에 해당
- 엔터티는 저장이 되기 위한 어떤
엔터티란, "업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것"으로 설명 가능
그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는다.
(학생이라는 '엔터티'는 학번, 이름, 이수학점, 등록일자 .. 라는 속성으로 특징 지어질 수 있다.)
엔터티 인스턴스 전체가 공유할 수 있는 공통 속성
엔터티 인스턴스 중 일부에만 해당하는 개별 속성
엔터티를 이해할 때 눈에 보이는(Tangible)한 것만 엔터티로 생각하면 안되고, 눈에 보이지 않는 개념 등에 대해서도 엔터티로서 인식을 할 수 있어야 한다. 실제 업무상에서는 눈에 보이지 않는 것(Thing)이 엔터티로 도출되는 경우가 많다.
2. 엔터티와 인스턴스에 대한 내용과 표기법
엔터티는 여러 표기법에서 대부분 사각형으로 표현
3. 엔터티의 특징
엔터티는 다음의 특징을 갖고, 만족하지 않는다면 적절하지 않은 엔터티일 확률이 높다
- 반드시 해당 업무에 필요하고 관리하고자 하는 정보
- 유일한 식별자에 의해 식별 가능
- '1개'가 아니라 '2개 이상'의 영속적으로 존재하는 인스턴스의 집합
- 업무 프로세스에 의해 이용되어야 함
- 반드시 속성이 있어야 함
- 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
업무에서 필요로 하는 정보
시스템 구축 대상인 해당 업무에서 그 엔터티를 필요로 하는가를 판단
식별이 가능해야 함
식별자(Unique Identifier)에 의해 식별이 가능해야 한다.
이름은 동명이인이 있을 수 있으므로, 사원 번호와 같은 고유한 번호가 유일한 식별자가 될 수 있다.
인스턴의 집합
'1개'가 아니라 '2개 이상'
업무 프로세스에 의해 이용
속성을 포함
주 식별자만 존재하고 일반 속성을 전혀 없는 경우도 적절한 엔터티라고 할 수 없다.
예외적으로, 관계엔터티(Associative Entity)의 경우는 주 식별자 속성만 가지고 있어도 엔터티로 인정한다.
관계의 존재
다른 엔터티와 최소 한 개 이상의 관계가 존재해야 한다.
단, 관계를 생략하여 표현해야 하는 경우
- 통계성 엔터티 도출
: Read Only인 통계 업무를 위해 별도로 엔터티를 다시 정의하기 때문에
- 코드를 위한 엔터티 도출
: 데이터 모델의 읽기 효율성 저하를 피하기 위해
- 시스템 처리시 내부 필요에 의한 엔터티 도출
: 예를 들어, 트랜잭션 로그 테이블 등의 경우에는 업무적 필요가 아닌 시스템 내부적 필요에 의해 생성된 엔터티
4. 엔터티의 분류
유무형에 따른 분류
- 유형 엔터티(Tangible Entity)
: 물리적인 형태가 있고 안정적이며 지속적으로 활용, 업무로부터 엔터티 구분하기가 가장 용이 (사원, 물품)
- 개념 엔터티(Conceptual Entity)
: 물리적 형태는 존재하지 않고 관리해야 할 개념적 정보로 구분이 되는 엔터티 (조직, 보험상품)
- 사건 엔터티(Event Entity)
: 업무를 수행함에 따라 발생되는 엔터티 (주문, 청구, 미납)
발생 시점에 따른 분류
- 기본 엔터티(Fundamental Entity, Key Entity)
: 원래 존재하던 정보로서 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성 가능
: 엔터티로부터 주식별자를 상속받지 않고 자신의 고유한 주식별자를 갖음
- 중심 엔터티(Main Entity)
: 기본 엔터티로부터 발생되고, 업무에 있어서 중심적인 역할
: 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성
- 행위 엔터티(Active Entity)
: 두 개 이상의 부모 엔터티로부터 발생
: 분석 초기 단계에는 잘 나타나지 않음
엔터티 분류 방법의 예
스스로 생성될 수 있는지 여부에 따라 독립엔터티, 의존엔터티를 구분
5. 엔터티의 명명
가능하면 현업 업무에서 사용하는 용어를 사용
가능하면 약어를 사용 X
단수 명사 사용
모든 엔터티에서 유일하게 이름 부여
엔터티 생성 의미대로 이름 부여 (제일 잘 지켜지지 않는 규칙)