Which of the following provides reliable units of work that allow correct recovery from failures and keeps a
database consistent even in cases of system failure?
A.
Database security
B.
Concurrency control
C.
Two-phase commit
D.
Database transaction
Explanation:
A database transaction comprises a unit of work performed within a database management system against a
database, and treated in a coherent and reliable way independent of other transactions. Transactions in a
database environment have two main purposes:
1.To provide reliable units of work that allow correct recovery from failures and to keep a database consistent
even in cases of system
failure, such as when execution stops and many operations in a database transaction remain uncompleted.
2.To provide isolation between multiple programs accessing a database concurrently. Answer B is incorrect.
Concurrency control in database management systems ensures that database transactions are performed
concurrently without the concurrency violating the data integrity of a database. Executed transactionsshould
follow the ACID rules. This
mechanism is required to manage multiple users accessing the same groups of resources with the least
possible overhead, either optimized for a specific task, or general purpose.
Answer A is incorrect. Database security refers to the system, processes, and procedures that protect a
database from unintended
activities, such as authenticated misuse, maliciousattacks, or inadvertent mistakes made by authorized
individuals or processes. Database
security can begin with the process of creating andpublishing appropriate security standards for the database
environment. These standards
may include specific controls for the various relevant database platforms. Answer C is incorrect. A two-phase
commit is a feature of transaction processing systems, enabling databases to be returned to the
pre-transaction state if some error condition occurs. A single transaction can update many different databases.
A two-phase commit strategy
is designed to ensure that either all the databasesare updated or none of them, so that the databasesremain
synchronized.