SQL, 데이터 분석!

SQL, 데이터 분석!

바로 보고 실습하는 SQL, 입문부터 활용까지!

07 일대다(1:N) 관계

# 일대다(One-to-Many) 관계 ## 미션 --- 인스타 그램을 참고하여, 일대다(다대일) 관계를 설명하시오. ![홍팍-SQL-입문-일대다-관계-미션](http://drive.google.com/thumbnail?export=view&sz=w960&id=1RWdUj_D2MY_b9opouIGVkNVG_ePbc7a4) ## 개념 --- #### 인스타그램의 DB는 어떻게 저장될까? 각 핵심 데이터를 테이블로 만들겠지? 사용자 따로, 사진 따로, 댓글 따로 등등.. 그럼 이 사진이 내꺼인건 어떻게 알까? ![홍팍-SQL-입문-인스타그램-사진들](http://drive.google.com/thumbnail?export=view&sz=w960&id=1RX92VojLLCSWIBqEO88XVLZOSGcJz5fn) #### 데이터의 관계? 데이터는 서로 연관되어있다. 내 인스타그램에 내 사진들만 나오는 건, 이 사진들이 나와 관련된 데이터이기 때문이다. ![홍팍-SQL-입문-다양한-데이터의-관계](http://drive.google.com/thumbnail?export=view&sz=w960&id=1RZzbs78Is3NR-2_JVQvfz0E8YCz3k-0Z) #### 일대다 관계, 무엇? 일대다(One-to-Many) 관계는 하나의 데이터가 여러 데이터와 관계가 있는거다. 내 인스타그램에 여러 사진이 있을 때, 내 계정과 등록된 사진은 일대다 관계다. 일대다 관계는 거꾸로 볼 때, 다대일(Many-to-One) 관계이기도 하다. 엄마 입장에서 여러 자식들이 있지만, 자식 입장에선 엄마가 한명인 것과 같다. ![홍팍-SQL-입문-인스타그램-일대다-다대일-One-to-Many-Many-to-One-관계](http://drive.google.com/thumbnail?export=view&sz=w960&id=1Rd6XJwILv7Lb21rnvQWJtlbeWhlAivXB) #### 일대다 관계 예 일대다 관계는 다양하다. 하나의 데이터가 여러 데이터를 가지는 형태면 된다. 그래서 has-many 관계로도 불린다. ![홍팍-SQL-입문-일대다-다대일-관계-예](http://drive.google.com/thumbnail?export=view&sz=w960&id=1RdbhJiFoe5U4ul1yWa1dZ1n59pl8iaBu) #### 일대다 관계는 DB로 어떻게 저장? 데이터의 관계는 PK와 FK연결을 통해 형성된다. PK는 데이터를 대표하는 값인데, 쉽게 id로 보면 된다. 이를 가리키는게 FK다. 다음 그림에서 user_id 컬럼이 FK다. ![홍팍-SQL-입문-일대다-다대일-관계-및-PK와-FK](http://drive.google.com/thumbnail?export=view&sz=w960&id=1Re0hiZDczfhhCmWycrqOG4NsTkCflLHQ) ## 훈련 --- #### 다음 중 일대다 관계 중, 무엇이 One이고 무엇이 Many를 구분하시오. - 게시글과 댓글 - 직원과 회사 - 주문과 주문내역 - 메뉴와 음식점 - 교실과 학교