Loading...

DB/Oracle / / 2022. 2. 15. 17:11

DB 43강. 연관관계

반응형

관계에 대해 먼저 알아보자.

 

하나의 타입으로 설명이 되지 않을 때

오브젝트로 쪼개 준다.

User와 Post의 관계를 살펴보자.

 

사용자 한 명당 게시글을

하나만 올릴 수 있는 게 아니다.

사용자와 게시글은 1 : N의 관계를 가진다.

 

반대로 게시글은 사용자에게 어떤 관계를 가질까?

 

하나의 게시글은 한 사람만 작성이 가능하다.

따라서 게시글과 사용자는 1 : 1의 관계를 가진다.

 

둘 중 더 큰 수로 생각하면 된다.

 

즉, 사용자와 게시글은 1 : N의 관계이다.

 

외래키는 어디 테이블에 걸어줘야 할까?

 

결론부터 말하자면

외래키는 N의 테이블에 있어야 한다.

 

1의 테이블에 외래키가 있다면

postId가 중복되어

콤마로 구분해서 넣어주든가

User의 데이터가 중복되어야 한다.

 

원자성이 깨지는 것이다.

 

이를 이해한 뒤로는

공식을 적용해 사용하면 된다.

 

N 테이블이 FK(외래키)를 가지고,

외래키에는 1 테이블의 PK(기본키)가 들어간다.

 

그리고 N 테이블이 드라이빙 테이블이 된다.

 

N 테이블이 FK를 가지고 드라이빙 테이블이 된다.

 

이해하고 난 뒤에는

공식을 기억하고

관계만 생각하면 된다.

 


 

Post와 Reply의 관계  1 : N

하나의 게시글에 여러 개의 댓글이 달릴 수 있다.

 

User와 Movie의 관계 N : N

하나의 영화에 여러 사람이 볼 수 있고,

한 사람이 여러개의 영화를 볼 수 있다.

 

 

 

 

[출처]

 

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

 

메타 코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 

반응형