Database Management
A Database is a collection of related data
organized in a way that data can be easily accessed, managed and updated.
Database can be software based or hardware based, with one sole purpose,
storing data.
During early computer days, data was collected and stored on
tapes, which were mostly write-only, which means once data is stored on it, it
can never be read again. They were slow and bulky, and soon computer scientists
realized that they needed a better solution to this problem.
Larry Ellison, the co-founder of Oracle was
amongst the first few, who realized the need for a software based Database
Management System.
A database is an
organized collection of data, stored and accessed electronically. A database-management system (DBMS)
is a computer-software application that interacts with users, other applications, and the database itself to capture and evaluate data.
DBMS allows creation, querying, update, and administration of databases.
A DBMS is a software that allows creation,
definition and manipulation of database, allowing users to store, process and
determine data easily. DBMS provides us with an interface or a tool, to perform
various operations like creating database, storing data in it, updating data,
creating tables in the database and a lot of more. DBMS also provides
protection and security to the databases. It also maintains data consistency in
case of multiple users.
Here are some examples of popular DBMS used these days:
·
MySql
·
Oracle
·
SQL Server
·
IBM DB2
·
PostgreSQL
·
Amazon SimpleDB (cloud based) etc.
Characteristics of Database
Management System
A database management system has following characteristics:
1.
Data stored into Tables: Data
is never directly stored into the database. Data is stored into tables, created
inside the database. DBMS also allows to have relationships between tables
which makes the data more meaningful and connected. You can easily understand
what type of data is stored where by looking at all the tables created in a
database.
2.
Reduced Redundancy: In
the modern world hard drives are very cheap, but earlier when hard drives were
too expensive, unnecessary repetition of data in database was a big problem.
But DBMS follows Normalization which divides the data in such
a way that repetition is minimum.
3.
Data Consistency: On
Live data, i.e. data that is being continuously updated and added, maintaining
the consistency of data can become a challenge. But DBMS handles it all by
itself.
4.
Support Multiple user and Concurrent Access: DBMS
allows multiple users to work on it(update, insert, delete data) at the same
time and still manages to maintain the data consistency.
5.
Query Language: DBMS
provides users with a simple Query language, using which data can be easily
fetched, inserted, deleted and updated in a database.
6.
Security: The DBMS also takes
care of the security of data, protecting the data from un-authorized access. In
a typical DBMS, we can create user accounts with different access permissions,
using which we can easily secure our data by restricting user access.
7.
DBMS supports transactions, which allows us to better
handle and manage data integrity in real world applications where
multi-threading is extensively used.
Computer scientists may categories
database-management systems according to the database models that they support. Relational databases became dominant in the 1980s. These
model data as rows and columns in a series of tables, and the ample majority use SQL for writing and querying data.
DBMSs provide various functions that allow
management of a database and its data which can be divided into four main
functional groups:
·
Data Definition – Creation, modification and removal
of definitions that define the organization of the data.
·
Update – Insertion, modification, and
deletion of the actual data.
·
Retrieval – Providing information in a form
directly usable or for further processing by other applications. The retrieved
data may be made available in a form basically the same as it is stored in the
database or in a new form obtained by altering or combining existing data from
the database.
· Administration – Registering and
monitoring users, enforcing data security, monitoring performance, maintaining
data integrity, dealing with concurrency control, and recovering information
that has been corrupted by some event such as an unexpected system failure.
The DBMS
manages three important things : the data, the database engine that allows data to be accessed,
locked and modified -- and the database schema, which defines the database’s logical structure. These three foundational
elements help provide concurrency, security, data integrity and uniform administration procedures. Typical
database administration tasks supported by the DBMS include change management, performance monitoring/tuning and backup and recovery. Many database management systems are also responsible
for automated rollbacks, restarts and recovery as well as the logging and auditing of activity.
A
DBMS can also provide many views of a single database schema. A view defines
what data the user sees and how that user sees the data. The DBMS provides a
level of abstraction between the conceptual schema that defines the logical
structure of the database and the physical schema that describes the files,
indexes and other physical mechanisms used by the database. When a DBMS is used,
systems can be modified much more easily when business requirements change. New
categories of data can be added to the database without disrupting the existing
system and applications can be insulated from how data is structured and
stored.
Advantages of a
DBMS
Using a DBMS to store and manage data
comes with advantages, but also overhead. One of the biggest advantages of
using a DBMS is that it lets end users and application programmers access and
use the same data while managing data integrity. Data is better protected and
maintained when it can be shared using a DBMS instead of creating new
iterations of the same data stored in new files for every new application. The
DBMS provides a central store of data that can be accessed by multiple users in
a controlled manner.
Central storage and
management of data within the DBMS provides:
·
Data
abstraction and independence
·
Data
security
·
A
locking mechanism for concurrent access
·
An
efficient handler to balance the needs of multiple applications using the same
data
·
The
ability to swiftly recover from crashes and errors, including restartability
and recoverability
·
Robust
data integrity capabilities
·
Logging
and auditing of activity
·
Simple
access using a standard application programming interface (API)
· Uniform administration procedures for data