MongoDB: Как представить схему схемы в тезисе?
В настоящее время я пишу диссертацию и вам нужно отобразить схему моего MongoDB на диаграмме. Я не нашел ресурсов о диаграммах для баз данных на основе документов.
Существуют диаграммы отношений сущностей (ERD) для реляционных баз данных. Какие у меня варианты для MongoDB? Я заметил, что многие блоги просто отображают сырую JSON как свою "диаграмму", но это невозможно в моей диссертации.
Вот пример одной из моих структур 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"
}
Может ли это быть возможной диаграммой:
![Possible Diagram?]()
Ответы
Ответ 1
Мы обнаружили, что диаграммы классов фактически являются одним из лучших способов представления схемы схемы монго.
Он может захватывать большинство элементов, которые будут иметь документы, например массивы, встроенные объекты и даже ссылки.
Общие рекомендации, которые мы используем для обозначения понятий в uml
Вставить= агрегация компоновки
Ссылка= класс ассоциации
Если вы не знакомы с терминологией uml, тогда это достойное введение.
ввод UML с сайта IBM
Ответ 2
Существует инструмент для создания диаграмм для MongoDb, который называется DbSchema. Он обнаруживает схему путем сканирования данных с db. Я также предложил бы попробовать две функции из них:
- виртуальные отношения, которые позволяют одновременно исследовать данные из разных коллекций. Вид JOIN между различными коллекциями.
- HTML-документация, мы используем ее и в презентациях - комментарии находятся в режиме мыши (диарамы сохраняются как векторные изображения).
Ответ 3
Так же, как и в обновленной версии, есть инструмент под названием NoSQLEditor, в котором вы можете создавать свои собственные представления базы данных NoSQL.
Это совсем не плохо, и использовать его и для проектов с другими людьми он лучший, так как он работает в режиме реального времени. Самое замечательное, что это бесплатно, если вы не команда с десятками людей и десятками различных проектов.