본문 바로가기

SQL

제품 레시피 테이블 생성: 제품 레시피 정보를 저장하기 위한 테이블을 생성합니다.

반응형

 

제품 레시피 정보를 저장하는 테이블은 요리법, 제조법, 또는 생산 공정을 상세히 기록하고 관리하는 데 중요합니다. 이 테이블은 레시피 ID, 제품명, 재료, 분량, 제조 과정, 필요한 시간, 특별 지침 등의 정보를 포함할 수 있습니다. 다음은 제품 레시피 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 제품 레시피 테이블 생성
CREATE TABLE product_recipes (
    recipe_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(100),
    description TEXT,
    preparation_time INT,
    cooking_time INT,
    total_time INT
);
설명: 레시피의 제품명, 설명, 준비 시간, 조리 시간, 총 필요 시간을 저장합니다.

 

2. 레시피 재료 테이블 생성
CREATE TABLE recipe_ingredients (
    ingredient_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    ingredient_name VARCHAR(100),
    quantity VARCHAR(50),
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id)
);
설명: 각 레시피에 필요한 재료의 이름과 분량을 저장합니다.

 

3. 레시피 제조 과정 테이블 생성
CREATE TABLE recipe_steps (
    step_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    step_number INT,
    instruction TEXT,
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id)
);
설명: 각 레시피의 제조 과정을 순서대로 저장합니다.

 

4. 레시피 필요 장비 테이블 생성
CREATE TABLE recipe_equipment (
    equipment_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    equipment_name VARCHAR(100),
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id)
);
설명: 레시피 제조에 필요한 장비의 이름을 저장합니다.

 

5. 레시피 카테고리 테이블 생성
CREATE TABLE recipe_categories (
    category_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    category_name VARCHAR(100),
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id)
);
설명: 레시피의 카테고리를 저장합니다.

 

6. 레시피 영양 정보 테이블 생성
CREATE TABLE nutritional_info (
    nutrition_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    calories INT,
    fat DECIMAL(5, 2),
    carbs DECIMAL(5, 2),
    protein DECIMAL(5, 2),
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id)
);
설명: 레시피별 영양 정보(칼로리, 지방, 탄수화물, 단백질)를 저장합니다.

 

7. 레시피 태그 테이블 생성
CREATE TABLE recipe_tags (
    tag_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    tag_name VARCHAR(50),
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id)
);
설명: 레시피에 할당된 태그를 저장합니다.

 

8. 레시피 피드백 테이블 생성
CREATE TABLE recipe_feedbacks (
    feedback_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    user_id INT,
    comment TEXT,
    rating DECIMAL(3, 1),
    feedback_date TIMESTAMP,
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 사용자의 레시피에 대한 피드백(코멘트, 평점, 날짜)을 저장합니다.

 

9. 레시피 북마크 테이블 생성
CREATE TABLE recipe_bookmarks (
    bookmark_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    user_id INT,
    bookmark_date TIMESTAMP,
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 사용자가 북마크한 레시피와 북마크 날짜를 저장합니다.

 

10. 레시피 공유 기록 테이블 생성
CREATE TABLE recipe_shares (
    share_id INT AUTO_INCREMENT PRIMARY KEY,
    recipe_id INT,
    shared_by INT,
    share_date TIMESTAMP,
    share_platform VARCHAR(100),
    FOREIGN KEY (recipe_id) REFERENCES product_recipes(recipe_id),
    FOREIGN KEY (shared_by) REFERENCES users(shared_by)
);
설명: 레시피를 공유한 사용자, 공유 날짜, 공유된 플랫폼을 기록합니다.


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

반응형