[mySQL] 테이블 간 관계

구동현·2024년 1월 29일

스프링

목록 보기
16/21

가정

당신은 스타벅스 키오스크를 만들고 있다.

이런 스타벅스 데이터베이스 안에 테이블을 두개를 만들었다.
테이블간의 관계를 어떻게 할 것인가?


기존의 생각

  • 이렇게 서로가 서로를 참조하는 N:N 관계

단점

  • 중복이 생긴다!!!

올바른 테이블 간 관계설정

  • 주문 테이블을 하나 더 생성한다.
  • 주문 테이블은 음식 아이디와 유저 아이디를 포함한다
  • 주문 테이블과 음식테이블은 1:N 관계
  • 주문 테이블과 유저테이블은 1:N 관계
SELECT u.name as username,
       f.name as foodname,
       o.order_date as orderdate
FROM users u
         INNER JOIN orders o on u.id = o.user_id
         INNER JOIN food f on o.food_id = f.id
WHERE o.user_id = 1;
profile
개발합시다

0개의 댓글