새벽코딩

[PostgresDB-2] 8. Relationship ( 1:N, 1:1, M:N) & PK, FK 본문

Programming/Postgres DB

[PostgresDB-2] 8. Relationship ( 1:N, 1:1, M:N) & PK, FK

midnightcoder 2022. 12. 15. 14:27

Relationship

 

1. One-to-Many / Many-to-one (1:N) relationship 일 대 다 관계

 

: 하나의 데이터가 여러개의 데이터를 포함하는 관계

 

e.g.

  1)하나의 instagram 계정에 여러가지 사진들이 등록,

  2)장바구니에 담긴 상품목록

  3)하나의 기사에 달린 댓글들

  4)에 속한 선수들

 

인스타그램 User는 여러개의 Photo 데이터를 가지고있다.
하나의 데이터가 여러개의 데이터를 갖는 관계 (1:N)

각 Recode의 대표값을 PK, 그리고 PK 가르키는 컬럼을 FK

이러한 PK와 FK의 연결을 통해서 데이터의 관계가 형성됨

 

**PK 와 FK 란?

 

- Primary Key : 레코드를 대표하는 값 일종의 identification ( == 주민등록번호)

 : Representative (like SSN)

 : Unique

 : Named "id" (usually) - DB에 의해 자동생성됨

 

 

참고) 각 DB밴더에 맞게 작성하면됨

 

- Foreign Key

 : 먼저 Column과 Type을 적은 다음에 해당 Column이 PK를 가르키도록 설정해줌 (Target PK)

           user_id      INTEGER                                         RERFERENCES                 users(id)

 

 

출처 : 홍팍의 'SQL 데이터 분석, 활용!'