codewithbeom 님의 블로그

Database Error Code: 본문

카테고리 없음

Database Error Code:

CodeWithBeam 2024. 7. 15. 19:37
* orders 테이블 생성:

- 주문 정보를 저장하는 테이블을 생성합니다.
- order_id(INT, PRIMARY KEY, AUTO_INCREMENT): 주문의 고유 ID
- user_id(INT, FOREIGN KEY): 주문한 사용자의 ID (users 테이블의 user_id와 참조 관계)
- order_date(DATE): 주문 날짜
- amount(DECIMAL(10, 2)): 주문 금액


* sales 테이블 생성:

- 판매 정보를 저장하는 테이블을 생성합니다.
- sale_id(INT, PRIMARY KEY, AUTO_INCREMENT): 판매의 고유 ID
- order_id(INT, FOREIGN KEY): 주문 ID (orders 테이블의 order_id와 참조 관계)
- item_id(INT, FOREIGN KEY): 재고 항목의 ID (inventory 테이블의 item_id와 참조 관계)
- quantity_sold(INT, NOT NULL): 판매된 수량
 



CREATE TABLE ORDERS(
        order_id INT AUTO_INCREMENT PRIMARY KEY,
        user_id INT,
        order_date DATE,
        amount DECIMAL(10,2),                 
        FOREIGN KEY(user_id) REFERENCES USERS(user_id)  
);


CREATE TABLE SALES(
        sale_id INT AUTO_INCREMENT PRIMARY KEY,
        order_id INT,
        item_id INT,
        quantity_sold INT NOT NULL,
        FOREIGN KEY(order_id) REFERENCES ORDERS(order_id),
        FOREIGN KEY(item_id) REFERENCES INVERTORY(item_id)
);


  ✔️    Foreign Key(외래 키)

: 외래키는 하나의 테이블에서 다른 테이블의 기본키를 참조하는 키이다.

 

✔️ Foreign Key 를 사용하는 이유

  • 데이터 무결서 유지 : 자식 테이블의 레코드를 삭제하거나 업데이트 할 때 부모 테이블의 기본키를 참조하지 않으면 데이터베이스에서                                 오류를 발생시킨다.       
  • 데이터 일관성 유지 : 외래키를 사용하면 부모 테이블에서 업데이트하거나 삭제할 때 자식 테이블에서 일관성을 유지할 수 있다.
  • 데이터베이스에서 관계 정의 가능 : 두개 이상의 테이블에서 데이터를 쉽게 검색하고 연결 할 수 있다.

✔️ Foreign Key 사용 방법

    :   FOREIGN KEY(자식테이블_column) REFERENCES 부모테이블이름(부모테이블_column)

 

✔️ 오류

    : Error 1824 : Failed to open the referenced table 'users' => 테이블 명칭을 다시 확인해 볼 것

       (오류가 여러번 났었는데 구글에 에러코드를 치면 알 수 있다.)