배송 추적 정보를 저장하는 테이블은 고객이 주문한 상품의 위치와 상태를 실시간으로 추적하고 업데이트하는 데 중요합니다. 이 테이블은 추적 ID, 주문 ID, 배송 상태, 위치, 예상 도착 시간, 최근 업데이트 시간 등의 정보를 포함할 수 있습니다. 다음은 배송 추적 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 배송 추적 테이블 생성
CREATE TABLE shipment_tracking (
tracking_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
current_status VARCHAR(100),
current_location TEXT,
estimated_delivery DATE,
last_updated TIMESTAMP,
FOREIGN KEY (order_id) REFERENCES orders(order_id)
);
설명: 각 배송의 현재 상태, 현재 위치, 예상 도착일, 마지막 업데이트 시간 등을 저장합니다.
2. 배송 상태 변경 기록 테이블 생성
CREATE TABLE shipment_status_history (
history_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
status VARCHAR(100),
location TEXT,
update_time TIMESTAMP,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송 상태의 변경 이력을 저장합니다. 상태, 위치, 변경 시간을 포함합니다.
3. 배송 상세 정보 테이블 생성
CREATE TABLE shipment_details (
detail_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
package_type VARCHAR(50),
weight DECIMAL(5, 2),
dimensions TEXT,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송되는 상품의 상세 정보를 저장합니다. 패키지 유형, 무게, 치수를 포함합니다.
4. 배송 업체 정보 테이블 생성
CREATE TABLE shipping_carriers (
carrier_id INT AUTO_INCREMENT PRIMARY KEY,
carrier_name VARCHAR(100),
contact_info TEXT
);
설명: 배송을 담당하는 업체의 이름과 연락처 정보를 저장합니다.
5. 배송 예외 사항 테이블 생성
CREATE TABLE shipment_exceptions (
exception_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
exception_date DATE,
exception_detail TEXT,
resolution TEXT,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송 중 발생한 예외 사항과 해결책을 저장합니다.
6. 배송 추적 알림 테이블 생성
CREATE TABLE shipment_notifications (
notification_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
notification_type VARCHAR(50),
message TEXT,
sent_date TIMESTAMP,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송 추적과 관련된 알림 발송 내역을 저장합니다.
7. 배송 문서 테이블 생성
CREATE TABLE shipment_documents (
document_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
document_type VARCHAR(50),
document_url TEXT,
issue_date DATE,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송과 관련된 문서(예: 선적서, 인수증)의 유형, URL, 발행일을 저장합니다.
8. 배송 경로 테이블 생성
CREATE TABLE shipment_routes (
route_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
origin TEXT,
destination TEXT,
route_details TEXT,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송의 출발지, 목적지, 경로 상세를 저장합니다.
9. 배송 비용 테이블 생성
CREATE TABLE shipment_costs (
cost_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
cost_type VARCHAR(50),
amount DECIMAL(10, 2),
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송 관련 비용의 유형과 금액을 저장합니다.
10. 배송 시간 테이블 생성
CREATE TABLE shipment_times (
time_id INT AUTO_INCREMENT PRIMARY KEY,
tracking_id INT,
departure_time TIMESTAMP,
arrival_time TIMESTAMP,
FOREIGN KEY (tracking_id) REFERENCES shipment_tracking(tracking_id)
);
설명: 배송의 출발 시간과 도착 시간을 기록합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DATE, TIMESTAMP, DECIMAL, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
상품 추천 정보 테이블 생성: 상품 추천 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
---|---|
고객 로그인 테이블 생성: 고객 로그인 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
세금 테이블 생성: 세금 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.31 |
이미지 테이블 생성: 상품 이미지 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2023.12.31 |
설문조사 테이블 생성: 고객 설문조사 결과를 저장하기 위한 테이블을 생성합니다. (1) | 2023.12.31 |