저도 사실 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을 쓰고있는데도 코드 꼬라지 보고있자니


진짜 이딴식으로 길게 늘어져서 원래 이게 정상인가 싶어서 질문드립니다.

감사합니다