D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] Databases part 3

 

James Fidell wrote:
> MySQL really is just the database bit -- the data storage engine(s) and
> a query language to get at the data.  People would argue that the
> processing for a search form, for example, really doesn't belong in a
> database implementation because ideally it should be possible to create
> such a form and then switch databases between MySQL, Postgres or Oracle
> merely by changing the interconnecting logic, without the creator or
> end-user of the form even being aware of it.

Absolutely. The database manager (MySQL, Oracle, SQLite) can just be a
plugin. The query front end can be built to work with whatever is
available at the time. Many websites use databases behind the scenes -
there is no need for users to be aware of which or even if a database is
involved.

> As regards finding the functionality you're after, though I use MySQL
> a good deal I'm afraid I really don't know of anything that suits your
> needs.

It depends.

Gtk and Qt (and Windows for that matter) support column headers that
perform simple database queries in many, many applications. Resorting
lists by name, size, description, etc. - see Nautilus, Konqueror...
Clicking on one particular row selects the full record behind that
initial view - address books are a common use for that implementation.

It harks back to what Aaron mentioned in his Maypole presentation:
Model/View/Controller. The Model is the database schema - the layout of
the underlying data. The view is how the user sees the data - which
elements of the data are displayed and in what sequence. The controller
modifies the view using the model in response to user intervention like
clicking on a column header or selecting an option.

MySQL provides the model and only a basic view. The controller is
command line SQL and has strict syntax.

LAMP provides a nicer view overlaying the model and a limited but less
strict controller.

Other applications (like gnucash or maypole) use multiple views,
multiple controllers and - sometimes - multiple models. It can become
incredibly complicated whilst appearing intuitive.

There can be no all-in-one solution for all these purposes, the only
real solution is to combine the various tools into a kit that matches
your assumptions. (Whilst being prepared to modify the kit as your
assumptions change!)


-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


Attachment: signature.asc
Description: OpenPGP digital signature

-- 
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html