DataBase 생성
이전 글에서 아래 명령어를 이용하여 mysql 데이터베이스에 권한을 부여해줬었다.
grant all privileges on mysql.* to 'boardadm'@'%';
하지만 board라는 데이터 베이스를 생성할 것이며 거기에 맞는 권한을 부여해줘야 한다.
아래 명령어를 이용하여 database 생성 후 권한 부여
CREATE DATABASE board;
GRANT ALL PRIVILEGES ON board.* TO 'boardadm'@'%';
테이블 생성
User 테이블
CREATE TABLE User (
user_id INT PRIMARY KEY AUTO_INCREMENT,
user_pw VARCHAR(255) NOT NULL,
user_name VARCHAR(100) NOT NULL,
user_email VARCHAR(100) NOT NULL UNIQUE,
user_regDate DATETIME DEFAULT CURRENT_TIMESTAMP
);
Roll 테이블
CREATE TABLE Roll (
roll_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL
);
User_Roll 테이블
CREATE TABLE User_Roll (
user_id INT,
roll_id INT,
PRIMARY KEY (user_id, roll_id),
FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE CASCADE,
FOREIGN KEY (roll_id) REFERENCES Roll(roll_id) ON DELETE CASCADE
);
Category 테이블
CREATE TABLE Category (
category_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL
);
Post 테이블
CREATE TABLE Post (
post_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
category_id INT,
view_count INT DEFAULT 0,
created_date DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_date DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE CASCADE,
FOREIGN KEY (category_id) REFERENCES Category(category_id) ON DELETE SET NULL
);
Post_Category 테이블
CREATE TABLE Post_Category (
post_id INT,
category_id INT,
PRIMARY KEY (post_id, category_id),
FOREIGN KEY (post_id) REFERENCES Post(post_id) ON DELETE CASCADE,
FOREIGN KEY (category_id) REFERENCES Category(category_id) ON DELETE CASCADE
);
Comment 테이블
CREATE TABLE Comment (
comment_id INT PRIMARY KEY AUTO_INCREMENT,
post_id INT,
user_id INT,
content TEXT NOT NULL,
created_date DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_date DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (post_id) REFERENCES Post(post_id) ON DELETE CASCADE,
FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE CASCADE
);
'게시판 만들기' 카테고리의 다른 글
10/10 이클립스에서 간단하게 DB연결하기 (2) | 2024.10.10 |
---|---|
10/5 MariaDB 설치, 계정 생성, HeidiSQL에 연결 (2) | 2024.10.05 |
10/5 전체적인 틀 정하기 (2) | 2024.10.05 |