Added doc notes on new database hierarchy
svn: r14111
This commit is contained in:
parent
4fd46fe669
commit
2d36aea65a
@ -18,6 +18,57 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
|
|
||||||
|
"""
|
||||||
|
Gramps Database API.
|
||||||
|
|
||||||
|
Database Architecture
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Access to the database is made through Python classes. Exactly
|
||||||
|
what functionality you have is dependent on the properties of the
|
||||||
|
database. For example, if you are accessing a read-only view, then
|
||||||
|
you will only have access to a subset of the methods available.
|
||||||
|
|
||||||
|
At the root of any database interface is either DbReadBase and/or
|
||||||
|
DbWriteBase. These define the methods to read and write to a
|
||||||
|
database, respectively.
|
||||||
|
|
||||||
|
The full database hierarchy is:
|
||||||
|
|
||||||
|
- B{DbBsddb} - read and write implementation to BSDDB databases (U{gen/db/write<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/write.py?view=markup>})
|
||||||
|
- B{DbWriteBase} - virtual and implementation-independent methods for reading data (U{gen/db/base.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/base.py?view=markup>})
|
||||||
|
- B{DbBsddbRead} - read-only (accessors, getters) implementation to BSDDB databases (U{gen/db/read.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/read.py?view=markup})
|
||||||
|
- B{DbReadBase} - virtual and implementation-independent methods for reading data (U{gen/db/base.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/base.py?view=markup})
|
||||||
|
- B{Callback} - callback and signal functions (U{gen/utils/callback.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/utils/callback.py?view=markup})
|
||||||
|
- B{UpdateCallback} - callback functionality (U{gen/updatecallback.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/read.py?view=markup gen/updatecallback.py?view=markup>})
|
||||||
|
- B{DbBDjango} - read and write implementation to Django-based databases (U{web/djangodb.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/web/djangodb.py?view=markup})
|
||||||
|
- B{DbWriteBase} - virtual and implementation-independent methods for reading data (U{gen/db/base.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/base.py?view=markup})
|
||||||
|
- B{DbReadBase} - virtual and implementation-independent methods for reading data (U{gen/db/base.py<http://gramps.svn.sourceforge.net/viewvc/gramps/trunk/src/gen/db/base.py?view=markup})
|
||||||
|
|
||||||
|
DbBsddb
|
||||||
|
=======
|
||||||
|
|
||||||
|
The DbBsddb interface defines a hierarchical database
|
||||||
|
(non-relational) written in
|
||||||
|
U{http://www.jcea.es/programacion/pybsddb.htm PyBSDDB}. There is no
|
||||||
|
such thing as a database schema, and the meaning of the data is
|
||||||
|
defined in the Python classes above. The data is stored as pickled
|
||||||
|
tuples and unserialized into the primary data types (below).
|
||||||
|
|
||||||
|
DbDjango
|
||||||
|
========
|
||||||
|
|
||||||
|
The DbDjango interface defines the Gramps data in terms of
|
||||||
|
I{models} and I{relations} from the
|
||||||
|
U{Django project<http://www.djangoproject.com/}. The database
|
||||||
|
backend can be any implementation that supports Django, including
|
||||||
|
such popular SQL implementations as sqlite, MySQL, Postgresql, and
|
||||||
|
Oracle. The data is retrieved from the SQL fields, serialized and
|
||||||
|
then unserialized into the primary data types (below).
|
||||||
|
|
||||||
|
More details can be found in the manual's U{Using database API<http://www.gramps-project.org/wiki/index.php?title=Using_database_API>}.
|
||||||
|
"""
|
||||||
|
|
||||||
from base import *
|
from base import *
|
||||||
from dbconst import *
|
from dbconst import *
|
||||||
from cursor import *
|
from cursor import *
|
||||||
|
Loading…
Reference in New Issue
Block a user