Хранение большого количества структур данных графа в базе данных - PullRequest
4 голосов
/ 10 мая 2011

Этот вопрос задает вопрос о сохранении одного графа в реляционной базе данных. Решение в этом случае очевидно: одна таблица для узлов, одна таблица для ребер.

У меня есть структура данных графа, которая со временем эволюционирует, поэтому я хотел бы сохранить «снимки» этого графа в базе данных. Я представляю себе сотни таких снимков.

Одним из решений является создание совершенно новой пары таблиц узлов и ребер (как указано выше) для каждого снимка. Есть ли лучшее решение?

РЕДАКТИРОВАТЬ: Меня спросили, что я хотел бы сделать с этой базой данных. Я считаю, что я не буду делать никаких запросов, кроме как выгрузить все графиков в MySQL из C ++ и затем загрузить его all обратно в структуры данных C ++. Поэтому я хочу использовать MySQL для хранения, а не для эффективного произвольного доступа / поиска.

1 Ответ

5 голосов
/ 10 мая 2011

Вам нужна таблица

 graphs = (graphid, dateofsnapshot or other things unique to the snapshot)

, и вам нужны таблицы узлов и ребер, но с внешней ссылкой на таблицу графиков.Таким образом, вы можете иметь произвольное количество графиков в базе данных.

...