Advantages and Disadvantages of DBMSs
The database management system has promising potential advantages. Unfortunately, there
are also disadvantages. In this section, we examine these advantages and disadvantages.
Advantages
The advantages of database management systems are listed in Table 1.2.
Control of data redundancy
As we discussed in Section 1.2, traditional file-based systems waste space by storing the
same information in more than one file. For example, in Figure 1.5, we stored similar data
for properties for rent and clients in both the Sales and Contracts Departments. In contrast,
the database approach attempts to eliminate the redundancy by integrating the files so that
multiple copies of the same data are not stored. However, the database approach does not
eliminate redundancy entirely, but controls the amount of redundancy inherent in the
database. Sometimes, it is necessary to duplicate key data items to model relationships.
At other times, it is desirable to duplicate some data items to improve performance. The
reasons for controlled duplication will become clearer as you read the next few chapters.
Data consistency
By eliminating or controlling redundancy, we reduce the risk of inconsistencies occurring.
If a data item is stored only once in the database, any update to its value has to be performed
only once and the new value is available immediately to all users. If a data item is
stored more than once and the system is aware of this, the system can ensure that all copies
of the item are kept consistent. Unfortunately, many of today’s DBMSs do not automatically
ensure this type of consistency.
More information from the same amount of data
With the integration of the operational data, it may be possible for the organization to
derive additional information from the same data. For example, in the file-based system
illustrated in Figure 1.5, the Contracts Department does not know who owns a leased
property. Similarly, the Sales Department has no knowledge of lease details. When we
integrate these files, the Contracts Department has access to owner details and the Sales
Department has access to lease details. We may now be able to derive more information
from the same amount of data.
Sharing of data
Typically, files are owned by the people or departments that use them. On the other hand,
the database belongs to the entire organization and can be shared by all authorized users.
In this way, more users share more of the data. Furthermore, new applications can build
on the existing data in the database and add only data that is not currently stored, rather
than having to define all data requirements again. The new applications can also rely on
the functions provided by the DBMS, such as data definition and manipulation, and concurrency
and recovery control, rather than having to provide these functions themselves.
Improved data integrity
Database integrity refers to the validity and consistency of stored data. Integrity is usually
expressed in terms of constraints, which are consistency rules that the database is not permitted
to violate. Constraints may apply to data items within a single record or they may
apply to relationships between records. For example, an integrity constraint could state
that a member of staff’s salary cannot be greater than £40,000 or that the branch number
contained in a staff record, representing the branch where the member of staff works, must
correspond to an existing branch office. Again, integration allows the DBA to define, and
the DBMS to enforce, integrity constraints.
Improved security
Database security is the protection of the database from unauthorized users. Without
suitable security measures, integration makes the data more vulnerable than file-based systems.
However, integration allows the DBA to define, and the DBMS to enforce, database
security. This may take the form of user names and passwords to identify people authorized
to use the database. The access that an authorized user is allowed on the data may
be restricted by the operation type (retrieval, insert, update, delete). For example, the DBA
has access to all the data in the database; a branch manager may have access to all data
that relates to his or her branch office; and a sales assistant may have access to all data
relating to properties but no access to sensitive data such as staff salary details.
Enforcement of standards
Again, integration allows the DBA to define and enforce the necessary standards. These
may include departmental, organizational, national, or international standards for such
things as data formats to facilitate exchange of data between systems, naming conventions,
documentation standards, update procedures, and access rules.
Economy of scale
Combining all the organization’s operational data into one database, and creating a set of
applications that work on this one source of data, can result in cost savings. In this case,
the budget that would normally be allocated to each department for the development and
maintenance of its file-based system can be combined, possibly resulting in a lower total
cost, leading to an economy of scale. The combined budget can be used to buy a system
configuration that is more suited to the organization’s needs. This may consist of one large,
powerful computer or a network of smaller computers.
Balance of conflicting requirements
Each user or department has needs that may be in conflict with the needs of other users.
Since the database is under the control of the DBA, the DBA can make decisions about the
design and operational use of the database that provide the best use of resources for the
organization as a whole. These decisions will provide optimal performance for important
applications, possibly at the expense of less critical ones.
Improved data accessibility and responsiveness
Again, as a result of integration, data that crosses departmental boundaries is directly
accessible to the end-users. This provides a system with potentially much more functionality
that can, for example, be used to provide better services to the end-user or the organization’s
clients. Many DBMSs provide query languages or report writers that allow users
to ask ad hoc questions and to obtain the required information almost immediately at their
terminal, without requiring a programmer to write some software to extract this information
from the database. For example, a branch manager could list all flats with a monthly
rent greater than £400 by entering the following SQL command at a terminal:
SELECT*
FROM PropertyForRent
WHERE type = ‘Flat’ AND rent > 400;
Increased productivity
As mentioned previously, the DBMS provides many of the standard functions that the
programmer would normally have to write in a file-based application. At a basic level, the
DBMS provides all the low-level file-handling routines that are typical in application
programs. The provision of these functions allows the programmer to concentrate on the
specific functionality required by the users without having to worry about low-level implementation
details. Many DBMSs also provide a fourth-generation environment consisting
of tools to simplify the development of database applications. This results in increased
programmer productivity and reduced development time (with associated cost savings).
Improved maintenance through data independence
In file-based systems, the descriptions of the data and the logic for accessing the data
are built into each application program, making the programs dependent on the data. A
change to the structure of the data, for example making an address 41 characters instead
of 40 characters, or a change to the way the data is stored on disk, can require substantial
alterations to the programs that are affected by the change. In contrast, a DBMS separates
the data descriptions from the applications, thereby making applications immune to
changes in the data descriptions. This is known as data independence and is discussed
further in Section 2.1.5. The provision of data independence simplifies database application
maintenance.
Increased concurrency
In some file-based systems, if two or more users are allowed to access the same file
simultaneously, it is possible that the accesses will interfere with each other, resulting
in loss of information or even loss of integrity. Many DBMSs manage concurrent database
access and Improved backup and recovery services
Many file-based systems place the responsibility on the user to provide measures to protect
the data from failures to the computer system or application program. This may
involve taking a nightly backup of the data. In the event of a failure during the next day,
the backup is restored and the work that has taken place since this backup is lost and has
to be re-entered. In contrast, modern DBMSs provide facilities to minimize the amount of
processing that is lost following a failure. We discuss database recovery in Section 20.3.
The database management system has promising potential advantages. Unfortunately, there
are also disadvantages. In this section, we examine these advantages and disadvantages.
Advantages
The advantages of database management systems are listed in Table 1.2.
Control of data redundancy
As we discussed in Section 1.2, traditional file-based systems waste space by storing the
same information in more than one file. For example, in Figure 1.5, we stored similar data
for properties for rent and clients in both the Sales and Contracts Departments. In contrast,
the database approach attempts to eliminate the redundancy by integrating the files so that
multiple copies of the same data are not stored. However, the database approach does not
eliminate redundancy entirely, but controls the amount of redundancy inherent in the
database. Sometimes, it is necessary to duplicate key data items to model relationships.
At other times, it is desirable to duplicate some data items to improve performance. The
reasons for controlled duplication will become clearer as you read the next few chapters.
Data consistency
By eliminating or controlling redundancy, we reduce the risk of inconsistencies occurring.
If a data item is stored only once in the database, any update to its value has to be performed
only once and the new value is available immediately to all users. If a data item is
stored more than once and the system is aware of this, the system can ensure that all copies
of the item are kept consistent. Unfortunately, many of today’s DBMSs do not automatically
ensure this type of consistency.
More information from the same amount of data
With the integration of the operational data, it may be possible for the organization to
derive additional information from the same data. For example, in the file-based system
illustrated in Figure 1.5, the Contracts Department does not know who owns a leased
property. Similarly, the Sales Department has no knowledge of lease details. When we
integrate these files, the Contracts Department has access to owner details and the Sales
Department has access to lease details. We may now be able to derive more information
from the same amount of data.
Sharing of data
Typically, files are owned by the people or departments that use them. On the other hand,
the database belongs to the entire organization and can be shared by all authorized users.
In this way, more users share more of the data. Furthermore, new applications can build
on the existing data in the database and add only data that is not currently stored, rather
than having to define all data requirements again. The new applications can also rely on
the functions provided by the DBMS, such as data definition and manipulation, and concurrency
and recovery control, rather than having to provide these functions themselves.
Improved data integrity
Database integrity refers to the validity and consistency of stored data. Integrity is usually
expressed in terms of constraints, which are consistency rules that the database is not permitted
to violate. Constraints may apply to data items within a single record or they may
apply to relationships between records. For example, an integrity constraint could state
that a member of staff’s salary cannot be greater than £40,000 or that the branch number
contained in a staff record, representing the branch where the member of staff works, must
correspond to an existing branch office. Again, integration allows the DBA to define, and
the DBMS to enforce, integrity constraints.
Improved security
Database security is the protection of the database from unauthorized users. Without
suitable security measures, integration makes the data more vulnerable than file-based systems.
However, integration allows the DBA to define, and the DBMS to enforce, database
security. This may take the form of user names and passwords to identify people authorized
to use the database. The access that an authorized user is allowed on the data may
be restricted by the operation type (retrieval, insert, update, delete). For example, the DBA
has access to all the data in the database; a branch manager may have access to all data
that relates to his or her branch office; and a sales assistant may have access to all data
relating to properties but no access to sensitive data such as staff salary details.
Enforcement of standards
Again, integration allows the DBA to define and enforce the necessary standards. These
may include departmental, organizational, national, or international standards for such
things as data formats to facilitate exchange of data between systems, naming conventions,
documentation standards, update procedures, and access rules.
Economy of scale
Combining all the organization’s operational data into one database, and creating a set of
applications that work on this one source of data, can result in cost savings. In this case,
the budget that would normally be allocated to each department for the development and
maintenance of its file-based system can be combined, possibly resulting in a lower total
cost, leading to an economy of scale. The combined budget can be used to buy a system
configuration that is more suited to the organization’s needs. This may consist of one large,
powerful computer or a network of smaller computers.
Balance of conflicting requirements
Each user or department has needs that may be in conflict with the needs of other users.
Since the database is under the control of the DBA, the DBA can make decisions about the
design and operational use of the database that provide the best use of resources for the
organization as a whole. These decisions will provide optimal performance for important
applications, possibly at the expense of less critical ones.
Improved data accessibility and responsiveness
Again, as a result of integration, data that crosses departmental boundaries is directly
accessible to the end-users. This provides a system with potentially much more functionality
that can, for example, be used to provide better services to the end-user or the organization’s
clients. Many DBMSs provide query languages or report writers that allow users
to ask ad hoc questions and to obtain the required information almost immediately at their
terminal, without requiring a programmer to write some software to extract this information
from the database. For example, a branch manager could list all flats with a monthly
rent greater than £400 by entering the following SQL command at a terminal:
SELECT*
FROM PropertyForRent
WHERE type = ‘Flat’ AND rent > 400;
Increased productivity
As mentioned previously, the DBMS provides many of the standard functions that the
programmer would normally have to write in a file-based application. At a basic level, the
DBMS provides all the low-level file-handling routines that are typical in application
programs. The provision of these functions allows the programmer to concentrate on the
specific functionality required by the users without having to worry about low-level implementation
details. Many DBMSs also provide a fourth-generation environment consisting
of tools to simplify the development of database applications. This results in increased
programmer productivity and reduced development time (with associated cost savings).
Improved maintenance through data independence
In file-based systems, the descriptions of the data and the logic for accessing the data
are built into each application program, making the programs dependent on the data. A
change to the structure of the data, for example making an address 41 characters instead
of 40 characters, or a change to the way the data is stored on disk, can require substantial
alterations to the programs that are affected by the change. In contrast, a DBMS separates
the data descriptions from the applications, thereby making applications immune to
changes in the data descriptions. This is known as data independence and is discussed
further in Section 2.1.5. The provision of data independence simplifies database application
maintenance.
Increased concurrency
In some file-based systems, if two or more users are allowed to access the same file
simultaneously, it is possible that the accesses will interfere with each other, resulting
in loss of information or even loss of integrity. Many DBMSs manage concurrent database
access and Improved backup and recovery services
Many file-based systems place the responsibility on the user to provide measures to protect
the data from failures to the computer system or application program. This may
involve taking a nightly backup of the data. In the event of a failure during the next day,
the backup is restored and the work that has taken place since this backup is lost and has
to be re-entered. In contrast, modern DBMSs provide facilities to minimize the amount of
processing that is lost following a failure. We discuss database recovery in Section 20.3.
Reviewed by Shopping Sale
on
21:32
Rating:
No comments: