First, we shall take a look at classifying by the function of the database.
There are different databases that are used for different tasks and jobs. The
two categories here are analytic databases and operational databases:
Client/Server Databases:As you probably know, the Internet
is one of the most popular usages of a computer. Client/server databases
are the databases that you will use for the Internet and for the World Wide
Web. The database is left on 24 hours a day, 7 days a week. This is so that
users, or clients, can access the web sites or whatever other data is contained
in the database at any time they want. This is especially necessary if you
want to make the applications available to anybody, anywhere in the world.
There is a special type of interface that lets the clients submit certain
data requests from the database. Then, the database will handle and process
the requests!
Object-oriented Databases:You might realize that databases can
not only store text and numeric values, but that there are special databases
that can also store photos, sounds, videos, and all sorts of graphics. How
is this possible? Well, I can tell you one thing, the old hierarchical,
network, and relational databases couldn't store all of these types of data!
As a matter of fact, this is where the object-oriented database models come
in.
Object-oriented database models let
databases store and manipulate not only text, but also sounds, images, and
all sorts of media clips! They are extremely useful, but unfortunately,
they are large in size and are extremely expensive. Thus, they are only
found in large commercial or governmental organizations.
Flat-file Database Model: The flat-file data model is generally
used by the old paper-based databases. In this system, data was stored in
numerous files. However, the files were not linked, so often, data might
be repeated in more than one file. This caused everything to be quite redundant.
The original "database," flat-file databases inspired scientists
to find a way to link files so that they would not be repetitive.
Hierarchical Database Model:
The hierarchical database model took
steps to get rid of the repetitiveness of the flat-file database model,
but although it was somewhat successful, it did not completely succeed.
There is still a level of redundant data in hierarchical databases.
A hierarchical database consists of
a series of databases that are grouped together to resemble a family tree:
Each of the boxes in the diagram represents
one database. The top database in the hierarchical model is called the "parent"
database. The databases under it are called "child" databases.
One "parent" can have many "children," but a "child"
can only have one "parent." The child databases are all connected
to the parent database via links called "pointers."
To get to a child database in the hierarchical
database model, you must first go through the parent database, and then
through the levels above it. If you have Microsoft Windows, you might realize
that this is how Windows Explorer works. First, you open up a file- usually
it's "My Computer." Under "My Computer," you can then
choose from a list of drives. Pretend you clicked on the "Disk Drive
C" icon. Then, under this, you can choose from a series of folders.
After opening one folder, you can open another folder, and another, until
you reach the file that you want.
Notice in the diagram above how the
child databases on the same level are not connected. This presents a problem
in the hierarchical database model and makes searching for data extremely
difficult. Another problem is that data cannot be entered into the child
databases until that field has been added to the parent database. This method
was quite inefficient. Thus, although the hierarchical database model reduced
some repetitiveness of data, it also presented many new problems.
Network Database Model:
The network database model was designed
to help resolve some of the hierarchical database model's problems. For
one thing, it allowed for links between the child databases. This no only
reduces the chance of redundant data, but also makes searching for data
much easier!
Another improvement of the network
database model over the hierarchical model is that while in the hierarchical
model a child database can only have one parent, in the network model, a
child database can have more than one parent!
However, the network database model
still had its share of problems. For one thing, it was difficult to execute
and maintain. Only database experts could successfully use these databases.
It was difficult for the general public to use network databases for real-life
applications.
Relational Database Model:
The relational database model came
in at full swing during the 1980s. Modeled after the work of Dr. E. F. Codd
of IBM, the relational database model is extremely popular because it solved
many of the problems displayed in the hierarchical and network database
models.
The relational database model is different
from the hierarchical and network database models in that there are no "parent"
and "child" databases. Rather, all of the databases in the relational
database model are equal.
Data can be stored in any number of
separate databases. Then, these databases are connected by a "key"
field. A key field is a field (in case you don't remember, a field is the
columns in the database where the data is stored for more details) that is found in all of the databases
that are being linked together. All of the databases can be used to hold
different types of data. For example, let's pretend that we have an address
book, which is a paper-based database. If we were to use the relational
database model, then we would store all of the data in separate databases.
One database could hold a person's address; another could hold the person's
phone number, etc. However, all of the databases might have one field that
is the same, like, for example, the person's name.
This makes it easy to search for and
extract data from the databases. It is also very efficient and easy to use.
No wonder why this database model is so popular!