STRUCTURE OF DBMS

Saturday, February 23, 2008 by Ankit Goyal

STRUCTURE OF DBMS

DBMS (Database Management System) acts as an interface between the user and the database. The user requests the DBMS to perform various operations (insert, delete, update and retrieval) on the database. The components of DBMS perform these requested operations on the database and provide necessary data to the users. The various components of DBMS are shown below: -

Fig. 2.1 Structure Of DBMS

1. DDL Compiler - Data Description Language compiler processes schema definitions specified in the DDL. It includes metadata information such as the name of the files, data items, storage details of each file, mapping information and constraints etc.

2. DML Compiler and Query optimizer - The DML commands such as insert, update, delete, retrieve from the application program are sent to the DML compiler for compilation into object code for database access. The object code is then optimized in the best way to execute a query by the query optimizer and then send to the data manager.

3. Data Manager - The Data Manager is the central software component of the DBMS also knows as Database Control System.

The Main Functions Of Data Manager Are: –

• Convert operations in user's Queries coming from the application programs or combination of DML Compiler and Query optimizer which is known as Query Processor from user's logical view to physical file system.

• Controls DBMS information access that is stored on disk.

• It also controls handling buffers in main memory.

• It also enforces constraints to maintain consistency and integrity of the data.

• It also synchronizes the simultaneous operations performed by the concurrent users.

• It also controls the backup and recovery operations.

4. Data Dictionary - Data Dictionary is a repository of description of data in the database. It contains information about

• Data - names of the tables, names of attributes of each table, length of attributes, and number of rows in each table.

• Relationships between database transactions and data items referenced by them which is useful in determining which transactions are affected when certain data definitions are changed.

• Constraints on data i.e. range of values permitted.

• Detailed information on physical database design such as storage structure, access paths, files and record sizes.

• Access Authorization - is the Description of database users their responsibilities and their access rights.

• Usage statistics such as frequency of query and transactions.

Data dictionary is used to actually control the data integrity, database operation and accuracy. It may be used as a important part of the DBMS.

Importance of Data Dictionary -

Data Dictionary is necessary in the databases due to following reasons:

• It improves the control of DBA over the information system and user's understanding of use of the system.

• It helps in documentating the database design process by storing documentation of the result of every design phase and design decisions.

• It helps in searching the views on the database definitions of those views.

• It provides great assistance in producing a report of which data elements (i.e. data values) are used in all the programs.

• It promotes data independence i.e. by addition or modifications of structures in the database application program are not effected.

5. Data Files - It contains the data portion of the database.

6. Compiled DML - The DML complier converts the high level Queries into low level file access commands known as compiled DML.

7. End Users - They are already discussed in previous section.

REQUIREMENTS FOR A DBMS

Friday, February 15, 2008 by Ankit Goyal

REQUIREMENTS FOR A DBMS

The various softwares which handle the data in a database i.e. DBMS (like Oracle, FoxPro, SQL Server etc.) should meet the following requirements: -

1. Provide data definition facilities.

• Define Data Definition Language (DDL)

• Provide user accessible catalog (Data Dictionary)

2. Provide facilities for storing, retrieving and updating data.

• Define Data Manipulation Language (DML)

3. Support Multiple View of Data

• End User or application should see only the need data and information required.

4. Provides facilities for specifying Integrity constraints.

• Primary Key Constraints

• Foreign Key Constraints

• More General Constraints

5. Provide facilities for controlling access to data.

• Prevent unauthorized access and update.

6. Allow simultaneous access and update by multiple users.

• Provide concurrency control mechanism.

7. Support Transactions.

• A sequence of operations to be performed as a whole.

• All operations are performed or none.

8. Provide facilities for database recovery.

• Bring database back to consistent state after a failure such as disk failure, faulty program etc.

9. Provide facilities for database maintenance.

• Maintenance operations: unload, reload, mass Insertion and deletion, validation etc.