|
What is a database, anyway?
According to my non-technical desk dictionary, a database is
"a collection of data organized especially for rapid search and retrieval (as by a
computer)." PC Webopaedia gives a similar definition, describing a database as a "collection of
information organized in such a way that a computer program can quickly select
desired pieces of data." In fact, what we informally call a database actually consists of three parts: a database (which is the data itself), a database server, and a Database Management System (DBMS).
The database itself is the information that you've stored, or the data. Take our Anchor Web Index as an example. The Index is an annotated collection of sites about web development topics. All the information that makes up the Index -- including the annotations, category associations, and URLs -- is stored in a database. By itself, this collection of data is pretty useless. We need a database server and a DBMS to make use of it.
A database server is software that controls access to the information in the
database. When you "pass" a command to the database server, the server interprets
the command. It selects or modifies information in the database, depending on
what you asked it to do. The database server we use for Anchor is MySQL.
A Database Management System (DBMS) is the entire set of programs
that let you deal with the data in your database. The DBMS includes the database
server. It may also include other programs -- CGIs, server-side scripts (ASP, PHP, Javascript, and so on), or other ways in which you pass commands to the server.
For the Anchor Web Index, our DBMS consists of the following:
- some PHP programs
- the HTML pages which access those programs
- the MySQL server
- the information in the database itself
Visitor use a web browser to communicate with
a web server (in our case, an Apache server) to get information from a database. The web server communicates with the database server (in our case, a MySQL server) and the database server manages
information for one or more databases. Several web servers can connect to the
same database server, and a single web server can connect to multiple database
servers.
|