Подтвердить что ты не робот

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?

4b9b3361

Ответ 1

Мы обнаружили, что диаграммы классов фактически являются одним из лучших способов представления схемы схемы монго.

Он может захватывать большинство элементов, которые будут иметь документы, например массивы, встроенные объекты и даже ссылки.

Общие рекомендации, которые мы используем для обозначения понятий в uml

Вставить= агрегация компоновки

Ссылка= класс ассоциации

Если вы не знакомы с терминологией uml, тогда это достойное введение.

ввод UML с сайта IBM

Ответ 2

Существует инструмент для создания диаграмм для MongoDb, который называется DbSchema. Он обнаруживает схему путем сканирования данных с db. Я также предложил бы попробовать две функции из них:

  • виртуальные отношения, которые позволяют одновременно исследовать данные из разных коллекций. Вид JOIN между различными коллекциями.
  • HTML-документация, мы используем ее и в презентациях - комментарии находятся в режиме мыши (диарамы сохраняются как векторные изображения).

Ответ 3

Так же, как и в обновленной версии, есть инструмент под названием NoSQLEditor, в котором вы можете создавать свои собственные представления базы данных NoSQL.

Это совсем не плохо, и использовать его и для проектов с другими людьми он лучший, так как он работает в режиме реального времени. Самое замечательное, что это бесплатно, если вы не команда с десятками людей и десятками различных проектов.