In the field of computers, a database is a collection of information organized in a way that allows easy access, modification and management. Databases are used by organizations to store, retrieve, and manage information. With the development of databases around the middle of the last century, a new way of facilitating database management has been devised through special software called Database Management Systems (DBMS).
Database Management Systems
Database management systems (DMS) are computer software that specializes in the creation and management of databases. They provide both user and programmer with special ways to create, retrieve, and modify data. Database management systems adopt special programming languages called Query Languages.
The database management system manages three database-related issues, namely the data itself, and the database engine, which allows access to, modification, or blocking of data, as well as database schema, all of which aim to ensure the security of Data, reliability, and access by more than one user at the same time (in English: Concurrency), as well as providing appropriate tools for engineers and technicians to manage the database to the fullest.
Some of the tools provided by the database management system to technicians and engineers to enable them to monitor the status and performance of the database, in addition to the creation of backup data and the ability to retrieve them, and some database management systems provide automated techniques to perform certain operations on databases such as reboot the system, Examples of some database management systems are: Oracle Database, MS-Access, and MS-Access (b). For English: MySQL), and non-relational databases (in English: NoSQL), and Bostjerascal (in English: PostgreSQL), and Microsoft SQL Server (English: Microsoft SQL Server).
Benefits Of Use
The use of database management systems to organize and manage databases has several benefits, including:
- Data Security.
- Techniques to enable multiple users to access data at the same time, as well as prioritize them by locking the rule to some users (Locking mechanisms).
- The ability to restore the system very quickly in the event of a malfunction or failure.
- Activity logging.
- The ability to manipulate and access data simply through APIs.
Query languages are programming languages that are used to retrieve data from databases and information systems by sending query statements that are very similar to English. Queries can be sent to search for Specific data and retrieval from databases.
Query languages can be used to create, modify, or retrieve data from database management systems. Structured Query language or SQL is an example of query languages. To retrieve all customer data in a company from a table called (customers) in the database, the following sentence (SELECT * FROM customers) is sent to the database management system.
Types Of Databases
There are several types of databases classified according to the way in which data is organized, including the following:
- Relational database: Invented in 1970, the data is stored in tables containing at least one column which expresses the data class, as well as rows, inputs that include certain data that are the same number of available columns (s). For example, if the table has three columns, name, age, and length, the entry “Name: Mohammed, Age: 20, Length: 170” can be added to this table. SQL is typically used in such databases to manipulate data in them.
- Distributed database: Databases in this type are distributed in more than one place, or more than one computer, so that the operations performed on the data is scattered or duplicated in different places of the same network, and can be such type of databases The data is homogeneous, so that distributed devices that contain the database are identical to each other in specifications (hardware, operating system, etc.), or heterogeneous (in English: Heterogeneous).
- Cloud database: This type of database is intended for use in cloud environments, and can be scalable as desired, in addition to keeping the database continuously accessible.
- NoSQL: This type of database is intended to deal with a large amount of data that relational databases are not configured to handle. Arrange them according to a specific structure, or those that are distributed across multiple virtual servers.