상품 추천 정보를 저장하는 테이블은 사용자에게 개인화된 상품을 제안하거나, 비슷한 상품을 추천하는 등의 기능을 수행하는 데 사용됩니다. 이 테이블은 추천 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
직원 테이블 생성: 회사 직원 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
---|---|
마켓플레이스 데이터 테이블 생성: 마켓플레이스 데이터를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
고객 로그인 테이블 생성: 고객 로그인 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
배송 추적 테이블 생성: 배송 추적 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
세금 테이블 생성: 세금 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |