Database Management System Fundamentals:

What is a Database Management System?

This article is the property of http://www.binarysoldier.net

A DBMS is a software system which defines, creates, maintains and controls access to one or more databases.

It comprises of:

Data Definition Language (DDL) - The Data Model (column names, keys etc).

Data Manipulation Language (DML) - Data storage and retrieval (INSERT, SELECT etc).

Control Mechanisms - The transaction model, consistency maintenance, access control, backup, archiving, secondary storage management, security, distribution management in network. Basically keeping the data secure and sorted.

What is an Application Program?

An Application Program is a computer program that interacts with a database by sending requests to the DBMS, for example PHP.

What is the Filesystem?

The Filesystem is what actually holds the data. It is separate from the Schema. The Schema is just the representation of the data in the Filesystem, shown as Tables and Relations etc. It also contains the Dictionary Manager which lists things such as the tables and passwords.

What is a Schema?

A Schema collectively describes the Tables, Constraints and Relations etc which make up the database. Each user has their own or user group defined schema. It mostly represents a user's access permissions to the databases content and DBMS functionality. They may be denied permission to view certain data, or perform certain tasks. The tables and views we as the user see don't actually hold the data, that is just a user friendly view of it. It is actually held with a Filesystem, typically held within secondary storage (ie: the harddrive/data storage).

Schema Mappings:

Schema Mappings are the job of the DBMS. It falls into two areas - Conceptual/Internal and Conceptual/External. Conceptual/Internal describes which records in physical storage constitute a logical record in the Conceptual Schema. Conceptual/External maps the data the user is allowed to access within the physical storage.

Data Independence:

Data Independence describes how data is unaffected by changes within the lower level schemas.

Logical Data Independence:

External Schemas are unaffected by changes in the conceptual Schema. The user's view is no different, the changes are underneath.

Physical Data Independence:

Conceptual Schemas are unaffected by changes in the Physical Schema. A program's view is no different. So for example, if there are changes in the file structure and/or changes to the Indexes, as long as the Conceptual Schema remains the same, applications will not be affected, performance though may be.

This article is the property of http://www.binarysoldier.net

PREVIOUS | NEXT