wjrmffldrhrl / goldenblock

블록체인교육 프로젝트
1 stars 1 forks source link

프로젝트에 쓰일 다대다 구조 #40

Closed wz0405 closed 4 years ago

wz0405 commented 4 years ago

질문에 앞서 참고하면 좋은 블로그 링크 공유합니다. https://victorydntmd.tistory.com/30

goldenblock 프로젝트에서 db를 다대다로 해야하는 이유가 궁금합니다.

적용 전에 의견 공유를 하면 좋을 것 같습니다.

wjrmffldrhrl commented 4 years ago

해당 블로그 글을 인용하겠습니다.

3. 다대다 관계 ( N:M )

N : M 관계는 관계를 가진 양쪽 엔티티 모두에서 1 : M 관계가 존재할 때 나타나는 모습입니다. 즉, 서로가 서로를 1:N 관계로 보고 있는 것입니다.

예를 들면, 쇼핑몰에서 회원과 상품이 관계를 맺을 수 있습니다. 한 회원은 쇼핑몰의 여러 상품들을 가질 수 있습니다. 청바지, 모자, 티셔츠, 남방 등... 다 제가 가질 수 있죠.

반대로 한 티셔츠도 여러 회원들을 가질 수 있습니다. 하나의 티셔츠를 나도 친구도 부모님도 가질 수 있습니다.

이처럼 관계를 맺은 두 엔티티가 서로 많이 가질 수 있을 때, 이를 N : M 관계라고 합니다.

이걸 Goldenblock에 적용하면 다음과 같습니다.

Goldenblock에서는 기업이 제시한 산학 협력 주제(프로젝트)와 학생들이 관계를 맺을 수 있습니다. 한 학생은 여러 프로젝트에 참여할 수 있습니다. A기업의 프로젝트, B기업의 프로젝트 등등 종료된 프로젝트를 포함해서 많은 프로젝트와 관계를 맺을 수 있습니다.

반대로 한 프로젝트도 여러 학생들과 관계되어 있습니다. 한개의 프로젝트에 학생1도 학생2도 참여할 수 있습니다.