pythonsqlalchemyzodb

ZODB database: table joins


I have been trying to find examples in ZODB documentation about doing a join of 2 or more tables. I know that this is an Object Database, but I am trying to create objects that represent tables.

And I see that ZODB makes use SQLAlchemy.

So I was wondering if I can treat things in ZODB in a relational like sense. I hope someone can let me know if my train of thought in using this ZODB is OK, or if one has to think in very different way.


Solution

  • ZODB does not use SQLAlchemy, and there is no relational model. There are no tables to join, period. The ZODB stores an object tree, there is no schema. It's just Python objects in more Python objects.

    Any references to ZODB and SQLAlchemy are all for applications built on top of the ZODB, where transactions for external relational databases accessed through SQLAlchemy are tied in with the ZODB transaction manager to ensure that transactions cover both the ZODB and data in other databases. This essential means that when you commit the ZODB transaction, SQLAlchemy is told about this too.