예시 프로젝트 스키마 구성
-- 사용자 테이블
CREATE TABLE `user` (
userID INT AUTO_INCREMENT PRIMARY KEY,
userName VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);table1
-- 게시판 테이블
CREATE TABLE board (
boardID INT AUTO_INCREMENT PRIMARY KEY,
boardName VARCHAR(100) NOT NULL
);
-- 게시글 테이블
CREATE TABLE post (
postID INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
userID INT NOT NULL,
boardID INT NOT NULL,
FOREIGN KEY (userID) REFERENCES User(userID) ON DELETE CASCADE,
FOREIGN KEY (boardID) REFERENCES board(boardID) ON DELETE CASCADE
);
-- 댓글 및 대댓글 테이블
CREATE TABLE `comment` (
commentID INT AUTO_INCREMENT PRIMARY KEY,
content TEXT NOT NULL,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
userID INT NOT NULL,
postID INT NOT NULL,
parentID INT DEFAULT NULL,
FOREIGN KEY (userID) REFERENCES user(userID) ON DELETE CASCADE,
FOREIGN KEY (postID) REFERENCES post(postID) ON DELETE CASCADE,
FOREIGN KEY (parentID) REFERENCES Comment(commentID) ON DELETE CASCADE
);
-- 좋아요 테이블
CREATE TABLE `like` (
likeID INT AUTO_INCREMENT PRIMARY KEY,
userID INT NOT NULL,
postID INT NOT NULL,
FOREIGN KEY (userID) REFERENCES user(userID) ON DELETE CASCADE,
FOREIGN KEY (postID) REFERENCES post(postID) ON DELETE CASCADE
);
Last updated