본문 바로가기
카테고리 없음

[Hearhere프로젝트] ERD 작성시 고려해야 할 점

by 순원이 2023. 7. 13.

엔티티를 만드는 기준은 무엇이지?

‘좋아요’는 엔티티로 두어야 할 것인가 속성으로 두어야 할 것인가?

공부하는 이유

때론 직감점으로 혹은 경험으로 엔티티인지 속성인지 분류할 수 있다. 예를 들어 게시물은 엔티티이고 작성시간은 속성이다. 그렇지만 좋아요 기능은 판단하기 애매하다.

  1. 엔터티 관점: 사용자 중심의 관점에서 "좋아요"는 엔터티로 간주될 수 있다. 사용자가 수행한 작업이나 이벤트를 나타내며 특정 게시물에 대한 관심이나 승인을 나타낸다. 이러한 의미에서 "좋아요"는 시스템에 존재하는 독립적인 엔터티로 볼 수 있다.

엔티티로 둔다면 속성으로 둔 것보단 데이터관리 비용이 클 것이다

  1. 속성 관점: 한편, 게시물 중심적 관점에서 "좋아요"는 게시물 자체의 속성으로 볼 수 있다. 게시물의 인기도, 참여 수준 또는 사회적 유효성에 대한 정보를 제공한다. "좋아요"의 수 또는 존재 여부는 게시물의 특성 또는 게시물이 생성한 관심 수준을 설명하는 속성으로 사용된다.

속성으로 둔다면 게시물의 정보를 제공하는 데에 집중이 된다. 그러나 좋아요는 게시물의 정보 뿐만 아니라 사용자의 니즈를 파악하기 위해 활용가능성이 많다. 그래서 좋아요는 엔티티로 두는 것이 맞다.

깨달은점

어떠한 것은 속성이다. 어떠한 것은 엔티티이다. 명확히 나눌 수 있는 것과 나눌 수 없는 것이 있다. 명확히 나눌 수 없는 것은 엔티티의 관점과 속성의 관점 둘 다 생각해보고 판단해야겠다. 다시 말하면, 속성일 수도 있을 어떠한 것이 활용가능성이 있다 판단되면 엔티티로 두어야겠다.