좆소 2년다니다 다른 좆소로 이직한 뉴비입니다
근데 이직한 직장에서 db 스키마를 보는데 첨보는것들이라 질문좀 합니다
먼저 제가 전에있던 좆소에선 사실 큰 규모의 db나 복잡한 구조를 짜볼 기회도 없어서 모르는게 만슨니다
여기선 orm만 쓰고 쿼리는 안쓰네여 아무튼 이번에 제가 보게된거 몇가지를 말하자면
스타 스키마 라는걸 봤습니다
말그대로 메인 테이블 하나에 가지처럼 여러개 뻗어나간 테이블이 연결되어있는데
이런 개념을 사실 여기서 첨 알았습니다
근데 막상 까고보니 스타 스키마도 아니고 스노우플레이크 라는 뻗어나간 테이블에서 또 여러개로 뻗어나가는 형태로 되어있더군여
제가 db를 제대로 해본적이 업으니까 이런 형태의 구조를 처음봣습니다
그나마 orm이니까 좆나 복잡하게 이어진 가지를 따라 상위 데이터를 찾아가는 건 어렵지 안던데
이렇게 쓰는게 현업에서 흔한일인가 궁금합니다
그리고 두번째 질문은 첫번째 질문에서 이어지는데
예를들어 동전 - 은행 계좌 - 지갑 - 좆간 이라는 구조로 이어진 스키마가 있습니다
여기서 전 동전의 실제 소유자를 찾고싶습니다
근데 동전이라는 테이블에는 소유자에 대한 정보가 아무것도 없고 단지 은행 계좌에 들어있다는 정보만 있습니다
근데 이게 계속 타고 올라가서 은행 계좌는 지갑에 들어있고 지갑은 좆간이 소유하고있는 그런형태입니다
결국은 저에게 동전의 주인을 찾으려 했더니
동전이 포함된 은행계좌를 찾음 -> 은행 계좌가 어느 지갑에 들어있는지 찾음 -> 이 지갑을 어떤새끼가 소유하고있는지 찾음 ->
주인 찾아냄
진짜 이딴식으로 상위로 계속 올라가면서 최종적으로 주인을 찾는 방식으로 하고있었습니다
솔직히 제가 db를 많이 건들어 본게 아니라 잘 모르겠지만 현업에서도 실제로 이딴식으로 쓰고있는지 궁금합니다
이게 그나마 orm이라 다행이지 쿼리였으면 진작에 투신자살 했을꺼 같읍니다
사실 이거 말고도 저렇게 가지처럼 나눠진 테이블 3개씩 n:m 테이블로 또 묵고 하는짓도 봤는데
도저히 이해할수가 없어서 질문도 못하겠네요...
아무튼 규모가 큰 프로젝트 스키마 구조를 보다가 문득 다른곳에서도 이런식으로 하는가?
아니면 더 나은방법이 있는가? 라는 의문때문에 질문드렸읍니다
감사힙나다
상위로 올라간다는 표현은 특이하넹 그냥 조인 하면 되는거 아님?
사실 저게 join 맞음 다만 여기선 orm이라 표현상 상위로 올라가는것처럼 보여지는거고 그게 2중 3중으로 되어있는거라 현업에서도 보통 이렇게 쓰는건지 궁금해서그럼 난 이렇게 쓰는걸 처음봤으니까
울회사는 딱히 의도한건 아닌데 저런 구조로 되버린 것도 있고 애초에 작정하고 저 구조로 만든것도 있고 그러네 딴 회사를 안 다녀뵈서 딴데는 어떻게 하는지 모르겠네
스타스키마는 dw같은 빅데이터 다루는데서 주로 사용함. 기존에는 데이터 중심의 모델링이었다면 스타스키마는 전형적인 사용자 중심의 모델링임.
정규화 잘 되어있으면 ok입니다
몽고db로 마이그레이션 ㄱㄱ