Внедрение документа-базы данных отношения один-ко-многим - PullRequest
0 голосов
/ 23 мая 2019

Мартин Клеппманн (Martin Kleppmann) при разработке приложения с интенсивным использованием данных говорит, что отношение «один ко многим» реализовано в базе данных документов с использованием древовидной иерархии. Например, как указано в приведенном ниже коде, пользователь может занимать несколько позиций, которые могут быть представлены в виде списка назначенных должностей и организации. Но Организация будет дубликатом. Таким образом, данные не могут быть нормализованы, как в RDBMS. Далее в книге говорится, что отношение «многие-к-одному» не может быть представлено в БД документов, так как оно не поддерживает соединение. Но он не может поддерживать один ко многим также вопреки своему требованию, потому что, если данные хранятся в отдельной сущности, то БД документа не может быть представлена ​​как целое, как указано ниже в представлении JSON. Так что, если мы говорим, что база данных документов поддерживает отношение «один ко многим», то это невозможно без сохранения дублирующейся информации?

{
    "user_id": 251,
    "first_name": "Bill",
    "last_name": "Gates",
    "summary": "Co-chair of the Bill & Melinda Gates... Active blogger.",
    "region_id": "us:91",
    "industry_id": 131,
    "photo_url": "/p/7/000/253/05b/308dd6e.jpg",

    "positions": [
        {"job_title": "Co-chair", "organization": "Bill & Melinda Gates      Foundation"},
        {"job_title": "Co-founder, Chairman", "organization": "Microsoft"}
    ],
    "education": [
        {"school_name": "Harvard University", "start": 1973, "end": 1975},
        {"school_name": "Lakeside School, Seattle", "start": null, "end": null}
    ],
    "contact_info": {
        "blog": "http://thegatesnotes.com",
        "twitter": "http://twitter.com/BillGates"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...