Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오즈코딩스쿨모두의매블챌린지
- mini-project
- 명령어
- flask
- 오즈코딩스쿨#모두의매블챌린지
- TDD
- 초격자캠프
- 리눅스
- 개발 방법론
- 모두의매블챌린지
- 프로젝트
- ORM
- 개발부트캠프
- 오즈코딩스쿨후기
- cafepos
- sqlalchemy
- 다형성
- 우분투
- 오즈코딩스쿨
- 크롤링
- 오즈 코딩스쿨
- 테스트 주도 개발
- flask-sqlalchemy
- Test-Driven Development
- git충돌
Archives
- Today
- Total
codewithbeom 님의 블로그
Database Error Code: 본문
* 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' => 테이블 명칭을 다시 확인해 볼 것
(오류가 여러번 났었는데 구글에 에러코드를 치면 알 수 있다.)