TIL

24.09.25 TIL

skyteer0 2024. 9. 25. 21:12

일단 SQL 제약조건 사용에 예를 들기 위해 테이블을 설계해보자

 

고객 테이블

ID name
1  홍길동
2 먹방

 

음식 테이블

ID name price
1 후라이드치킨 10000
2 양념치킨 12000
3 반반치킨 13000
4 고구마 피자 9000
5 아보카도 피자 110000

 

여기서 우리는 연관 관계를 고민해봐야 한다.

고객이 음식 주문 시 주문 정보는 어느 테이블에 들어가야 할까?

고객 테이블에 들어가는게 맞을까 아니면 음식테이블에 들어가는게 맞을까?

우선 고객테이블에 넣어보자

ID name foodname
1 홍길동 후라이드치킨
2 먹방  
3 홍길동 양념치킨

 

이렇게 될 경우 문제접은 고객의 이름이 중복되어 나타난다는 것이다.

그럼 이번에는 음식 테이블에 추가 해본다고 하자

ID name price userID
1 후라이드 치킨 10000 1
2 양념치킨 12000 1
3 반반치킨 13000  
4 고구마 피자 9000  
5 아보카도 피자 110000  
6 후라이드 치킨 10000 2

 

이 경우에는 사람 한명이 추가로 같은 메뉴를 주문하는 순간 음식이 중복

되어 나타난다는 것이다.

 

그럼 주문을 담당하는 주문 테이블을 만들어 본다면 어떨까

ID 회원 ID 음식 ID 주문일
1 1 1 01월 01일
2 2 4 01월 01일
3 2 1 01월 02일
4 1 4 01월 02일

 

회원 ID는 고객 테이블에 ID와 연결되고 음식 ID는 음식 테이블에 ID와 연결된다.

 

회원 1명은 주문 N개를 할 수 있다.

회원 : 주문 = 1 : N 관계

음식 1개는 주문 N개에 포함될 수 있다.

음식 : 주문 = 1 : N 관계

결론

회원 : 음식 = N : M 관계

 

실제 제약 사항 사용은 다음날로 넘기겠습니다...

'TIL' 카테고리의 다른 글

24.10.10 TIL  (0) 2024.10.10
24.10.01 TIL  (1) 2024.10.01
24.09.24 TIL  (1) 2024.09.24
24.09.23 TIL  (0) 2024.09.23
24.09.20 TIL  (1) 2024.09.20