본문 바로가기

SQL

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

반응형

상품 추천 정보를 저장하는 테이블은 사용자에게 개인화된 상품을 제안하거나, 비슷한 상품을 추천하는 등의 기능을 수행하는 데 사용됩니다. 이 테이블은 추천 ID, 상품 ID, 추천 알고리즘, 추천된 상품 ID, 추천 점수, 생성 날짜 등의 정보를 포함할 수 있습니다. 다음은 상품 추천 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 상품 추천 테이블 생성
CREATE TABLE product_recommendations (
    recommendation_id INT AUTO_INCREMENT PRIMARY KEY,
    product_id INT,
    recommended_product_id INT,
    algorithm VARCHAR(100),
    recommendation_score DECIMAL(5, 2),
    created_at TIMESTAMP,
    FOREIGN KEY (product_id) REFERENCES products(product_id),
    FOREIGN KEY (recommended_product_id) REFERENCES products(product_id)
);
설명: 상품에 대한 추천 상품 ID, 사용된 알고리즘, 추천 점수, 생성 날짜 등을 저장합니다.

 

2. 사용자별 추천 테이블 생성
CREATE TABLE user_recommendations (
    user_recommendation_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    recommended_product_id INT,
    recommendation_reason TEXT,
    created_at TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(user_id),
    FOREIGN KEY (recommended_product_id) REFERENCES products(product_id)
);
설명: 사용자별로 추천된 상품과 추천 이유, 생성 날짜를 저장합니다.

 

3. 추천 기록 테이블 생성
CREATE TABLE recommendation_logs (
    log_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    user_id INT,
    view_date TIMESTAMP,
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 추천 상품을 조회한 사용자와 조회 날짜를 기록합니다.

 

4. 추천 알고리즘 테이블 생성
CREATE TABLE recommendation_algorithms (
    algorithm_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    description TEXT
);
설명: 사용된 추천 알고리즘의 이름과 설명을 저장합니다.

 

5. 추천 피드백 테이블 생성
CREATE TABLE recommendation_feedbacks (
    feedback_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    user_id INT,
    feedback_type VARCHAR(50),
    feedback_text TEXT,
    feedback_date TIMESTAMP,
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 사용자로부터 받은 추천에 대한 피드백 유형, 내용, 날짜를 저장합니다.

 

6. 추천 통계 테이블 생성
CREATE TABLE recommendation_statistics (
    stat_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    views_count INT,
    clicks_count INT,
    conversion_count INT,
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id)
);
설명: 추천 상품에 대한 조회 수, 클릭 수, 전환 수 등의 통계를 저장합니다.

 

7. 추천 태그 테이블 생성
CREATE TABLE recommendation_tags (
    tag_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    tag_name VARCHAR(50),
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id)
);
설명: 추천 상품에 할당된 태그를 저장합니다.

 

8. 추천 카테고리 매핑 테이블 생성
CREATE TABLE recommendation_category_mappings (
    mapping_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    category_id INT,
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id),
    FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
설명: 추천 상품이 속한 카테고리를 저장합니다.

 

9. 추천 이벤트 테이블 생성
CREATE TABLE recommendation_events (
    event_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    event_type VARCHAR(50),
    event_detail TEXT,
    event_date TIMESTAMP,
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id)
);
설명: 추천 관련 이벤트(예: 프로모션 적용, 특별 기간 설정)와 상세 정보를 저장합니다.

 

10. 추천 소스 정보 테이블 생성
CREATE TABLE recommendation_sources (
    source_id INT AUTO_INCREMENT PRIMARY KEY,
    recommendation_id INT,
    source_type VARCHAR(50),
    source_detail TEXT,
    FOREIGN KEY (recommendation_id) REFERENCES product_recommendations(recommendation_id)
);
설명: 추천 상품에 대한 소스 유형(예: 사용자 행동, 구매 이력)과 상세 정보를 저장합니다.


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

반응형