본문 바로가기

SQL

쿠폰 테이블 생성: 할인 쿠폰 정보를 저장하기 위한 테이블을 생성합니다.

반응형

할인 쿠폰 정보를 저장하는 테이블은 마케팅 캠페인, 고객 유치 및 유지, 판매 촉진 등을 위해 사용됩니다. 이 테이블은 쿠폰 ID, 코드, 할인율 또는 할인액, 시작일, 종료일, 사용 조건 등의 정보를 포함할 수 있습니다. 다음은 할인 쿠폰 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 쿠폰 테이블 생성
CREATE TABLE coupons (
    coupon_id INT AUTO_INCREMENT PRIMARY KEY,
    code VARCHAR(50),
    discount_type VARCHAR(50),
    discount_amount DECIMAL(10, 2),
    start_date DATE,
    end_date DATE,
    min_purchase DECIMAL(10, 2),
    max_discount DECIMAL(10, 2),
    usage_limit INT
);
설명: 쿠폰의 코드, 할인 유형(률 또는 액), 할인액, 사용 가능 기간, 최소 구매 금액, 최대 할인액, 사용 제한 횟수 등을 저장합니다.

 

2. 쿠폰 사용 기록 테이블 생성
CREATE TABLE coupon_uses (
    use_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    user_id INT,
    use_date DATE,
    order_id INT,
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id),
    FOREIGN KEY (order_id) REFERENCES orders(order_id)
);
설명: 쿠폰이 사용된 날짜, 사용자, 주문과 관련된 기록을 저장합니다.

 

3. 쿠폰 제한 조건 테이블 생성
CREATE TABLE coupon_restrictions (
    restriction_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    restriction_type VARCHAR(50),
    restriction_detail TEXT,
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id)
);
설명: 쿠폰의 사용에 대한 제한 조건(예: 특정 상품에만 사용 가능)과 상세 내용을 저장합니다.

 

4. 쿠폰 카테고리 할인 테이블 생성
CREATE TABLE category_discounts (
    discount_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    category_id INT,
    discount_rate DECIMAL(3, 2),
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id),
    FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
설명: 쿠폰이 적용되는 특정 카테고리와 할인율을 저장합니다.

 

5. 쿠폰 발행 기록 테이블 생성
CREATE TABLE coupon_issues (
    issue_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    issue_date DATE,
    issued_by INT,
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id),
    FOREIGN KEY (issued_by) REFERENCES employees(employee_id)
);
설명: 쿠폰의 발행 날짜와 발행자를 기록합니다.

 

6. 쿠폰 만료 알림 테이블 생성
CREATE TABLE coupon_expirations (
    expiration_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    notification_date DATE,
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id)
);
설명: 쿠폰 만료에 대한 알림 날짜를 저장합니다.

 

7. 쿠폰 태그 테이블 생성
CREATE TABLE coupon_tags (
    tag_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    tag_name VARCHAR(50),
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id)
);
설명: 쿠폰에 할당된 태그를 저장합니다.

 

8. 쿠폰 통계 테이블 생성
CREATE TABLE coupon_statistics (
    statistic_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    times_used INT,
    total_discount_given DECIMAL(10, 2),
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id)
);
설명: 쿠폰 사용 횟수, 제공된 총 할인액 등의 통계를 저장합니다.

 

9. 쿠폰 발행 대상자 테이블 생성
CREATE TABLE coupon_targets (
    target_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    user_id INT,
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 쿠폰을 받을 대상 사용자를 저장합니다.

 

10. 쿠폰 코드 발생기 테이블 생성
CREATE TABLE coupon_generators (
    generator_id INT AUTO_INCREMENT PRIMARY KEY,
    coupon_id INT,
    generated_code VARCHAR(50),
    generation_date DATE,
    FOREIGN KEY (coupon_id) REFERENCES coupons(coupon_id)
);
설명: 쿠폰 코드 생성 날짜와 생성된 코드를 기록합니다.

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

반응형