본문 바로가기
Computer Science/DB

[데이터베이스] 엔터티(entity)와 릴레이션(relation)

by brother_stone 2023. 5. 17.

엔터티

사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미.

쉽게 생각해서 세상에 존재하는 어떤 것으로 알아두자.

예시) 회원 엔터티

적절한 엔터티의 특징

  • 유일한 식별자가 있어야 한다.
  • 영속적으로 존재하는 두 개 이상의 인스턴스의 집합이어야 한다.
  • 업무 프로세스에 의해 이용되어야 한다.
  • 반드시 속성을 포함해야 한다.

유무형에 따른 분류

  • 유형 엔터티(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