2016-04-06 6 views
0

Я пытаюсь найти примеры в документации ZODB о соединении из двух или более таблиц. Я знаю, что это база данных объектов, но я пытаюсь создать объекты, представляющие таблицы.База данных ZODB: объединение таблиц

И я вижу, что ZODB использует SQLAlchemy.

Так что мне было интересно, могу ли я рассматривать вещи в ZODB в реляционном смысле. Надеюсь, кто-то может сообщить мне, если мой подход к использованию этого ZODB в порядке, или если нужно думать совсем по-другому.

ответ

1

ZODB делает не использует SQLAlchemy, и нет реляционной модели. Нет столов для присоединения, периода. ZODB сохраняет дерево объектов, схемы нет. Это просто объекты Python в более Python-объектах.

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

+0

Привет, Martijn, спасибо за ваш ответ. И да, спасибо за объяснение того, как здесь используется SQLAlchemy, поэтому он не используется для фактического реляционного типа манипуляции, например, вы сказали, что он используется как уровень между реляционной базой данных и python, а затем ZODB. Посмотрев мои данные и организовывая их, иерархически, я вижу, что нет необходимости в типе операции объединения. Структуры деревьев автоматически устраняют необходимость мыслить в терминах объединений. И я понял. – Palu

+0

Я выберу ваш ответ, так как он объясняет аспект SQLAlchemy. – Palu