온라인 쇼핑 정보를 저장하는 테이블은 e-commerce 사이트에서 사용자의 구매 내역, 제품 정보, 배송 상태 등을 관리하는 데 중요합니다. 이 테이블은 주문 ID, 고객 ID, 주문 상품, 주문 날짜, 배송 주소, 총 비용, 주문 상태 등의 정보를 포함할 수 있습니다. 다음은 온라인 쇼핑 주문 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 온라인 쇼핑 주문 테이블 생성
CREATE TABLE online_orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
order_date TIMESTAMP,
delivery_address TEXT,
total_cost DECIMAL(10, 2),
order_status VARCHAR(50),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 주문 ID, 고객 ID, 주문 날짜, 배송 주소, 총 비용, 주문 상태 등을 저장합니다.
2. 고객 정보 테이블 생성
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
address TEXT,
registration_date TIMESTAMP
);
설명: 고객 ID, 이름, 이메일, 주소, 등록 날짜 등을 저장합니다.
3. 주문 상품 테이블 생성
CREATE TABLE order_items (
item_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
product_id INT,
quantity INT,
price DECIMAL(10, 2),
FOREIGN KEY (order_id) REFERENCES online_orders(order_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 상품 ID, 주문 ID, 제품 ID, 수량, 가격 등을 저장합니다.
4. 제품 정보 테이블 생성
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
description TEXT,
price DECIMAL(10, 2),
stock_quantity INT
);
설명: 제품 ID, 제품명, 설명, 가격, 재고 수량 등을 저장합니다.
5. 배송 정보 테이블 생성
CREATE TABLE delivery_info (
delivery_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
shipped_date TIMESTAMP,
estimated_arrival TIMESTAMP,
delivery_status VARCHAR(50),
FOREIGN KEY (order_id) REFERENCES online_orders(order_id)
);
설명: 배송 ID, 주문 ID, 발송 날짜, 예상 도착 날짜, 배송 상태 등을 저장합니다.
6. 결제 정보 테이블 생성
CREATE TABLE payment_info (
payment_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
payment_date TIMESTAMP,
payment_method VARCHAR(50),
amount_paid DECIMAL(10, 2),
FOREIGN KEY (order_id) REFERENCES online_orders(order_id)
);
설명: 결제 ID, 주문 ID, 결제 날짜, 결제 방법, 결제 금액 등을 저장합니다.
7. 주문 취소 기록 테이블 생성
CREATE TABLE order_cancellations (
cancellation_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
cancellation_date TIMESTAMP,
reason TEXT,
FOREIGN KEY (order_id) REFERENCES online_orders(order_id)
);
설명: 취소 기록 ID, 주문 ID, 취소 날짜, 취소 이유 등을 저장합니다.
8. 제품 리뷰 테이블 생성
CREATE TABLE product_reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
customer_id INT,
review_date TIMESTAMP,
rating INT,
comment TEXT,
FOREIGN KEY (product_id) REFERENCES products(product_id),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 리뷰 ID, 제품 ID, 고객 ID, 리뷰 날짜, 평점, 코멘트 등을 저장합니다.
9. 위시리스트 테이블 생성
CREATE TABLE wishlists (
wishlist_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
product_id INT,
date_added TIMESTAMP,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 위시리스트 ID, 고객 ID, 제품 ID, 추가 날짜 등을 저장합니다.
10. 제품 할인 테이블 생성
CREATE TABLE product_discounts (
discount_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
discount_rate DECIMAL(5, 2),
start_date DATE,
end_date DATE,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 할인 ID, 제품 ID, 할인율, 시작 날짜, 종료 날짜 등을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, DECIMAL, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
전화 통화 기록 테이블 생성: 전화 통화 기록 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
---|---|
부동산 매물 테이블 생성: 부동산 매물 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
신용카드 트랜잭션 테이블 생성: 신용카드 트랜잭션 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
온라인 강의 테이블 생성: 온라인 강의 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
사용자 프로필 테이블 생성: 사용자 프로필 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |