2012-07-04 17 views
25

Obecnie piszę pracę magisterską i chcę wyświetlić schemat mojego MongoDB na schemacie. Nie znalazłem żadnych zasobów na temat diagramów dla baz danych opartych na dokumentach.MongoDB: Jak przedstawić diagram schematu w pracy dyplomowej?

Istnieją relacyjne diagramy encji (ERD) dla relacyjnych baz danych. Jakie opcje mam dla MongoDB? Zauważyłem, że wiele blogów po prostu pokazuje surowy JSON jako ich "diagram", ale nie jest to możliwe w mojej pracy magisterskiej.

Oto przykład jednego z moich struktury JSON:

//MultiChoiceQuestion 
{ 
    "title": "How are you?", 
    "valid_answers" : [ 
     { 
      "_id" : ObjectID(xxxx), 
      "title": "Great", 
      "isCorrect": true, 
     }, 
     { 
      "_id" : ObjectID(yyyy), 
      "title": "OK", 
      "isCorrect": false, 
     }, 
     { 
      "_id" : ObjectID(zzzz), 
      "title": "Bad", 
      "isCorrect": false, 
     } 
    ], 
    "user_responses" : [ 
     { 
      "user": ObjectID(aaaa), 
      "answer": ObjectID(xxxx) 
     }, 
     { 
      "user": ObjectID(bbbb), 
      "answer": ObjectID(xxxx) 
     }, 
     { 
      "user": ObjectID(cccc), 
      "answer": ObjectID(yyyy) 
     } 
    ] 
} 

//User 
{ 
    "_id": ObjectID(aaaa), 
    "name": "Person A" 
} 
//User 
{ 
    "_id": ObjectID(bbbb), 
    "name": "Person B" 
} 
//User 
{ 
    "_id": ObjectID(cccc), 
    "name": "Person C" 
} 

To może być możliwe schemat: Possible Diagram?

+0

ponieważ schemat dotyczy tylko jednego dokumentu, może to oznaczać, że każdy po prostu wyświetla sam dokument. żaden inny dokument w kolekcji nie musi mieć tego samego schematu. –

+0

Tak, ale w moim przypadku każdy "MultiChoiceDocument" jest dokładnie taki sam, więc chciałbym to pokazać. – Andrew

+1

Mimo że nie ma jawnego schematu w magazynie danych MongoDB, prawie zawsze istnieje niejawny schemat, który musi być reprezentowany. http://martinfowler.com/articles/schemaless/ – AndrewW

Odpowiedz

22

Znaleźliśmy diagramów klas, aby rzeczywiście być jednym z najlepszych sposobów, aby reprezentować projekt schematu mongo.

Umożliwia przechwytywanie większości elementów dokumentu, takich jak tablice, obiekty osadzone, a nawet odniesienia.

wytyczne

Ogólne używamy odnosić się na koncepcji do UML

HTML = Skład agregacja

referencyjny = Stowarzyszenie klasa

Jeśli jesteś zaznajomiony z terminologią UML to jest przyzwoite intro.

UML intro from IBM site

+1

Tak więc na podstawie projektu UML dostałem to: http://i.imgur.com/Jicxz.png – Andrew

0

Jest to narzędzie robi diagramy dla MongoDB, nazywa DbSchema. Odkrywa schemat przez skanowanie danych z db. Sugerowałbym także wypróbowanie dwóch funkcji z nich:

  • wirtualne relacje, które pozwalają eksplorować dane z różnych kolekcji w tym samym czasie. Rodzaj JOIN między różnymi kolekcjami.
  • Dokumentacja HTML, używamy jej również w prezentacjach - komentarze są najeżdżane myszką (pamiętniki są zapisywane jako obrazy wektorowe).
Powiązane problemy