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,
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:
· SQL Server
· IBM DB2
· 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