Exercise 1.1 Why would you choose a database system instead of simply storing data in operating system files? When would it make sense not to use a database system?

SAMPLE SOLUTION

JavaScript Not Detected

JavaScript is required to view textbook solutions.

Step 1 of 1

Answer 1.1 A database is an integrated collection of data,
usually so large that it has to be stored on secondary storage
devices such as disks or tapes. This data can be maintained as a
collection of operating system files, or stored in a DBMS (database management system). The advantages
of using a DBMS are:

Data independence and efficient
access. Database application programs are independent of the
details of data representation and storage. The conceptual and
external schemas provide independence from physical storage
decisions and logical design decisions respectively. In addition, a
DBMS provides efficient storage and retrieval mechanisms, including
support for very large files, index structures and query
optimization.

Reduced application development
time. Since the DBMS provides several important functions
required by applications, such as concurrency control and crash
recovery, high level query facilities, etc., only
application-specific code needs to be written. Even this is
facilitated by suites of application development tools available
from vendors for many database management systems.

Data integrity and security. The
view mechanism and the authorization facilities of a DBMS provide a
powerful access control mechanism. Further, updates to the data
that violate the semantics of the data can be detected and rejected
by the DBMS if users specify the appropriate integrity constraints.

Data administration. By providing a
common umbrella for a large collection of data that is shared by
several users, a DBMS facilitates maintenance and data
administration tasks. A good DBA can effectively shield end-users
from the chores of fine-tuning the data representation, periodic
back-ups etc.

Concurrent access and crash
recovery. A DBMS supports the notion of a transaction, which is conceptually a single user’s
sequential program. Users can write transactions as if their
programs were running in isolation against the database. The DBMS
executes the actions of transactions in an interleaved fashion to
obtain good performance, but schedules them in such a way as to
ensure that conflicting operations are not permitted to proceed
concurrently. Further, the DBMS maintains a continuous log of the
changes to the data, and if there is a system crash, it can restore
the database to a transaction-consistent state. That is, the actions
of incomplete transactions are undone, so that the database state
reflects only the actions of completed transactions. Thus, if each
complete transaction, executing alone, maintains the consistency
criteria, then the database state after recovery from a crash is
consistent.

If these advantages are not important for the application at
hand, using a collection of files may be a better solution because
of the increased cost and overhead of purchasing and maintaining a
DBMS.