Weird database question: SQL or what??

Paul Winkler slinkp23 at
Mon Mar 20 07:18:21 CET 2000


I know very little about databases except for having used an old
version of filemaker a bit. I am now in the position of needing to
out how to manage my organization's mailing lists, contacts, and
various other stuff. Python will likely play a role, as it's my
favorite language and seems to have lots of database support. I've
been mulling it over for a few weeks and I think I've at least
identified the key requirements.

My web host has MySQL installed and I *think*
that could be made to do what I want, but I don't (yet) understand
MySQL documentation, it's all very new to me.

I'm hoping someone here can at least tell me if I'm on the right
track, if so I will happily RTFM. I just don't have time to spend a
week learning SQL only to find out it wouldn't work!


1) Add or modify records online through html forms. (This is easy.)

2) We need to be updating our contacts "in the field" on laptops, or
in other situations when the web host is unavailable, but we need to
be able to merge it all together into one coherent "master"
database. So we need to be able to make multiple offline copies of
the database onto different machines and then re-combine them later.
This could be done pretty simply with timestamps on each record,
except I can't figure out how to handle the case in which the same
record is modified independently by two or more users; _all_ sets of
modifications need to be taken into account when the copies are
merged together, even if the merges don't take place at the same
time. So we need more than just a timestamp, as far as I can figure
we need a whole history of modification times for each record and a
history of when each copy of the database was split off from the
main database. Can MySQL handle this? Even if it can't figure out
what to do, can it at least be made to spot this condition and warn
the person performing the merge? Should I forget about SQL and just
use pickle or shelve files?

3) Did I mention that we need to be able to do this offline work
cross-platform? Specifically I need a solution for linux and for mac
since that's what we have. I'm thinking I might be able to use the
MySQL server on the web host, and use Gadfly on the mac when it's

4) The database is probably never going to be more than a few
thousand records (we have at most 250 right now). So speed should
not be a big issue.

5) Two people modifying the web-based database simultaneously will
probably be a pretty rare case. I could resort to making that
illegal if I had to (i.e. if SQL is not the solution to my other
problems). But that seems dumb.

I hope that all makes sense.

................    paul winkler    ..................
slinkP arts:   music, sound, illustration, design, etc.
A member of ARMS    ----->
or or
personal page   ---->

More information about the Python-list mailing list