본문 바로가기

SQL

고객 리워드 테이블 생성: 고객 리워드 정보를 저장하기 위한 테이블을 생성합니다.

반응형


고객 리워드 정보를 저장하는 테이블은 고객 충성도 프로그램, 포인트, 할인, 쿠폰 등을 관리하여 고객 만족도와 재방문율을 높이는 데 중요합니다. 이 테이블은 리워드 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: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형