본문 바로가기

SQL

블로그 포스트 테이블 생성: 블로그 포스트 정보를 저장하기 위한 테이블을 생성합니다.

반응형

블로그 포스트 정보를 저장하는 테이블은 블로그 콘텐츠를 관리하고 사용자와의 상호작용을 기록하는 데 중요합니다. 이 테이블은 포스트 ID, 작성자 ID, 제목, 내용, 게시 날짜, 수정 날짜, 태그, 댓글 수, 좋아요 수 등의 정보를 포함할 수 있습니다. 다음은 블로그 포스트 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 블로그 포스트 테이블 생성
CREATE TABLE blog_posts (
    post_id INT AUTO_INCREMENT PRIMARY KEY,
    author_id INT,
    title VARCHAR(200),
    content TEXT,
    post_date TIMESTAMP,
    last_modified TIMESTAMP,
    tag_list TEXT,
    comment_count INT,
    like_count INT,
    FOREIGN KEY (author_id) REFERENCES users(user_id)
);
설명: 포스트 ID, 작성자 ID, 제목, 내용, 게시 날짜, 마지막 수정 날짜, 태그 리스트, 댓글 수, 좋아요 수 등을 저장합니다.

 

2. 사용자 정보 테이블 생성
CREATE TABLE users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    email VARCHAR(100),
    registration_date TIMESTAMP
);
설명: 사용자 ID, 사용자명, 이메일, 등록 날짜 등 사용자의 기본 정보를 저장합니다.

 

3. 블로그 태그 테이블 생성
CREATE TABLE blog_tags (
    tag_id INT AUTO_INCREMENT PRIMARY KEY,
    tag_name VARCHAR(50)
);
설명: 각 태그의 ID와 태그명을 저장합니다.

 

4. 포스트-태그 관계 테이블 생성
CREATE TABLE post_tags (
    post_id INT,
    tag_id INT,
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id),
    FOREIGN KEY (tag_id) REFERENCES blog_tags(tag_id)
);
설명: 각 포스트와 연관된 태그의 관계를 저장합니다.

 

5. 블로그 댓글 테이블 생성
CREATE TABLE blog_comments (
    comment_id INT AUTO_INCREMENT PRIMARY KEY,
    post_id INT,
    author_id INT,
    comment TEXT,
    comment_date TIMESTAMP,
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id),
    FOREIGN KEY (author_id) REFERENCES users(user_id)
);
설명: 댓글 ID, 포스트 ID, 작성자 ID, 댓글 내용, 댓글 날짜 등을 저장합니다.

 

6. 블로그 포스트 좋아요 테이블 생성
CREATE TABLE post_likes (
    like_id INT AUTO_INCREMENT PRIMARY KEY,
    post_id INT,
    user_id INT,
    like_date TIMESTAMP,
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 좋아요 ID, 포스트 ID, 사용자 ID, 좋아요 날짜 등을 저장합니다.

 

7. 블로그 포스트 조회수 테이블 생성
CREATE TABLE post_views (
    view_id INT AUTO_INCREMENT PRIMARY KEY,
    post_id INT,
    view_date TIMESTAMP,
    viewer_id INT,
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id),
    FOREIGN KEY (viewer_id) REFERENCES users(user_id)
);
설명: 조회수 ID, 포스트 ID, 조회 날짜, 조회자 ID 등을 저장합니다.

 

8. 블로그 포스트 공유 테이블 생성
CREATE TABLE post_shares (
    share_id INT AUTO_INCREMENT PRIMARY KEY,
    post_id INT,
    user_id INT,
    share_date TIMESTAMP,
    share_platform VARCHAR(100),
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 공유 ID, 포스트 ID, 공유한 사용자 ID, 공유 날짜, 공유된 플랫폼 등을 저장합니다.

 

9. 블로그 포스트 수정 기록 테이블 생성
CREATE TABLE post_edits (
    edit_id INT AUTO_INCREMENT PRIMARY KEY,
    post_id INT,
    editor_id INT,
    edit_date TIMESTAMP,
    edit_description TEXT,
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id),
    FOREIGN KEY (editor_id) REFERENCES users(user_id)
);
설명: 수정 기록 ID, 포스트 ID, 수정한 사용자 ID, 수정 날짜, 수정 내용 등을 저장합니다.

 

10.블로그 포스트 카테고리 테이블 생성
CREATE TABLE post_categories (
    category_id INT AUTO_INCREMENT PRIMARY KEY,
    post_id INT,
    category_name VARCHAR(100),
    FOREIGN KEY (post_id) REFERENCES blog_posts(post_id)
);
설명: 카테고리 ID, 포스트 ID, 카테고리명 등을 저장합니다.

관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, TEXT, BOOLEAN: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형