Databases and Database Systems

0 Comment

A database management system is a collection of programs that enables the user to create and maintain a database. In the Database Management System (DBMS), sharing a database allows multiple users and programs to access the database concurrently. Other important functions provided by the DBMS include protecting the database and maintaining it over a long period of time. Protection includes both system protections against hardware or software malfunction (or Crashes) and security protection against unauthorized or malicious access. A database typically has many uses, each of which may require a different perspective or view of the database. A multi-user DBMS, as its name implies, must allow multiple users to access the database at some time. This is essential if data for multiple applications to be integrated and maintained in a single database. The DBMS must include concurrency control software to ensure that several users trying to update the same data do so in a controlled manner so that the result of updates is correct. These types of applications are generally called online transaction processing applications. A fundamental role of multi-users DBMS software is to ensure that concurrent transactions operate correctly. The concept of a transaction has become central to many database applications. A transaction is an executing program or process that includes one or more database accesses, such as reading or updating database records. Each transaction is supposed to execute logically correct database access is executed in its entirety without interference from other transaction. The DBMS must enforce several transaction properties. The isolation property ensures that each transaction appears to execute in isolation from other transactions, even though a hundred of the transaction may be executing concurrently. When multiple users share a large database, it is likely that most users with not be authorized to access all the information in the database. In addition, some users may be permitted only to retrieve data whereas others are allowed both to retrieve and update. Hence, the type of access operation must also be controlled. A DBMS should provide a security and authorization subsystem. As we know, multiple users can access databases and use computer systems simultaneously because of the concept of multiprogramming. In this concurrent process, execution of processes is actually interleaved and most of the theory concerning concurrency control in a database is developed in terms of interleaved concurrency. In a multi-users DBMS, the stored data items are the primary resources that may be accessed concurrently by interactive users or application programs, which are constantly retrieving information and modifying the database. In this process, concurrency control is very much needed to avoid a certain type of problems. Concurrency control and recovery mechanisms are mainly concerned with the database access commands in a transaction. Transaction submitted by the various users may execute concurrently and may access and update the same database items. If this concurrent execution is uncontrolled it may lead to problems such as an inconsistent database, the lost update problem, and temporary update problem. Transaction failure may occur due to integer overflow or division by zero or erroneous parametervalues or logical programming errors.