새벽코딩

[PostgresDB-2] 9. Relationship ( 1:1, M:N) 일대일, 다대다 본문

Programming/Postgres DB

[PostgresDB-2] 9. Relationship ( 1:1, M:N) 일대일, 다대다

midnightcoder 2022. 12. 21. 02:46

- Instargram DB에 개인설정 및 조아요 테이블을 만드시오

 

먼저 One to One (1:1) 관계를 살펴보면

 

Country - capital (하나의 나라에는 하나의 수도만 있는 관계이다)

 

여기서 FK는 범위가 더 작거나, 사용 빈도가 더 작은 쪽에 FK를 준다.

 

마찬가지로, 인스타그램 예에서는 user - settings 관계에서 settings에 FK를 준다.

 

Many - to Many (M:N) 다 대 다 관계

 

예) 쇼핑몰에 customers 와 products 관계

 

A customer can order products.

The product can be ordered by customers

이런 다대다 관계는 실제 구현시에, 중간 table을 놓고 여기에 FK를 둬서 양쪽 관계를 연결한다.

 

인스타그램에서는

 

user - likes - photos

 

likes가 중간테이블이 된다.