개발자
group에서 user의 아이디를 받아 저장하는데, group에서 user를 찾는 건 쉽지만, user가 속한 group을 찾는데에는 어려움이 있을 거 같습니다. user 테이블에 group의 갯수를 제한해서 받는 것이 나을지, 다른 방법이 있는지 알려주세요! join도 생각해봤는데, 데이터양이 너무 많아질 거 같아서 고민입니다.
답변 2
group에 user_id가 왜 있을까요? group table이 실제로는 group_user 에 대한 table인건지? group_user table에 대한거라면, user_id에 index를 걸고 join을 하시면 될거 같고, group table이라면 group_user라는 별도의 table을 만드시는건 어떨까요?
나정
작성자
상명대 공대 • 2024년 03월 19일
앗 제 설명이 부족했네여! 초대 코드를 만들어서 그룹을 생성할 때 유저가 멘토이고, 그룹에 들어온 유저가 멘티로 구상하고 있습니다! 제가 생각했을 때는, group 안의 구성원이 누가 있나를 저장하기 위하여 group table에 user_id를 추가했습니다. group_user라는 별도의 table을 만들 때에는 어떤 식으로 구상하는 게 좋을지 조언 부탁드립니다! 답변 정말 감사합니다!
ㄱㅎㅁ
백엔드 개발자 • 2024년 03월 19일
group table에는 group에 대한 내용만 있고 group_user table에는 pk, group_id, user_id, reg_dt .... 와 같이 group과 user의 join 테이블로 활용하며, index를 group_id 와 user_id에 대해 각각 만들어주면 될꺼같습니다. 그래서 group에 어떤 사용자가 있는지는 group, left join group_user, inner join user을 하고 (user_id만 필요하다면 group, group_user 까지만 join) 어떤 user가 어떤 group에 있냐는건 user, left join group_user, inner join group을 하면 될것 같습니다.
나정
작성자
상명대 공대 • 2024년 03월 19일
답변 감사합니다!! 이해했어요! 😃
group_id / mentor_id / mentee_id 이런식으로 그룹디비를 생성하시고 Onetomany manytoone을 걸어주신 후에 mentee_id에서 걸려있는 group을 조회를 하면 user가 속한 group을 쉽게 찾을수 있을겁니다
나정
작성자
상명대 공대 • 2024년 03월 19일
답변 감사합니다!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!