know that they are persistentbecause zodb does not yet work with python xthat' as much as we can say about it in this book for more detailssearch for zodb and zope resources on the weband see the examples package resources listed earlier herelet' move on to see how python programs can make use of very different sort of database interface--relational databases and sql sql database interfaces the shelve module and zodb package of the prior sections are powerful tools both allow scripts to throw nearly arbitrary python objects on keyed-access file and load them back later--in single step for shelves and with small amount of administrative code for zodb especially for applications that record highly structured dataobject databases can be convenient and efficient--there is no need to split and later join together the parts of large objectsand stored data is processed with normal python syntax because it is normal python objects shelves and zodb aren' relational database systemsthoughobjects (recordsare accessed with single keyand there is no notion of sql queries shelvesfor instanceare essentially databases with single index and no other query-processing support although it' possible to build multiple-index interface to store data with multiple shelvesit' not trivial task and requires manually coded extensions zodb supports some types of searching beyond shelve ( its cataloging feature)and persistent objects may be traversed with all the power of the python language howeverneither shelves nor zodb object-oriented databases provide the full generality of sql queries moreoverespecially for data that has naturally tabular structurerelational databases may sometimes be better fit for programs that can benefit from the power of sqlpython also broadly supports relational database management systems (rdbmssrelational databases are not necessarily mutually exclusive with the object persistence topics we studied earlier in this -it is possiblefor exampleto store the serialized string representation of python object produced by pickling in relational database zodb also supports the notion of mapping an object database to relational storage medium the databases we'll meet in this sectionthoughare structured and processed in very different waysthey store data in related tables of columns (rather than in persistent dictionaries of arbitrarily structured persistent python objectsthey support the sql query language for accessing data and exploiting relationships among it (instead of python object traversalssql database interfaces