Monday 7 November 2016

Database Management Systems (DBMS)

database management system (DBMS) consists of software that operates databases, providing storage, access, security, backup and other facilities. Database management systems can be categorized according to the database model that they support, such as relational or XML, the type(s) of computer they support, such as a server cluster or a mobile phone, the query language(s) that access the database, such as SQL or XQuery, performance trade-offs, such as maximum scale or maximum speed or others. Some DBMS cover more than one entry in these categories, e.g., supporting multiple query languages. Examples of some commonly used DBMS are MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro etc. Almost every database software comes with an Open Database Connectivity (ODBC) driver that allows the database to integrate with other databases.

Components of DBMS: Most DBMS as of 2009[update] implement a relational model. Other DBMS systems, such as Object DBMS, offer specific features for more specialized requirements. Their components are similar, but not identical.

a) RDBMS components:

  • Sublanguages— Relational DBMS (RDBMS) include Data Definition Language (DDL) for defining the structure of the database, Data Control Language (DCL) for defining security/access controls, and Data Manipulation Language (DML) for querying and updating data.
  • Interface drivers—These drivers are code libraries that provide methods to prepare statements, execute statements, fetch results, etc. Examples include ODBC, JDBC, MySQL/PHP, FireBird/Python.
  • SQL engine—This component interprets and executes the DDL, DCL, and DML statements. It includes three major components (compiler, optimizer, and executor).
  • Transaction engine—Ensures that multiple SQL statements either succeed or fail as a group, according to application dictates.
  • Relational engine—Relational objects such as Table, Index, and Referential integrity constraints are implemented in this component.
  • Storage engine—This component stores and retrieves data from secondary storage, as well as managing transaction commit and rollback, backup and recovery, etc.
b) ODBMS components: Object DBMS (ODBMS) has transaction and storage components that are analogous to those in an RDBMS. Some DBMS handle DDL, DML and update tasks differently. Instead of using sublanguages, they provide APIs for these purposes. They typically include a sublanguage and accompanying engine for processing queries with interpretive statements analogous to but not the same as SQL. Example object query languages are OQL, LINQ, JDOQL, JPAQL and others. The query engine returns collections of objects instead of relational rows.

Feature of DBMS:
a) Data Dictionary: The data dictionary (or data repository) or system catalog is an important part of the DBMS. It contains data about data (or metadata). It means that it contains the actual database descriptions used by the DBMS. In most DBMS, the data dictionary is active and integrated. It means that the DBMS checks the data dictionary every time the database is accessed. The data dictionary contains the following information.

• Logical structure of database
• Schemas, mappings and constraints
• Description about application programs.
• Descriptions of record types, data item types, and data aggregates in the database.
• Description about physical database design, such as storage structures, access paths etc.
• Descriptions about users of DBMS and their access rights.

A data dictionary may be a separate part of DBMS (non-integrated data dictionary). It may be a commercial product or a simple file developed and maintained by a designer. This type of data dictionary is referred to as freestanding data dictionary. This type of data dictionary is useful in the initial stage of design for collecting and organizing information about data. For example, each data item, its source, its name, its uses, its meaning, its relationship to other items etc. is stored in data dictionary.

b) Utilities: Programs that allow you to maintain the database by creating, editing and deleting data, records and files.

c) Query Language: A language that allows a user to select records from a database. It may be in the form of typed commands such as the widely used SQL language, a predefined query menu or a query by example (QBE). Query languages are usually included in DBMSs, and stand-alone packages are available for interrogating non-DBMS files. See SQL, query by example and query program.


d) Report Generator: Report Generator It helps the user to design report in desired format. It can also instructed to do arithmetic calculations while presentation.

No comments:

Post a Comment