It can be safely assumed that databases with a high volume of data
or a complicated relational setup (like, perhaps, a lexical database
for a living language) must be accessible to many users and operators
at the same time. Ideally, it should be possible to use existing
different hardware and software platforms that can be combined into
the actual system. In order to reduce the implementation cost, only
one system, the database server, needs to be powerful; the user stations
typically just display data and accept user commands, but the processing
is done on one machine only which led to the name client-server database.
In addition, the user interface should be easy to maintain and
should require as little as possible on the client side.
A system which meets these criteria can be built around the following
items of protocols, concepts and software:
supplies the operating system. It is a stable Unix
implementation providing true multi-user multi-tasking
services with full network (TCP/IP e. a.) support.
Except from the actual media and transmission cost, it
is available free of charge and comes in form of
so-called distributions which usually include everything
needed from the basic OS to text processing, scripting,
software development, interface builders, etc.
is the Hypertext Markup Language used to build
interfaces to network systems like Intranets and the
WWW, the World Wide Web. HTML is very simple and can be
produced with any ASCII-capable text editor.
are text-based (e. g. Lynx) or graphical
(e. g. Mosaic, Netscape, Arena etc.) applications
accepting, evaluating and displaying HTML documents.
They are the only
piece of software which is directly operated by the
database user. Using browsers, it is possible
to display various types of data (text, possibly images)
and communicate with http servers (see next) on about
every popular computer model for which a browser has
been made available.
provide access to the area of a host
computer where data intended for public use in a
network are stored. They understand the http protocol
and procure the information the user requests.
Structured Query Language is a language for manipulating
data in relational databases. It has a very simple
grammar and is a standard with wide industry support.
SQL-based databases have become the core of the classical
client/server database concept. There are many famous SQL
systems available, like Oracle, Informix etc., and then
there is also msql which comes with a very low or even
zero price tag if it is used in academical and educational
Common Gateway Interface is the programming interface
between the system holding the data (in our case an
SQL-based system) and the network protocol (HTML, of course).
CGIs can be built around many programming
languages, but a particularly popular language is perl.
is an extremely powerful scripting language which
combines all merits of C, various shell languages,
and stream manipulation languages like awk and sed.
Perl has a lot of modularized interfaces and can be used
to control SQL databases, for example.