Page - 1 Database Management System DBMS Database is a collection of logically related data . It is not a random collection. It is designed and populated for specific purpose. DBMS It is a collection of programs which enable users to create and maintain database. It is a general purpose software which – Define database Construct database Manipulate database Thus Database and DBMS software together is a Database System. Evolution of DBMS Using File processing system to keep organizational information has many disadvantages – 1. Data Redundancy & Inconsistency 2. Difficulty in accessing the data 3. Data Isolation 4. Integrity Problems 5. Atomicity Problems 6. Security Problems 7. concurrent Access anomalies
Page - 2 Database system Database Languages Data definition Language (DDL) – To specify database Scheme Data Control Language (ANSII includes DCL in DDL) Data Manipulation Language (DML) – To give query & updates Database Users 1. Naïve Users – Data Entry Operators use Form Interface 2. Application Programmers – Write Queries embedded in an application program 3. Sophisticated Users – No Programs – only queries 4. DBA Database Administrator – i) Scheme Definition ii) Storage Structure & access methods iii) Granting & Revoking access rights / authorization iv) Routine maintenance – like backup, crating free space, monitoring running jobs, check performance of system v) Specifying integrity constraints Users/ Programmers Database System Application Prog. / Queries DBMS Software Software to process queries / Programs Software to access Stored data Query Processor Storage Manager Stored Database Definition ( Meta-data) Stored Database
Page - 3 Database System Architecture In most of the cases O.S. provides basic services & database system must build on that base. Thus design of database system should consider the interface with Database system & O.S. Database system is partitioned into modules that deal with responsibilities of overall system. The functional component of database system can be broadly divided into : 1 ) Query Processor 2) Storage Manager 1) Query Processor Embedded DML Compiler – This has embedded DML Precompiler which converts DML statement embedded in application program to normal Procedure calls in host language. This must interact with DML compiler to generate appropriate code. DML Compiler – Translates DML statement in query language into low-level instructions that query evaluation engine can understand. A query usually can be translated into any no. of alternative evaluation plan ( i.e. low level instructions) which give same result. DML compiler also makes query optimization i.e. it picks lowest cost evaluation plan from the suitable alternatives DDL Interpreter – Interprets DDL statements, records the definitions in Data Dictionary Query Evaluation engine - Executes low level instructions generated by DDL compiler 2) Storage Manager It’s components include 1) Authorization & Integrity Manager- checks for integrity constraints & authority of the user to access data 2) Transaction Manager – Ensures that database is consistent despite system failures.
- Summer '12