MongoDB의 ERD에 해당합니까?
MongoDB와 같은 NoSQL 데이터베이스의 ERD에 해당하는 것은 무엇입니까?
당신이 쿼라에 대해 비슷한 질문을 한 것 같습니다.
여기서 언급한 바와 같이 ERD는 단순히 저장하려는 데이터와 해당 데이터 간의 관계를 매핑한 것입니다.
데이터와 관계를 추적하려는 경우에도 MongoDB를 사용하여 ERD를 만들 수 있습니다.큰 차이점은 MongoDB에는 조인이 없다는 것입니다. 따라서 ERD를 실제 스키마로 변환할 때 관계 구현에 대한 몇 가지 구체적인 결정을 내려야 합니다.
특히 이 데이터가 실제로 저장되는 방법을 결정할 때는 "내장 대 참조" 결정을 내려야 합니다.관계는 여전히 허용됩니다. 단지 시행되지 않을 뿐입니다.MongoDB를 위한 많은 래퍼들은 실제로 이러한 복잡성의 일부를 추상화하기 위해 컬렉션 전반에 걸쳐 룩업을 제공합니다.
MongoDB는 스키마를 강제로 실행하지는 않지만, 완전히 무작위로 진행하는 것은 권장되지 않습니다.시스템에 보유할 것으로 예상되는 데이터를 모델링하는 것은 여전히 좋은 생각이며 ERD가 제공하는 것입니다.
그럼 ERD에 해당하는 것이 ERD인가요?
UML 클래스 다이어그램을 대신 사용할 수도 있습니다.
Moon Modeler는 MongoDB에 대한 스키마 설계를 지원합니다.사용자는 중첩된 구조로 다이어그램을 정의할 수 있습니다.
저는 문서 지향적인 "도표"를 도표화하는 표준 수단을 알지 못합니다.
ERD를 사용하여 스키마를 매핑할 수는 있지만 문서 데이터베이스가 데이터 간의 관계를 진정으로 지원하거나 더 중요하게 적용하지 않기 때문에 코드가 내부적으로 그러한 관계를 적용하도록 교육받은 만큼만 유용할 것입니다.
저는 꽤 오랫동안 같은 문제에 대해 생각해 왔습니다.그리고 저는 다음과 같은 결론에 도달했습니다.NoSQL 데이터베이스가 일반적으로 스키마가 없는 경우 다이어그램에 설명할 '스키마'가 없습니다.
따라서, 저는 당신이 "예를 들어" 접근법을 취해야 한다고 생각합니다.MongoDB와 같은 NoSQL DB에 데이터를 저장할 때의 모습을 보여주는 마인드 맵을 그릴 수 있습니다.
또한 이러한 데이터베이스는 매우 동적이기 때문에 파생된 마인드 맵을 생성하여 현재의 데이터가 시간에 따라 어떻게 진화할 수 있는지 보여줄 수 있습니다.
이 주제도 한번 보세요.
MongoDB는 INNER JOIN(기본 SQL 조인)의 SQL 의미에서는 'join'을 지원하지 않습니다.'join'의 개념은 일반적으로 SQL과 관련되어 있지만, MongoDB는 데이터 처리 파이프라인 단계와 통합 프레임워크를 가지고 있습니다.$lookup 파이프라인 단계는 SQL에서 LEFT JOIN에 해당하는 것을 만드는 데 사용됩니다.즉, 관계 왼쪽에 있는 모든 문서와 관계 오른쪽에 있는 모든 관련 문서가 파이프라인을 통해 전달됩니다.문서가 새 문서의 일부로 관계를 포함하도록 수정되었습니다.
결과적으로, 나는 엔티티 관계 다이어그램이 MongoDB에서 역할을 한다고 가정합니다.문서는 DB에서 서로 관련이 있으며, 카디널리티 관계(예: 전체 참여, 부분 참여, 취약/강력한 실체 등)를 포함하여 이러한 관계를 시각화해야 합니다.
물론 MongoDB는 임베디드 문서와 참조 문서의 개념도 도입하고 있기 때문에 ERD 모델에 추가적인 풍미를 더한다고 주장합니다.그리고 저는 확실히 포함되고 참조되는 관계를 시각적인 도표로 보여주고 싶습니다.
남은 질문은 밖에 무엇이 있는가 하는 것입니다.Mongoose for NodeJS에는 무엇이 있습니까?루비를 위한 몽고이드? 등.각 리포지토리에서 해당 ORM(Object Relational Mapper)을 확인하면 해당 ORM(Object Relational Mapper)에 대한 ERD가 있음을 알 수 있습니다.그러나 완성도 측면에서 볼 때, 아마도 부족한 점이 많을 것이며 오픈 소스 커뮤니티가 기여하는 것을 환영합니다.
언급URL : https://stackoverflow.com/questions/6010408/equivalent-of-erd-for-mongodb
'programing' 카테고리의 다른 글
iOS 배포용 P12 인증서 생성 방법 (0) | 2023.05.04 |
---|---|
Windows에서 하나의 명령으로 폴더의 모든 파일 확장명 변경 (0) | 2023.05.04 |
SQLite에서 Postgre로 변경새로운 Rails 프로젝트의 SQL (0) | 2023.05.04 |
Azure 컨테이너 서비스와 컨테이너용 웹 앱의 차이점 (0) | 2023.05.04 |
Eclipse가 기본 작업 공간을 요청하도록 강제하는 방법은 무엇입니까? (0) | 2023.05.04 |