좋아요, 싫어요 기능에 대한 DB 스키마 구조에 대해서 문의드립니다. 0 1 5,548

by 사이다 [MySQL] mysql 좋아요기능 [2018.12.18 16:37:46]


현재 토이프로젝트 작업을 진행하고 있습니다.

아는 사람 2명이서 같이 작업을 하고 있는데

그 중에서 테이블의 스키마에 대해서 논의를 하였었습니다.

 

구상하는 사이트를 간단하게 말씀드리면 회원, 게시판이 있는 사이트인데

 

게시판의 각각의 게시글에서는 좋아요와 싫어요 기능이 있어

게시글마다 좋아요, 싫어요 갯수를 카운트하여 보여줍니다.

마치 페이스북 좋아요 기능과 동일합니다.

다른 것은 좋아요와 싫어요가 따로 구분되어있습니다.

 

위 기능을 설계할때

좋아요 테이블과 싫어요 테이블을 따로 만들고 따로 데이터를 받고

회원, 게시판에 대한 테이블을 따로 작업한다고 이야기를 들었는데

 

제가 생각하기로는

회원이나 게시판 테이블에 필드를 좋아요, 싫어요를 추가하여

카운팅하는 것을 생각하였으나

각각의 게시글에 대한 PK값도 기억해야하므로 저장하기 어렵다고 생각하였습니다.

 

따로 좋아요테이블을 만들게 되면

좋아요pk값(싫어요). 회원 pk값, 게시판 pk값 이렇게 저장하게 되는데

게시글의 리스트에서도 보여주어야 하기때문에

따로 테이블 하는 것이 속도가 빠르다고 들었는데

 

이렇게 좋아요 같이

회원, 게시글과 엮여져있는 기능에 대해서는 

어떻게 스키마를 짜는 것이 좋은 지 궁금합니다.

by 하지말걸그랬어 [2018.12.19 13:24:42]

게시판 테이블에 필드가 추가된다면 좋아요가 눌릴 때마다 그 값이 +1만큼 업데이트 될 것 같은데

 

이럼 다시 좋아요나 좋아요 취소를 막기가 어려울 것 같고, 이를 막기 위해선 결국 좋아요를 눌렀던 이력을 만들어야 할 것 같은데. 이게 곧 좋아요 테이블이 아닐까 싶네요

 

좋아요 테이블이 생기면 굳이 게시판 필드에 좋아요는 필요없을거같아요

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입