Database Advantages
As could be predicted, databases were intended to overcome
the problems with the traditional file system, as well as providing additional
advantages:
| Multiple Applications. Databases are set-up for general
applications, not just for one single application. In other words, there is
data independence (the applications are not completely dependent upon
how the data is laid-out in the data file). This was promoted because there
is -- |
| Consolidation of data. Data is stored in a central repository, not
scattered around in multiple files. Having the data centralized means that
there increased control over the data. This meant that there was also -- |
| Minimum Duplication. As we will see, some duplication is necessary.
But there is far less duplication than we saw in the traditional file
approach. Of course, since there were fewer people entering in data, that
meant there were -- |
| Reduced Errors. As you know from your systems analysis courses, one
of the objectives of an information system is to reduce human involvement,
since humans do tend to make a variety of errors that computers do not. To
further promote reduced errors, database designers could develop -- |
| Controls and Checks on the data. The primary intent of a database
is to maintain data integrity (e.g., to assure that some data can only
contain certain values, to make sure that there are no duplicate records, and
so forth). These checks and controls could have also have been established
using the traditional file system, but they require a lot of time and effort
to establish, and programmers didn't have the time to devote, given that they
were constantly building new systems for different applications. There was
also the problem of -- |
| Enforcement of Data Standards. Databases generally have Data Base
Administrators (DBAs) , whose job it is to determine how much space is
required, how the data should be physically stored, and what basic standards
should be applied. Another one of their jobs is to maintain -- |
| Database Security. In the early days, especially when it came to
PCs, databases were used by a single user at any given time. Now, databases
tend to be multi-user databases, and so security is a vital concern. In
addition to benefiting DBAs, databases are a benefit to programmers because
they allow for -- |
| Easier Maintenance. As we saw earlier, because data was stored in
multiple files, each time a change was needed (New records added, existing
records modified, old records deleted), it had to be done to each of the
files. Since data is now consolidated, changes need to be made only to the one
database. In addition to benefiting Programmers, databases are als0 a benefit
to users because they allow for -- |
| Faster Application Development. Because users (and programmers)
don't really need to know the exact physical structure of the database, they
can (relatively) quickly develop their own applications. The available of
'User-Friendly' interfaces, such as form generators and reporting facilities,
further aids in ease of use. Because users are also now aware that databases
do exist, and generally know how to access the database, there is also -- |
| Sharing of Information. One of the big problems with the
traditional file system was that no one really knew who had what data. Most
users have become aware of the fact that databases do exist and that they have
access (in some degree or another). Of
course, one of the major advantages of databases is an -- |
| Overall Cost Savings. Databases are not cheap, but they are a much
preferred alternative. |
???
So Databases have no disadvantages ???
Of course there are disadvantages. Life is a
trade-off. Some of the disadvantages include:
|
Increased Program Complexity. As we
noted in the previous section, whenever a 'generalized' package is written, it
must take care to include all the procedures needed by all the different
applications. This means that the database program will, by definition, get
complex. Additionally, because we expect users to be able to interface directly
with the database, we must build in a number of procedures to make the database
'User-Friendly'. Of course, this means that there will be --
|
|
Increased Code Storage. This is NOT a
contradiction of our previous statement where we said that there would be
reduced duplication of data. This has to do with the amount of storage (and RAM
required) to keep the database program itself. Because the database code does so
much work, that means there will be ---
|
|
Slower Execution. Given all of the
checking that the database program must do, this is only to be expected. Slower
execution, of course means --
|
|
Decreased Efficiency. This is only
partly true. Because programmers can devote more of there time to a single
program, rather than the 10 or so they might have had to develop under the
traditional file processing system, we expect the database program to be more
efficient. However, don't forget about all of the complexity involved in
building the system. Finally, in line with every thing we have said, in order to
manage the database system ---
|
|
A Database Administrator is Required.
Due to the complexity of the program, and the goals of enforcing data
standards, providing controls and checks on the data, and maintaining database security
(as well as others), a trained specialist is needed. Still a small price to pay
given all of the advantages.
|
???
Where are databases used ???
That's the next topic.
This page was last updated on
02/26/04.
|