본문 바로가기

Web/DB

[mysql] 멀티게시판 구현 설계

728x90

 

 

-- 게시판 종류를 저장하는 테이블
CREATE TABLE board_type (
    type_id INT NOT NULL AUTO_INCREMENT,
    type_name VARCHAR(50) NOT NULL,
    PRIMARY KEY (type_id)
);

-- 게시글 정보를 저장하는 테이블
CREATE TABLE board_post (
    post_id INT NOT NULL AUTO_INCREMENT,
    board_type_id INT NOT NULL,
    title VARCHAR(100) NOT NULL,
    content TEXT,
    writer VARCHAR(50),
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (post_id),
    FOREIGN KEY (board_type_id) REFERENCES board_type(type_id)
);

-- 각 게시판에 대한 특정 설정을 저장하는 테이블 (선택사항)
CREATE TABLE board_setting (
    setting_id INT NOT NULL AUTO_INCREMENT,
    board_type_id INT NOT NULL,
    setting_key VARCHAR(50) NOT NULL,
    setting_value VARCHAR(255),
    PRIMARY KEY (setting_id),
    FOREIGN KEY (board_type_id) REFERENCES board_type(type_id)
);
728x90

'Web > DB' 카테고리의 다른 글

[web security] XSS (Cross-Site Scripting)  (0) 2023.05.22
[mysql] Recursive  (0) 2023.05.02
[mysql] with 절(가상테이블) 02  (0) 2023.05.01
[mysql] with 절(가상테이블) 01  (0) 2023.05.01
[mariaDB Mac] 설치 팁  (0) 2023.04.13