재고 관리는 제품의 수량, 위치, 상태 등을 추적하는 중요한 기능입니다. 이를 통해 비즈니스는 효율적으로 재고를 관리하고, 과잉 또는 부족을 방지하며, 주문 이행을 개선할 수 있습니다. 다음은 상품 재고 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 재고 테이블 생성
CREATE TABLE inventory (
inventory_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
quantity INT,
location VARCHAR(100),
last_update TIMESTAMP,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 각 상품의 재고 수량, 저장 위치, 마지막 업데이트 시간을 저장합니다.
2. 재고 변경 기록 테이블 생성
CREATE TABLE inventory_log (
log_id INT AUTO_INCREMENT PRIMARY KEY,
inventory_id INT,
change_date TIMESTAMP,
change_quantity INT,
reason TEXT,
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id)
);
설명: 재고의 변경 내역(변경 시간, 변경 수량, 변경 이유)을 기록합니다.
3. 상품별 재고 요약 테이블 생성
CREATE TABLE inventory_summary (
summary_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
total_quantity INT,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 각 상품별 총 재고 수량을 요약하여 저장합니다.
4. 제품 위치별 재고 테이블 생성
CREATE TABLE inventory_by_location (
location_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
location VARCHAR(100),
quantity INT,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 각 제품의 위치별 재고 수량을 저장합니다.
5. 위험 재고 테이블 생성
CREATE TABLE low_inventory (
product_id INT,
quantity INT,
alert_level INT,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 재고 수량이 경고 수준 이하로 떨어진 제품의 정보를 저장합니다.
6. 예정된 재고 입고 테이블 생성
CREATE TABLE incoming_inventory (
incoming_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
expected_quantity INT,
expected_date DATE,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 예정된 재고 입고 정보(예상 수량, 예상 날짜)를 저장합니다.
7. 재고 출고 기록 테이블 생성
CREATE TABLE inventory_outgoing (
outgoing_id INT AUTO_INCREMENT PRIMARY KEY,
inventory_id INT,
outgoing_date DATE,
quantity INT,
destination TEXT,
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id)
);
설명: 재고 출고 기록(출고 날짜, 수량, 목적지)을 저장합니다.
8. 재고 할당 테이블 생성
CREATE TABLE inventory_allocation (
allocation_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
inventory_id INT,
allocated_quantity INT,
allocation_date DATE,
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id)
);
설명: 주문에 할당된 재고 정보를 저장합니다.
9. 재고 예약 테이블 생성
CREATE TABLE inventory_reservation (
reservation_id INT AUTO_INCREMENT PRIMARY KEY,
product_id INT,
reserved_quantity INT,
reservation_date DATE,
FOREIGN KEY (product_id) REFERENCES products(product_id)
);
설명: 특정 목적을 위해 예약된 재고 정보를 저장합니다.
10. 재고 상태 테이블 생성
CREATE TABLE inventory_status (
status_id INT AUTO_INCREMENT PRIMARY KEY,
inventory_id INT,
status VARCHAR(50),
update_time TIMESTAMP,
FOREIGN KEY (inventory_id) REFERENCES inventory(inventory_id)
);
설명: 각 재고 항목의 상태(예: "판매 가능", "보류 중") 및 상태 업데이트 시간을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
할인 테이블 생성: 할인 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.29 |
---|---|
배송 테이블 생성: 주문 배송 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.29 |
카테고리 테이블 생성: 상품 카테고리 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.29 |
상품 테이블 생성: 상품 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.29 |
주문 테이블 생성: 주문 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2023.12.29 |