Random Database in Python
alessandro.bottoni at infinito.it
Thu Oct 24 10:25:20 CEST 2002
Alle 09:42, mercoledì 23 ottobre 2002, David LeBlanc ha scritto:
> Is there any example of the type of database used by programs like Lotus
> Agenda or InfoSelect in Python? Sometimes described as a "random"
> Failing that, does anyone have a notion of how they work or can point me to
> information on them?
> David LeBlanc
> Seattle, WA USA
I do not use neither Lotus Agenda nor InfoSelect (I use the KDE Office
programs) but I think they should work in one of these ways:
- a linked (or double linked) list of "event" objects, implemented and stored
as a collections of linked Python objects. This is the most likely solution
for a small agenda-oriented applications.
- a regular RDBMS, like MySQL, used to store the agenda events and the
related info into linked tables (using "foreign keys" to link the table each
other). This requires an external RDBMS or an internal RDBMS engine. It is
meaningful only if you plan to manage a large, multi-user application.
- an OODMS, like ZODB (the OO database used by Zope). Same as above.
- a B-Tree internal database engine. I just cannot help you with this item
because I do not use this technology.
You can find the related info by searching for the mentioned terms with
google. Try something like: +"linked list" +python +database, for example.
Python have a few different built-in facilities for dealing with data on the
disk, starting from simple database engines like Gadfly to much more
sophisticated OO DMS engines like ZODB. Have a look at "marshall", "pickle"
and "dictionaries" into the Python doc, for example. Of course, "linked
lists" and other internal data structures are described in many beginner's
guide for programmers that are devoted to data structures, as well.
Have a look at ASPN.activestate.com web site, as well. The "database" section
of the activestate's Python cookbook contains a lot of info and examples on
marshalling, pickling, dictinaries, small and large database engines and
More information about the Python-list