On Thu, Oct 26, 2006 at 05:49:36PM +0300, Ivars Grinbergs wrote: > Derek Atkins wrote: > > "Daniel Espinosa" <[EMAIL PROTECTED]> writes: > > > > > >>> 1) We don't need an AccountType table. AccountTypes are not data, > >>> they are encoded in the application. There's no reason to add > >>> them to the database because they are constants. > >>> > >>> > >> If usefull if you want a strong data integrity done by the Database > >> server, and if you want to share with others programs (I plan to > >> develop some one for the desktop) > >> > > > > You can't get enough data integrity from the database. For example, > > you cannot define the database in a way to enforce balanced transactions. > > > > > Theoretically, it is possible by means of triggers and stored > procedures. But I'm not sure that many DB engines support them and if > support, then in different ways and at different degree. Therefore I > don't think it is worth to bring existing logic (that checks and > enforces certain integrity) from application tier (single point) to DB > backend tier (potentially many different implementations for different > backends).
You'd be better off creating a stored-procedure-based interface and having it enforce the semantics. -- Jim C. Nasby, Database Architect [EMAIL PROTECTED] Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?" _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel