Я пытаюсь понять идею баз данных noSQL, точнее, концепцию базы данных neo4j graph. У меня есть опыт работы с базами данных SQL (MySQL, MS SQL), но ограничения управления иерархическими данными заставили меня расширить свои знания. Но теперь у меня есть некоторые вопросы, и я не могу найти ответы на них (возможно, я не знаю, что искать).
Представьте, что у нас есть список стран мира. Каждая страна имеет свой ВВП каждый год. В каждой стране ВВП рассчитывается из разных источников - Всемирного банка, их правительства, ЦРУ и т. д. Как лучше организовать данные в этом случае?
Самое простое, что пришло в голову, это иметь узел (значения мнимые):
China:
GDPByWorldBank2012: 999,
GDPByCIA2011: 994,
GDPByGovernment2012: 1102,
В реляционной базе данных я бы разделил данные на три таблицы: страны, источники и значения, где в значениях у меня было бы значение ВВП, год, идентификатор страны и идентификатор источника.
Другая вещь, которая пришла в голову, это создать узлы ЦРУ, Всемирный банк, но узел правительства выглядит очень странно. Несмотря на это, идея состоит в том, чтобы иметь отношения (valueIfGDP):
CIA -> valueOfGDP - {year: 2011, value: 994} -> China
World Bank -> valueOfGDP - {year: 2012, value: 999} -> China
Для меня это выглядит довольно странно, более того, что происходит, когда мы складываем значения за все годы из одного источника? У нас будет несколько отношений или что?
Извините, если мои вопросы слишком глупы, и я был бы рад, если бы кто-нибудь объяснил мне или показал мне, какую книгу/статью прочитать.
Заранее спасибо. :)