▶오늘의 주제 : 엔터티(Entity)
▶ 엔터티(Entity)란?
- 데이터 베이스의 개념 중에서도 데이터 모델에 대해 공부를 시작할 때 제일 먼저 나오는 개념이 '엔터티(Entity)' 이다. 엔터티는 쉽게 말해 실체, 객체라고 생각할 수 있다.
- 엔터티는 사람, 장소, 물건, 사건, 개념 등과 같은 명사에 해당된다.
- 엔터티는 업무상 관리가 필요한 것에 해당된다.
- 엔터티는 저장 되기 위한 어떤 것(Thing)에 해당된다.
예를 들어 학교라는 곳에선 과목이라는 엔터티가 존재할 수 있다.
그리고 엔터티는 인스턴스의 집합으로 나타나게 됩니다. 즉 과목이라는 엔터티가 있다면, 수학, 영어, 국어와 같은 인스턴스가 과목이라는 엔터티에 포함되는 것이다.
이때 엔터티는 자신이 가지고 있는 인스턴스를 설명할 수 있는, 나타낼 수 있는 속성(Attribute)를 가지게 된다. 앞에서 이야기한 수학, 영어, 국어와 같은 인스턴스가 존재한다면 이들은 과목이라는 엔터티에서 이름이라는 속성을 가지고 있는 것이죠. 속성에 대해서는 엔터티를 알아본 후에 보다 자세히 알아보자.
▶ 엔터티의 특징
- 반드시 엔터티가 사용되는 곳의 업무에서 필요하며 관리하고자 하는 정보
- 엔터티가 포함하는 인스턴스에 대해 유일한 식별자로 식별이 가능해야 함
- 엔터티는 지속적으로 존재하는 두개 이상의 인스턴스들의 조합이어야 함
- 엔터티는 반드시 속성을 지녀야 함
- 엔터티는 업무 프로세스에 의해서 이용되어야 함
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함
▶ 엔터티의 분류
- 실체유형(유무형)에 따른 분류
- 유형 엔터티(Tangible Entity)
물리적인 형태가 존재하는 엔터티이며 안정적이고 지속적으로 활용되는 엔터티이다.
- 개념 엔터티(Conceptual Entity)
물리적인 형태는 존재하지 않고 관리해야 할 개념적인 정보로 구분이 되는 엔터티이다.
- 사건 엔터티(Event Entity)
업무를 수행함에 따라 발생되는 엔터티이다.
- 발생시점에 따른 분류.
- 기본/키 엔터티(Fundamental/Key Entity)
해당 업무에 원래 존재하는 정보로 다른 엔터티와의 관계에 의해 발생 또는 생성되지 않고 독립적으로 존재하는 엔터티이다. 이는 독립적으로 생성이 가능하며 다른 엔터티의 부모역할을 한다.
- 중심 엔터티(Main Entity)
기본 엔터티로 부터 발생되며 업무에 있어서 중심적인 역할을 한다. 일반적으로 데이터 양이 많으며 다른 엔터티와의 관계를 통해 행위 엔터티를 생성한다.
- 행위 엔터티(Active Entity)
두 개이상의 부모엔터티로 부터 주로 발생되고, 자주 엔터티의 내용이 바뀌거나 데이터양이 증감한다. 분석초기 단계보다는 상세 설계단계나 프로세스와 상관모델링을 진행하면서 도출될 수 있다.
'Spring' 카테고리의 다른 글
Spring - dto와 entity를 구분해서 구현한 이유 (0) | 2022.12.07 |
---|---|
Spring - Entity와 Repository차이 (1) | 2022.12.07 |
Spring - ORM, JPA, Spring Data JPA 차이점 (0) | 2022.12.07 |
Spring - 영속성 컨텍스트란? (0) | 2022.12.07 |
Spring - 절차지향 프로그래밍, 객체지향 프로그래밍, 관점지향 프로그래밍은 각각 어떻게 다른가요? (0) | 2022.12.07 |