본문 바로가기

SQL

카탈로그 테이블 생성: 상품 카탈로그 정보를 저장하기 위한 테이블을 생성합니다.

반응형

상품 카탈로그 정보를 저장하는 테이블은 상품의 다양한 정보를 체계적으로 관리하고 사용자에게 제공하는 데 중요합니다. 이 테이블은 보통 상품 ID, 상품 이름, 설명, 카테고리, 가격, 이미지, 재고 수량 등 상품의 상세 정보를 포함합니다. 다음은 상품 카탈로그 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 카탈로그 테이블 생성
CREATE TABLE catalog (
    catalog_id INT AUTO_INCREMENT PRIMARY KEY,
    product_id INT,
    product_name VARCHAR(100),
    description TEXT,
    category_id INT,
    price DECIMAL(10, 2),
    image_url TEXT,
    stock_quantity INT,
    FOREIGN KEY (product_id) REFERENCES products(product_id),
    FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
설명: 상품의 이름, 설명, 카테고리, 가격, 이미지 URL, 재고 수량 등을 포함한 상품 카탈로그를 저장합니다.

 

2. 상품 카테고리 링크 테이블 생성
CREATE TABLE catalog_category_links (
    link_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    category_id INT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id),
    FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
설명: 카탈로그 항목과 카테고리 간의 관계를 나타내는 테이블을 생성합니다.

 

3. 상품 특성 테이블 생성
CREATE TABLE product_attributes (
    attribute_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    attribute_name VARCHAR(50),
    attribute_value VARCHAR(100),
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id)
);
설명: 상품의 다양한 특성(색상, 사이즈 등)을 저장합니다.

 

4. 상품 옵션 테이블 생성
CREATE TABLE product_options (
    option_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    option_name VARCHAR(50),
    option_value VARCHAR(100),
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id)
);
설명: 상품의 선택 가능한 옵션(예: 색상, 사이즈)을 저장합니다.

 

5. 상품 리뷰 링크 테이블 생성
CREATE TABLE catalog_review_links (
    link_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    review_id INT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id),
    FOREIGN KEY (review_id) REFERENCES reviews(review_id)
);
설명: 카탈로그 항목과 해당하는 리뷰 간의 관계를 나타냅니다.

 

6. 할인 정보 링크 테이블 생성
CREATE TABLE catalog_discount_links (
    link_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    discount_id INT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id),
    FOREIGN KEY (discount_id) REFERENCES discounts(discount_id)
);
설명: 카탈로그 항목과 적용된 할인 정보 간의 관계를 나타냅니다.

 

7. 상품 이미지 테이블 생성
CREATE TABLE product_images (
    image_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    image_url TEXT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id)
);
설명: 상품의 다양한 이미지 URL을 저장합니다.

 

8. 상품 배송 옵션 테이블 생성
CREATE TABLE product_shipping_options (
    shipping_option_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    option_name VARCHAR(100),
    option_detail TEXT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id)
);
설명: 상품의 배송 옵션과 상세 설명을 저장합니다.

 

9. 상품 제조사 정보 테이블 생성
CREATE TABLE product_manufacturers (
    manufacturer_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    manufacturer_name VARCHAR(100),
    contact_info TEXT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id)
);
설명: 상품의 제조사 이름과 연락처 정보를 저장합니다.

 

10. 상품 관련 문서 테이블 생성
CREATE TABLE product_documents (
    document_id INT AUTO_INCREMENT PRIMARY KEY,
    catalog_id INT,
    document_type VARCHAR(50),
    document_url TEXT,
    FOREIGN KEY (catalog_id) REFERENCES catalog(catalog_id)
);
설명: 상품의 사용 설명서, 안전 지침 등 관련 문서의 URL을 저장합니다.

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

반응형