Re: dbus and GNOME 2.8



El mar, 06-04-2004 a las 11:59, jamie escribió:

> Well SQLite is not an RDBMS - yes its a database but nothing more. If
> all we want is dumb data storage then yes SQLite is all we need but the
> biggest advantage of having an RDBMS with stored procedures and triggers
> is that we can centralise business rules for the data in order to
> protect its integrity and avoid additonal coding effort by duplication
> of said business rules in multiple clients (the clients become thin
> clients which are quicker to code and less buggy as a result).
> 

Having code in two places (app code and stored procedure code) will make
updates/development/maintenance/administration a NIGHTMARE.

> E.G. consider a diary or appointments facility that we store in a DB. If
> all we care about is the storage of the appointments in a table then all
> client apps that use this facility have a responsibility to make sure
> the data for it is correct and that it adheres to some business rules.

You are confusing the role of databases here.  Database features such as
stored procedures and the like have no role in saving preferences.  But
database SCHEMAS to maintain along the code WILL make running a solution
much more expensive.

> I believe it is essential to have a schema + business rules clearly
> defined for whatever facilities/entities we want to use be they storage,
> calendars, appointments, contacts or something else.

Weren't we talking about preferences?  There are in diverse standards. 
If you mean ENFORCING of business rules, then there's the need for some
special-purpose server (Rather than just a database) such as a groupware
server, in this case, where a database with stored procedures would play
a small or no role at all.  Fortunately, evo-data-server and the KDE
data sources project have advanced and have nearly or already working
solutions for these problems.

>  It clearly makes
> sense to enforce these rules once on the server rather than duplicating
> effort in all the client apps

You have to do the effort in clients as well, otherwise you get a crappy
UI.

So: relational databases for preferences are OUT (see Filesystems).
So: relational databases for mostly unstructured data (appointments,
schedules, meetings) are OUT (see Special-purpose servers).

> 
> jamie.
> 
> > 
> > _______________________________________________
> > desktop-devel-list mailing list
> > desktop-devel-list gnome org
> > http://mail.gnome.org/mailman/listinfo/desktop-devel-list
> > 
> > 
> 
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/desktop-devel-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]