MySQL

댓글에 좋아요 기능을 추가하는 방법: 데이터베이스 설계

청춘고양이 2024. 6. 21. 15:36
반응형

댓글 시스템에 좋아요 기능을 추가하려면 데이터베이스 설계가 필수적입니다. 이 포스팅에서는 MySQL을 사용하여 댓글과 좋아요를 효과적으로 관리하는 방법을 설명하겠습니다.


데이터베이스 스키마 설계

좋아요 기능을 구현하려면 두 개의 테이블이 필요합니다: 댓글 테이블(comments)과 좋아요 테이블(likes). 각 테이블은 다음과 같은 필드를 갖습니다.

1. 댓글 테이블 (comments) : 이 테이블에는 댓글의 정보가 저장됩니다.

CREATE TABLE comments (
    comment_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    content TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
  • comment_id: 댓글의 고유 식별자 (Primary Key)
  • user_id: 댓글을 작성한 사용자 식별자 (Foreign Key)
  • content: 댓글 내용
  • created_at: 댓글 작성 시간

2. 좋아요 테이블 (likes) : 이 테이블에는 각 댓글에 대한 좋아요 정보가 저장됩니다.

CREATE TABLE likes (
    like_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    comment_id INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(user_id),
    FOREIGN KEY (comment_id) REFERENCES comments(comment_id)
);
  • like_id: 좋아요의 고유 식별자 (Primary Key)
  • user_id: 좋아요를 누른 사용자 식별자 (Foreign Key)
  • comment_id: 좋아요가 속한 댓글의 식별자 (Foreign Key)
  • created_at: 좋아요 누른 시간

데이터베이스 관계

  • comments 테이블의 user_id는 users 테이블의 user_id를 참조하는 외래 키입니다.
  • likes 테이블의 user_id는 users 테이블의 user_id를 참조하는 외래 키입니다.
  • likes 테이블의 comment_id는 comments 테이블의 comment_id를 참조하는 외래 키입니다.

이 구조를 통해 우리는 댓글과 좋아요 간의 관계를 효과적으로 관리할 수 있습니다. 데이터베이스가 외래 키 제약 조건을 통해 일관성을 유지하도록 보장합니다.


좋아요 기능 구현

좋아요를 추가하거나 제거하는 기본적인 SQL 쿼리는 다음과 같습니다.

  • 좋아요 추가
INSERT INTO likes (user_id, comment_id) VALUES (?, ?);
  • 좋아요 제거
DELETE FROM likes WHERE user_id = ? AND comment_id = ?;

이러한 쿼리를 사용하면 사용자 인터페이스에서 좋아요 버튼을 클릭할 때마다 적절하게 좋아요 정보를 업데이트할 수 있습니다.


결론

이 포스팅에서는 댓글에 좋아요 기능을 추가하기 위한 데이터베이스 설계 방법을 살펴보았습니다. MySQL을 사용하여 댓글과 좋아요 정보를 저장하고 관리하는 방법을 이해함으로써, 댓글 시스템에 효과적으로 좋아요 기능을 구현할 수 있습니다. 다음 번 프로젝트에서 이 가이드를 참고하여 쉽게 좋아요 기능을 추가해보세요!

반응형