4.6.3 Databases and the database approach Reading activity Read Chapter 6 of Laudon and Laudon (2013) and Chapter 8 of Curtis and Cobham
(2008).
In a traditional file-based approach as mentioned above, each application
has its own separate files to store relevant data. This may make it easier
to develop each individual application, but it may cause longer term
problems. It is likely that data will need to be shared between applications,
and storing it many times will be wasteful and will lead to inconsistencies.
It has therefore become standard in business to approach data storage
using a database approach rather than a file-based approach.
The principles behind this are to store data in an integrated and
coordinated manner, so that many users or application programs can share
it. Items of data should be stored only once. This will allow improved
control of information, avoid inconsistencies and allow security to be
carefully managed. On the negative side, a database approach requires
careful design, and if done poorly, may allow data errors to propagate
among every application that uses the database. If your bank stores your
email address just once, and all applications use that single record when
they want to contact you, but it is not entered correctly or is corrupted,
then you will get no email from the bank.
When designing a database the data to store has to be carefully assessed
and the way it is stored carefully designed to take into account the needs
of all the various users and the various requirements they may have.
Such design is also important to ensure that as data is updated (added to,
deleted, changed, etc.), the overall database still remains consistent.
As a simple example of this kind of problem of updating, one which we
will return to in Chapter 8 of the subject guide, if a company deletes a
customer firm from their database (for example, because the customer has
gone out of business), they should probably also delete all the outstanding
orders from this customer. But should they delete all the orders that have
been supplied in the past, or all the payments that have been made?
Probably not if they want the accounts to add up at the end of the year,
and the stock records to be accurate.
The database approach is supported by using software called a database
management system (DBMS). This software takes care of the details of
storage of data, and provides the user or the application programs with a
simple interface through which they can request items of data and return
them for storage. Such interfaces are provided for programs to use as they
run and for individual users who wish to extract some information directly
from a database on an ad hoc basis – a query language – one example of
which is SQL (Structured Query Language). Database software can also be
slower and less efficient than file-based processing if absolute speed is of
the essence (which it usually is not these days).
Various models have been used to structure data in databases, including
the network model, hierarchical model and object model. For this