본문 바로가기

SQL

리뷰 테이블 생성: 상품 리뷰 정보를 저장하기 위한 테이블을 생성합니다.

반응형

상품 리뷰 정보를 저장하는 테이블은 고객의 피드백과 상품 평가를 관리하는 데 중요합니다. 이 테이블은 보통 리뷰 ID, 상품 ID, 사용자 ID, 평점, 리뷰 내용, 리뷰 날짜 등의 정보를 포함합니다. 다음은 상품 리뷰 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 리뷰 테이블 생성
CREATE TABLE reviews (
    review_id INT AUTO_INCREMENT PRIMARY KEY,
    product_id INT,
    user_id INT,
    rating DECIMAL(2, 1),
    title VARCHAR(100),
    content TEXT,
    review_date DATE,
    FOREIGN KEY (product_id) REFERENCES products(product_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 상품에 대한 사용자 리뷰를 저장합니다. 각 리뷰는 상품 ID, 사용자 ID, 평점, 제목, 내용, 리뷰 날짜를 포함합니다.

 

2. 리뷰 이미지 테이블 생성
CREATE TABLE review_images (
    image_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    image_url TEXT,
    FOREIGN KEY (review_id) REFERENCES reviews(review_id)
);
설명: 리뷰와 관련된 이미지 URL을 저장합니다.

 

3. 리뷰 좋아요 테이블 생성
CREATE TABLE review_likes (
    like_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    user_id INT,
    like_date DATE,
    FOREIGN KEY (review_id) REFERENCES reviews(review_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 어떤 사용자가 어떤 리뷰에 좋아요를 눌렀는지 기록합니다.

 

4. 리뷰 응답 테이블 생성
CREATE TABLE review_responses (
    response_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    user_id INT,
    content TEXT,
    response_date DATE,
    FOREIGN KEY (review_id) REFERENCES reviews(review_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 리뷰에 대한 다른 사용자 또는 관리자의 응답을 저장합니다.

 

5. 리뷰 사용자 정보 테이블 생성
CREATE TABLE review_user_info (
    info_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    total_reviews INT,
    average_rating DECIMAL(2, 1),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 사용자별 리뷰 수와 평균 평점을 저장합니다.

 

6. 리뷰 통계 테이블 생성
CREATE TABLE review_statistics (
    statistic_id INT AUTO_INCREMENT PRIMARY KEY,
    product_id INT,
    total_reviews INT,
    average_rating DECIMAL(2, 1),
    FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 상품별 리뷰 수와 평균 평점을 저장합니다.

 

7. 리뷰 필터링 정보 테이블 생성
CREATE TABLE review_filters (
    filter_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    filter_type VARCHAR(50),
    filter_value VARCHAR(100),
    FOREIGN KEY (review_id) REFERENCES reviews(review_id)
);
설명: 리뷰를 분류하는 데 사용되는 필터(예: "색상", "사이즈") 정보를 저장합니다.

8. 리뷰 보고서 테이블 생성
CREATE TABLE review_reports (
    report_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    reported_by INT,
    report_reason TEXT,
    report_date DATE,
    FOREIGN KEY (review_id) REFERENCES reviews(review_id),
    FOREIGN KEY (reported_by) REFERENCES users(user_id)
);
설명: 부적절한 리뷰로 신고된 경우, 신고자와 신고 이유를 저장합니다.

 

9. 리뷰 추천 시스템 정보 테이블 생성
CREATE TABLE review_recommendations (
    recommendation_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    recommended_by INT,
    recommendation_date DATE,
    FOREIGN KEY (review_id) REFERENCES reviews(review_id),
    FOREIGN KEY (recommended_by) REFERENCES users(user_id)
);
설명: 리뷰가 다른 사용자에 의해 추천된 경우, 추천한 사용자와 추천 날짜를 기록합니다.

 

10. 리뷰 상태 추적 테이블 생성
CREATE TABLE review_status_tracking (
    tracking_id INT AUTO_INCREMENT PRIMARY KEY,
    review_id INT,
    status VARCHAR(50),
    status_change_date DATE,
    FOREIGN KEY (review_id) REFERENCES reviews(review_id)
);
설명: 리뷰의 상태(예: "승인됨", "보류 중", "삭제됨") 변경 이력을 추적합니다.

 

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

반응형