고객 리워드 정보를 저장하는 테이블은 고객 충성도 프로그램, 포인트, 할인, 쿠폰 등을 관리하여 고객 만족도와 재방문율을 높이는 데 중요합니다. 이 테이블은 리워드 ID, 고객 ID, 리워드 타입, 적립 포인트, 사용 포인트, 시작일, 종료일 등의 정보를 포함할 수 있습니다. 다음은 고객 리워드 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 고객 리워드 테이블 생성
CREATE TABLE customer_rewards (
reward_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
reward_type VARCHAR(50),
points_earned INT,
points_used INT,
issue_date DATE,
expiry_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 리워드 ID, 고객 ID, 리워드 타입, 적립 포인트, 사용 포인트, 발행 일자, 만료 일자 등을 저장합니다.
2. 고객 정보 테이블 생성
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
registration_date DATE
);
설명: 고객의 이름, 이메일, 등록 날짜 등을 저장합니다.
3. 리워드 사용 기록 테이블 생성
CREATE TABLE reward_uses (
use_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
customer_id INT,
use_date DATE,
points_used INT,
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 리워드 사용 날짜, 사용한 포인트를 기록합니다.
4. 리워드 적립 기록 테이블 생성
CREATE TABLE reward_earnings (
earning_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
customer_id INT,
earning_date DATE,
points_earned INT,
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 리워드 적립 날짜, 적립된 포인트를 기록합니다.
5. 리워드 조건 테이블 생성
CREATE TABLE reward_conditions (
condition_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
condition_description TEXT,
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id)
);
설명: 리워드의 사용 조건과 설명을 저장합니다.
6. 리워드 카테고리 테이블 생성
CREATE TABLE reward_categories (
category_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
category_name VARCHAR(100),
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id)
);
설명: 리워드가 속한 카테고리를 저장합니다.
7. 리워드 특별 이벤트 테이블 생성
CREATE TABLE special_reward_events (
event_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
event_name VARCHAR(100),
event_description TEXT,
event_date DATE,
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id)
);
설명: 리워드와 관련된 특별 이벤트 이름, 설명, 날짜를 저장합니다.
8. 리워드 변동 기록 테이블 생성
CREATE TABLE reward_adjustments (
adjustment_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
adjustment_date DATE,
adjustment_reason TEXT,
points_adjusted INT,
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id)
);
설명: 포인트 조정 사유, 조정된 포인트, 조정 날짜를 기록합니다.
9. 리워드 통계 테이블 생성
CREATE TABLE reward_statistics (
statistic_id INT AUTO_INCREMENT PRIMARY KEY,
reward_id INT,
total_points_earned INT,
total_points_used INT,
FOREIGN KEY (reward_id) REFERENCES customer_rewards(reward_id)
);
설명: 총 적립 포인트, 총 사용 포인트 등의 통계를 저장합니다.
10. 고객별 리워드 설정 테이블 생성
CREATE TABLE customer_reward_settings (
setting_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
reward_preference TEXT,
notification_preference BOOLEAN,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 고객별 리워드 선호도, 알림 설정 등을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DECIMAL, DATE, BOOLEAN, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
주식 거래 테이블 생성: 주식 거래 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
---|---|
제품 레시피 테이블 생성: 제품 레시피 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
영화 상영 일정 테이블 생성: 영화 상영 일정 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
포럼 게시글 테이블 생성: 포럼 게시글 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
쿠폰 테이블 생성: 할인 쿠폰 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |