CIS4365: Database Applications
Fall, 2017

Database Advantages

As could be predicted, databases were intended to overcome the problems with the traditional file system, as well as providing additional advantages:

bulletMultiple 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 --
bulletConsolidation 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 --
bulletMinimum 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 --
bulletReduced 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 --
bulletControls 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 --
bulletEnforcement 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 --
bulletDatabase 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 --
bulletEasier 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 --
bulletFaster 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 --
bulletSharing 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 --
bulletOverall 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:

bullet

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 --

bullet

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 ---

bullet

Slower Execution. Given all of the checking that the database program must do, this is only to be expected. Slower execution, of course means --

bullet

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 ---

bullet

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.