저도 사실 db를 많이 해 보지 도 않고 잘아는것도 아니지만
지금 회사에서 만들어진 db 구조를보고 개인적으로 이해안가는거 때문에 질문 드립니다...
예를들어 이렇게 최상위에 A 라는 테이블이 있고
그 하위에 Group 이라는 테이블이 1:n 으로 연결되어있고
그 group 하위에 stuff 라는 테이블이 1:n 으로 연결되있읍니다
여기서 제가 궁금한건 stuff 2의 최상위에 있는 A의 id를 알고싶은 경우입니다.
현재 회사에서 작성된 슨키마를 따르자면
stuff에서 group을 조인하고 다시 group에서 a를 조인해서 최종적으로 A의 id를 찾는 방식으로
제일 아래에서 상위로 타고올라가는 방식으로 되어있습니다
여기서 제가 가진 의문은 차라리 stuff에 A 의 id 를 직접 연결하면 되지않을까? 라는 생각입니다.
물론 저도 잘 아는게 없으니 어디까지나 개인적인 의문이고
실제 현업이나 모범적인 답안은 어떻게 연결하는게 맞는건가요?
제가 이딴 생각을 가진이유는 위에서 설명한 예제는 단순히 2단계를 타고 올라갔지만
실제 회사에서 작성된 스키마는 기본 3-4번, 심하면 5번씩 타고 올라가는 구조로 되어있습니다
orm을 쓰고있는데도 코드 꼬라지 보고있자니
진짜 이딴식으로 길게 늘어져서 원래 이게 정상인가 싶어서 질문드립니다.
감사합니다
그거 제3정규화 위반이긴함 - dc App
Orm을 뭘 쓰는진 모르겠는데 테이블 구조가 잘못된게 아니라 Orm을 잘못쓰고있는거 같음 보통 조인 계속걸면 한번에 다 가져올수있지않음? - dc App
답변 감사드림니다 코드가 저렇다는건 prisma 쓰고있는데 include가 join하는건데 include{ include{ include{ } } } 이딴식으로 벌어져서 그렇읍니다