엔터티
사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미.
쉽게 생각해서 세상에 존재하는 어떤 것으로 알아두자.

적절한 엔터티의 특징
- 유일한 식별자가 있어야 한다.
- 영속적으로 존재하는 두 개 이상의 인스턴스의 집합이어야 한다.
- 업무 프로세스에 의해 이용되어야 한다.
- 반드시 속성을 포함해야 한다.
유무형에 따른 분류
- 유형 엔터티(Tangible Entity) : 물리적 형태가 있고 안정적이고 지속적으로 사용되는 엔터티 예시) 회원, 강사, 직원 등
- 개념 엔터티(Conceptual Entity): 물리적 형태가 없이 개념적으로 사용되는 엔터티 예시) 거래소 종목, 보험 상품 등
- 사건 엔터티(Event Entity): 비즈니스 프로세스를 실행하면서 생성되는 엔터티 예시) 주문, 체결 등
발생 시점에 따른 엔터티 종류
- 기본(키) 엔터티(Fundametal/key Entity): 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티 예시) 고객, 상품, 부서 등
- 중심 엔터티(Main Entity): 기본 엔터티로부터 발생되고 행위엔터티를 생성. 예시) 계좌, 주문, 체결 등
- 행위 엔터티(Active Entity): 2개 이상의 엔터티로부터 발생된다. 예시) 주문 이력, 체결 이력 등
약한 엔터티 강한 엔터티
A엔터티와 B엔터티가 있다고 가정해보자. A가 혼자서는 존재할 수 없고 B엔터티 존재 여부에 따라 종속적이라면 A는 약한 엔터티, B는 강한 엔터티이다.
예시) 건물 엔터티 - 호실 엔터티가 있다고 할 때 호실 엔터티는 건물 엔터티없이 존재할 수 없으므로 호실 엔터티는 약한 엔터티, 건물 엔터티는 강한 엔터티이다.
릴레이션
데이터베이스에서 정보를 구분하여 저장하는 기본 단위.
엔터티를 관한 데이터를 데이터베이스는 릴레이션에 하나에 담아서 관리한다.
엔터티가 데이터베이스에서 관리될 때 릴레이션(테이블)으로 변화한다고 생각하면 된다.

릴레이션은 RDB에서는 테이블이라고 하며, NoSQL에서는 컬렉션이라고 한다.
테이블과 컬렉션
mySQL, Oracle과 같은 RDB는 레코드 - 테이블 - 데이터베이스의 구조를 갖는다.

MongoDB와 같은 NoSQL은 도큐먼트 - 컬렉션 - 데이터베이스의 구조를 갖는다.



참고
https://coding-factory.tistory.com/870
https://doorbw.tistory.com/227
'Computer Science > DB' 카테고리의 다른 글
| [데이터베이스] 조인(JOIN) (0) | 2023.05.31 |
|---|---|
| [데이터베이스] 트랜잭션 (0) | 2023.05.24 |
| Crow's foot notation이란? (0) | 2021.07.01 |