반응형
댓글 시스템에 좋아요 기능을 추가하려면 데이터베이스 설계가 필수적입니다. 이 포스팅에서는 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을 사용하여 댓글과 좋아요 정보를 저장하고 관리하는 방법을 이해함으로써, 댓글 시스템에 효과적으로 좋아요 기능을 구현할 수 있습니다. 다음 번 프로젝트에서 이 가이드를 참고하여 쉽게 좋아요 기능을 추가해보세요!
반응형
'MySQL' 카테고리의 다른 글
댓글에 답글 기능을 추가하는 방법: 데이터베이스 설계 (0) | 2024.07.05 |
---|---|
게시판 페이지 이전 글 및 다음 글 조회 최적화 쿼리 (0) | 2024.07.04 |