A Database Management System (SGBD) or DBMA (DataBase Management System) is a collection of programs whose objective is to serve as an interface between the database, the user and the applications. It consists of a data definition language, a data manipulation language, and a query language. A DBMS allows data to be defined at different levels of abstraction and to manipulate said data, guaranteeing their security and integrity.
Some examples of SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.
A DBMS must allow:
• Define a database: specify data types, structures and restrictions.
• Build the database: save the data in some medium controlled by the same DBMS
• Manipulate the database: perform queries, update it, generate reports.
The characteristics of a DBMS Database Management System are:
• Information abstraction. DBMS save users details about the physical storage of data. It doesn’t matter if a database occupies one or hundreds of files, this fact is made transparent to the user. Thus, several levels of abstraction are defined.
• Independence. Data independence is the ability to modify the schema (physical or logical) of a database without having to make changes to the applications that use it.
• Minimal redundancy: A good design of a database will avoid the appearance of repeated or redundant information. From the outset, the ideal is to achieve zero redundancy; however, in some cases the complexity of the calculations makes the appearance of redundancies necessary.
• Consistency. In those cases in which this null redundancy has not been achieved, it will be necessary to ensure that the information that appears repeated is updated consistently, that is, that all the repeated data is updated simultaneously.
• Security: The information stored in a database can have great value. The DBMS must guarantee that this information is secured against malicious users who try to read privileged information; against attacks that wish to manipulate or destroy information; or simply before the clumsiness of some authorized but clueless user. Normally, the DBMS have a complex system of permissions to users and user groups, which allow different categories of permissions to be granted.
• Integrity: It is about adopting the necessary measures to guarantee the validity of the stored data. In other words, it is about protecting the data against hardware failures, data entered by careless users, or any other circumstance capable of corrupting the stored information.
• Backup and recovery. The DBMS must provide an efficient way to make backup copies of the information stored in them, and to restore from these copies the data that may have been lost.
• Attendance control: In most environments (except perhaps the home), it is common for many people to access a database, either to retrieve information or to store it. And it is also frequent that said accesses are carried out simultaneously. Thus, a DBMS must control this concurrent access to information, which could lead to inconsistencies.