inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

테이블 관계 정의하기

following follower 질문드립니다

해결된 질문

645

Like me black

작성한 질문수 65

0

선생님 안녕하세요

항상 좋은 강의 가르쳐주셔서 감사합니다

following follower 관련 햇갈리는 부분이 있어서 가르쳐주시면 감사하겠습니다

아래의 user.js 소스코드에서 following follower 코드를 봐주시면요

소스코드 사진에 보라색 박스와 초록색 박스를 표시했습니다

1번째로 드리고 싶은 질문은,

42, 47행의 보라색 User 가 Followings 테이블 역할을 하고

초록색 User가 Followers 테이블 역할을 한다고 이해해도 되는지 질문드리고 싶습니다

 

2번째로 드리고 싶은 질문은,

43행의 followingId가 

보라색 User(Follower테이블 역할)의 기본키인 id를 참고하는

초록색 User(Followings 테이블 역할)가 가진 외래키인지 질문드리고 싶습니다

 

3번째로 드리고 싶은 질문은,

48행의 followerId가

초록색 User(Followings 테이블 역할)의 기본키인 id를 참고하는

보라색 User(Follower테이블 역할)가 가진 외래키인지 질문드리고 싶습니다

 

긴 질문을 읽어주셔서 감사합니다

mongodb nodejs mysql Sequelize

답변 1

1

제로초(조현영)

일단 followers followings 테이블이라는 건 없습니다. follow 테이블의 컬럼이겠죠?

중간에 생성되는 follow 테이블을 기준으로 두고 생각해보세요.

보라색이 팔로워고 초록색이 팔로잉이면 각각 팔로워아이디 팔로잉아이디가 되겠죠.

근데 왜 1번과 2,3번은 보라색 초록색 역할이 서로 반대인가요??

0

Like me black

앗 제가 실수했습니다

저는 보라색 User를 팔로잉, 초록색 User를 팔로워로 이해했습니다
혹시 이렇게 이해해도 되는지 질문드리고 싶습니다

그림도 한번 그려보겠습니다

0

Like me black

표 그리는 중인데, 표 다 그리면 다시 질문드리겠습니다 선생님

0

Like me black

선생님 혹시 이렇게 이해해도 되는지 봐주시면 감사하겠습니다

정리1.

User 테이블이 자기연관관계에 있습니다

하나의 User 테이블이 자기 자신과 연관관계를 다 대 다 대응으로 가지고 있습니다

즉, Follower와 Following은 User 테이블에서 나왔습니다

 Follower와 Following은 역할의 차이입니다

 

정리2. 

Follower 테이블은 외래키로 followingid를 가지고있지 않습니다

Following 테이블은 외래키로 followId를 가지고있지 않습니다

오로지 연결 테이블 역할을 하는 Follow 테이블만이 이 필드들을 외래키로 가지고 있습니다

 

읽어주셔서 감사합니다

0

Like me black

아 또 Follower와 Following을 테이블이라고 적었네요

하나의 User테이블이 자신과의 자기연관관계를 다대다로 가져서 생기는 역할의 차이로 이해했습니다

Follow테이블은 다대다를 잇기 위해 중간에 위치한 연결테이블이구요

User테이블의 기본키를 Follow 테이블의 외래키가 참조한다고 이해했습니다

0

제로초(조현영)

네 맞습니다.

0

Like me black

선생님 감사합니다ㅎㅎ

리눅스 노드 설치시 패키지

0

166

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

916

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2293

2

a[title] 질문드립니다

0

384

1

리뉴얼 강의 및 공부 방법

0

587

1

jwt decode

0

1135

1

node.js 교과서 3판 질문드립니다

0

394

1

passport와 jwt

0

437

1

리뉴얼 강의

0

422

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

356

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

486

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

507

2

nunjucks res.render('error'); 작동을 안합니다.

0

516

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3538

1

수업자료는 어디있나요?

0

371

1

질문 있습니디

0

241

1

multer 사용시 file 외 name값은 못받나용?

0

424

1

코드 중복 부분 질문드립니다.

0

300

1

api 만드는 이유 질문드립니다.

0

291

1

Strategy의 done에 대해 질문드립니다.

0

373

1

안녕하세요 fs 권한 관련 질문드립니다

0

453

1

시퀄라이즈 연결질문...

0

505

2

res.setHeader vs res.cookie

0

1791

3