79일차 - SQL추가 공부, 스키마 디자인

김민찬·2021년 7월 27일
0

취업으로의 여정

목록 보기
80/196

우선 어제 SQL에 대한 어려움을 극복하기 위해 추가공부를 했다.

이해되지 않았던 부분들이 이수안컴퓨터연구소 - SQL Full Tutorial Course를 봤더니 한번에 이해가 되었다. 1시간 11분이나되는 영상이지만, 처음부터 끝까지 보는 시간이 하나도 아깝지 않을 정도로, 정리가 잘 되어있으니, SQL에 대한 시간이 지나서 어려움이 있을때 다시 돌아와서 볼 예정이다.

스키마 디자인

스키마 디자인은 정보처리기사를 공부할 때, 이해가 되지 않았던 부분들이 따라온 느낌이다. 당시 데이터베이스에 대한 직접적인 경험이 없어서 매우 Primary Key와 Foreign Key를 이해하는 데에도 많은 시간이 소모 되었는데, 직접 스키마를 작성해보고, SQL을 작성해보니, 어려움이 말끔히 해소가 되었다.
공부했던 경험치가 있어서 1 : N, N : M, N : 1 관계를 판별하긴 쉬웠는데, dbdiagram.io를 이용해 디자인 하려니 막막했다.
인스타그램을 생각해보면서 스키마 디자인을 하려니 끝이 없는 테이블들에 어려움을 느꼈다.
그래서 공부할때 사용한 미니 마켓 웹페이지의 Database를 이용해서 스키마 디자인을 해봤다.

미니 마켓 웹페이지의 SQL문은 이렇게 작성 되어있었다. 이를 토대로 dbdiagram.io로 만든 스키마 디자인은 아래와 같다.
내가 만든 스키마 디자인
사진으로 보면 다음과 같이 디자인 했다.

위와같은 웨페이지에서 id가 13인 유저의 주문을 가져오는 SQL문을 만들려면

SELECT orders.id, orders.created_at, orders.total_price, items.name, items.price, items.image, order_items.order_quantity
FROM orders
JOIN order_items
ON orders.id = order_items.order_id
JOIN items
ON order_items.item_id = items.id
WHERE orders.user_id = 13

위와 같이 작성하면 될 것이다.

profile
두려움 없이

0개의 댓글