1. 엔터티 개념
가) 엔터티 개념
- 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당함.
- 엔터티는 업무상 관리가 필요한 관심사에 해당함.
- 엔터티는 저장이 되기 위한 어떤 것(Thing)
나) 엔터티 설명
- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)
- 엔터티는 그 집합에 속하는 개체들의 특징을 설명할 수 있는 속성(Attribute)을 가짐
- 엔터티는 인스턴스의 집합이라고 볼 수 있으며, 인스턴스는 값의 종류로 볼 수 있음(과목 속성에는 국어, 영어, 수학같은 인스턴스가 있음)
- 물리 데이터 모델에서 엔터티는 테이블로 정의되며, 인스턴스는 테이블의 로우(Rows)로 저장됨
2. 엔터티와 인스턴스에 대한 내용과 표기법
3. 엔터티 특징
- 엔터티는 아래와 같은 특징을 가지며, 조건을 만족하지 못 할 경우 적절하지 못한 엔터티일 확률이 높음
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보(예. 환자, 토익의 응시횟수, ...)
- 유일한 식별자에 의해 식별이 가능해야 함.
- 영속적으로 존재하는 인스턴스의 집합('한 개'가 아니라 '두 개 이상')
- 엔터티는 업무 프로세스에 의해 이용되야 함.
- 엔터티는 반드시 속성이 있어야 함.
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함.
가) 업무에서 필요로 하는 정보
- 엔터티는 반드시 시스템을 구축하고자 하는 업무에서 필요로 하고 관리하고자 하는 정보여야 함.
나) 식별이 가능해야 함
- 엔터티는 식별자에 의해 식별이 가능해야 함.
- 엔터티 도출 시 업무적으로 의미를 가지는 인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증 필요.
- 두 개 이상의 엔터티를 대변하면 그 식별자는 잘 못 설계된 것.
다) 인스턴스의 집합
- 엔터티는 영속적으로 존재하는 인스턴스의 집합이 되어야 함.
라) 업무프로세스에 의해 이용
- 업무 프로세스에서 그 엔터티를 반드시 이용해야 함.
- 업무 프로세스에 의해 'C/R/U/D'가 발생하지 않는 엔터티는, 제거하거나 누락된 엔터티가 존재하는지 검증 필요
마) 속성을 포함
- 속성을 포함하지 않고 엔터티의 이름만 가지고 있는 경우, 관계가 생략되어 있거나 업무 분석이 미진하여 속성정보가 누락되는 경우
- 예외적으로 관계엔터티(Associative Entity)의 경우, 주식별자 속성만 가지고 있어도 엔터티로 인정
바) 관계의 존재
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 존재해야 함.
- 단 아래의 경우는 예외
- 통계를 위한 엔터티의 경우, 업무진행 엔터티로부터 통계업무만(Read Only)을 위해 별도로 엔터티를 다시 정의하게 되므로 엔터티간의 관계가 생략되는 경우
- 코드를 위한 엔터티의 경우 너무 많은 엔터티와 엔터티간의 관계 설정으로 인해 데이터 모델의 읽기효율성(Readability)이 저하되어 관계를 생략하는 경우
- 시스템 처리시 내부 필요에 의한 엔터티(예를 들어, 트랜잭션 로그 테이블 등)의 경우, 시스템 내부에 필요한 정보이므로 생략하는 경우
4. 엔터티 분류
가) 유무(有無)형에 따른 분류
유형 엔터티(Tangible Entity) | 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티(사원, 물품, 강사 등) |
개념 엔터티(Conceptual Entity) | 물리적인 형태는 존재하지 않고 관리해야 할 개념적 정보(조직, 보험상품 등) |
사건 엔터티(Event Entity) | 업무를 수행함에 따라 발생되는 엔터티(주문, 청구, 미납 등) |
나) 발생시점(發生時點)에 따른 분류
기본엔터티 |
|
중심엔터티 |
|
행위엔터티 |
|
다) 엔터티 분류 방법의 예
5. 엔터티 명명
1 | 현업업무에서 사용하는 용어를 사용 |
2 | 약어를 사용하지 않음 |
3 | 단수명사를 사용함 |
4 | 모든 엔터티에 유일하게 이름이 부여되어야 함 |
5 | 엔터티 생성의미대로 이름을 부여함 |
문서에 대하여
- 최초작성자 : 강정식
- 최초작성일 : 2013년 09월 14일
- 이 문서는 오라클클럽 오라클 성능 트러블슈팅 스터디 모임에서 작성하였습니다.
- 이 문서의 내용은 한국 데이터베이스 진흥원에서 출간한 'SQL 전문가 가이드'를 참고하였습니다.
문서정보
- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=27427057&
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > SQLD' 카테고리의 다른 글
[SQLD] 과목1_1장_5.식별자 (0) | 2018.11.28 |
---|---|
[SQLD] 과목1_1장_4.관계 (0) | 2018.11.28 |
[SQLD] 과목1_1장_3.속성 (0) | 2018.11.28 |
[SQLD] 과목1_1장_1.데이터 모델의 이해 (0) | 2018.08.10 |