Examples of Databases
We explain that what are some examples of databases? One of the areas of computing that has the most applications in many aspects of daily life is databases .
What is a database? How do you define yourself?
The definition of databases is ” that set of data stored and structured according to their characteristics or typology to be used or consulted later “.
Until relatively few years ago, databases were analog, that is, they contained information on paper or printed texts. However, with the arrival of the digital age and Big Data, the use of computerized databases has become essential .
Thanks to databases in digital format, many of the problems that arose as a result of the huge amount of information currently being handled have been solved. For example, they save space, speed up queries, and much more information can be stored.
Programs that have made this possible are called database management systems (DBMS) or, in English, Database Management System (DBMS). This type of program greatly facilitates data storage and subsequent consultation of the same. At first they were used mainly by large companies or public administrations, but nowadays they are also used by all kinds of users or companies (for example, to create a user registry for a website).
Queries are used to obtain the information stored in the databases . A query is a request to the database manager to access, delete or modify the information present in the database. For this, a specific language is used (the most common is SQL, which we will talk about later).
Database examples
Some examples of databases are:
- Public libraries : these are spaces in which databases are used, generally managed by librarians, in order to record the main information of the books, magazines, newspapers and other publications they have, as well as their loans and circulation between the users.
- Medical history : databases intended to record specific information regarding the health status of patients, that is, medical history, treatments, analyzes, among others.
- Payroll : databases generally used in companies to record employee information regarding assigned positions and salaries.
- Accounting systems : these are databases in which information is recorded on the accounting activity of companies, account management, among others, in order to maintain the information in an orderly and quick way to access.
- Personal files : refers to the way to organize and archive the content that served as the basis for an investigation or intellectual work, in order to protect the primary and secondary sources of information.
- Financial system : these are databases that banks use in order to manage their clients’ information and the financial movements that they carry out in a secure manner.
Database characteristics
The main characteristics of a database are the following:
- The stored data has physical and logical independence.
- They guarantee the integrity of the data.
- They are storage systems that help reduce redundancy to a minimum.
- It is common for multiple users to access them.
- They allow complex queries of different types of data.
- Access to data is secure
- Data can be backed up and recovered
- Information is accessed through a specific language.
Objectives of the databases
One might think that the purpose of a database is to store information. And the truth is that he would be right. However, this is a very narrow vision of their functions, since they cover many other purposes.
Work with complex and non-predefined queries
One of the basic objectives of a database is to allow complex and non-predefined queries that affect more than one type entity.
- * You want to know the number of customers of an online store who are over 30 years old and who have placed more than 5 orders in the last year.
- * For each of these clients, you want to know the name, surname, address and email address.
Offer flexibility and independence
Databases must also be designed to be flexible to change. It is necessary that the data and the processes of the users are as independent as possible from each other, so that updates, variations or technological changes can be made without the need to modify the applications already written.
Avoid redundancy
Redundancy could be defined as the existence of repeated data in a database. Normally, you don’t want to have redundant data. In the event that a database management system allows defining redundant data, the system itself should be in charge of updating the information in all those places where it is repeated.
Guarantee the integrity of the data
Another of the fundamental objectives of a database is to maintain the quality and integrity of the data under all circumstances. Integrity rules are defined for this. For example, define the identification number as a key attribute, indicate that the date of birth must be a specific date, or that the clients must be between 18 and 99 years old.
Allow concurrency of users
Also, databases must allow simultaneous access by multiple users. This can cause interference problems when multiple users are modifying data at the same time. DBs solve the problem of concurrent accesses through so-called database transactions.
Ensure data security
Last but not least, databases must guarantee security in accessing and maintaining information. For example, in everything related to data confidentiality, authorizations, access rights, or compliance with current regulations on data protection.
Database types
There are many different types of databases. The most common is to classify them according to the model , their content or the variability of the data they include. We go on to see the most frequent types of databases.
According to the model
The first classification of databases is according to the model used. In this case we can find relational, distributed, object-oriented, documentary, deductive, transactional databases and more.
Relational
The relational databases are one of the most common because of its flexibility and ease of use. In this model, it does not matter where or how the data is stored. On the contrary, the information is accessed through queries that allow access to the data in an agile and flexible way. They usually use the SQL language.
Distributed
The databases distributed consist of established databases in different locations and connected by a network. They are used in decentralized organizations that need to join databases from different places (localities, universities, etc.). There are bases distributed in a homogeneous way (they use the same SGDB) or heterogeneous (they use multibase systems).
NoSQL
They are databases that do not use the SQL language, or that use it only as support, but not as a query. Among the languages most used by non-relational databases are CQL ( Contextual Query Language, JSON ( JavaScript Object Notation ) and GQL ( Graph Query Language).
Object oriented
The object database are focused on storing entire objects, including their status and behavior. This type of database is based on basic concepts of computerized object processing, such as inheritance, encapsulation or polymorphism.
Multi-dimensional
The multidimensional databases are similar to relational, but are often used to develop very specific applications. The main difference between the two is that in multidisciplinary tables the attributes of the tables can represent both dimensions and metrics.
Documentaries
The document databases are designed for indexing full text and therefore must be prepared to store a lot of information.
Deductives
The deductive databases and logic are based on mathematical logic and are able to make inferences based on facts or rules established, as a result possible to establish indirect relationships between different types of data and address some of the limitations of relational databases .
Transactional
The transactional databases are used to send and receive data at high speed. In this type of database, the redundancy or duplication of the data is not taken into account since its function is exclusively the sending and receiving of information at the highest possible speed.
Hierarchical
The hierarchical databases are organized based on a main hub of information, or parent node (root), from which emerge different children (leaves). It is a system that organizes the data in a hierarchical way, in the form of an inverted tree.
Net
Network databases are similar to hierarchical databases , except that there can be multiple parent nodes. This was an important advance with respect to hierarchical bases, especially with regard to data redundancy.
According to the content
Another method of classifying databases is according to the way they present the content. In this case we can find two types, bibliographic and full text.
Bibliographic
The bibliographic databases show relevant information on a finished publication: title, author, year of publication, publisher, etc. They can also present a small excerpt from the text, but never the full original publication, since otherwise we would be talking about the typology that follows.
Text complete
The databases full text saved and show the content of publications. For example, all the content of the published issues of a certain magazine.
According to the variability
Another variable used to classify databases is the variability of the information they present. Thus, we can distinguish between static or dynamic databases.
Static
The static databases stored fixed data which do not change with time. Normally it is historical data that can be studied to see its evolution over time and make projections or make decisions based on said evolution.
Dynamics
For their part, dynamic databases store information that changes over time. Data is edited and updated as it changes. For example, a database with the prices of a business,
Where to have it in the cloud or on premises?
Today there are different methods for managing databases. The most common is to do it through a local network or in the cloud environment (in the cloud). Let’s see the differences between the two.
Cloud
The DBaaS (Database as a Service) method is based on hiring service providers to store the data. In this case, the information is stored on the provider’s servers, and can be accessed through the internet.
Among the main advantages of databases in the cloud is the saving of physical space, the reduction of costs, or the possibility of accessing the data from any place or device with internet access.
Local
For its part, a local database uses a local network (LAN), so that the infrastructure and management of said database is carried out in the organization itself. Only computers that are connected to the local network can access the information.
Advantages and disadvantages of databases
Below we see the main advantages and disadvantages of working with databases.
Advantage
The advantages of databases are many and varied, especially those that are computerized:
- Reduce redundancy : computerized databases only store one copy of the same data, saving storage space and facilitating queries. Be careful, reducing redundancy to zero is not always possible since it is sometimes necessary to create relationships between data.
- They contribute to data consistency : Reducing redundancy also minimizes the possibility of inconsistencies between data. By storing each data only once, it is also possible to modify it at once, and make it immediately available to users.
- Data can be shared : databases allow stored information to be shared by members of the organization or by authorized users.
- They favor the integrity of the data : the stored information has greater validity and consistency, thanks to the application of rules and restrictions defined in the SGDB and that cannot be violated.
- Increase security : data can only be accessed by authorized personnel. In addition, electronic databases often include security measures to prevent unwanted access or illegitimate intrusion.
- They streamline queries : access to data is faster and more efficient thanks to the use of query languages.
- Increase productivity : save time, both for programmers and users who make inquiries.
- They simplify maintenance : thanks to the independence between data and applications, any change, modification or transfer of data can be carried out more quickly and easily.
- They allow simultaneous access by several users : in file systems this could lead to loss of information or their integrity, which is not the case with database management systems.
- They make backup copies : in traditional file systems the user had to continually make backup copies. In the event of data loss, all information added after the last backup was also lost. However, SGBS do backups automatically, minimizing accidental data loss.
- They allow compliance with standards : it is easier to adapt the storage, access and exchange of data to company standards, as well as national and international regulations, for example the RGPD or the LOPDGD
Disadvantages
However, not everything is perfect and you can also talk about some disadvantages of databases :
- SGDBs can be complex : they are programs that include many functionalities that must be understood, in addition to knowing the programming language they use.
- They involve an added cost : depending on the amount of data to be stored, it may be necessary to purchase powerful machines and large storage space.
- They can be flawed : DBMS are not foolproof and vulnerable to security flaws. This can be especially serious when all the information is centralized in the SGDB, which could put the entire system at risk. That is why it is so important to always have backup copies.
Major Database Engines
Currently there are numerous database managers , which allow storing and accessing information in an agile and flexible way. Below we see which are some of the most used.
MySQL
MySQL is the most widely used database manager in the world. It is a multi-user and multi-threaded system that is used in most current web pages and free software apps.
Among the main advantages of the MySQL database manager is its ease of use and good performance. In addition, it is very easy to install and configure and allows multiplatform support. On the contrary, it presents some scalability problems, that is, it is not as efficient when it comes to handling large volumes of data.
SQLite
It is a C library that allows data transactions. Its main advantages is that it does not need to use a server or configurations, so it takes up much less space than other managers. In addition, it offers good performance and meets the criteria for atomicity, consistency, insulation and durability.
MongoDB
It is the most widely used NoSQL database manager today. It is a file-based system that uses the BSON language. Its popularity is such that it is used by such well-known companies as Google, Facebook or Cisco.
MariaDB
It is a database manager very similar to MySQL. In fact, it was born as an evolution of this program, after the purchase of MySQL by Oracle. It has most of the MySQL functionality but includes some extra extensions. In addition, it is open source and 100% MySQL compatible.
The language of databases: SQL
The most widely used database query language is SQL , Structured Query Language or structured query language.
Basically, it is a language designed to manage and retrieve information in database managers (relational). To do this, he makes use of relational calculus and algebra . Thanks to this, it allows the insertion of data in the managers, the realization of updates, queries, or modifications, as well as deleting data or controlling access to information.
The seed of the SQL language was planted in 1970, when EFCodd proposed a storage system based on the relational module and the calculation of predicates. Based on this, the IBM company developed the SEQUEL language , which was later expanded and improved to be used by the System R database manager in 1977.
This language, SEQUEL, was evolved and perfected to give rise to what we now know as the SQL language . In the 1980s, it became the language used by most relational databases, until in 1986 it was finally recognized and standardized by the ANSI (American National Standards Institute).
Among the main features of the SQL language are the following:
- Allows you to create, modify and delete relationship schemes.
- Use algebra and relational calculus to perform queries.
- Contains command-based rules to ensure data integrity.
- Instructions can be included in different programming languages such as C ++, Pascal, Java, PHP, etc.
On the other hand, the SQL language is prepared to handle different types of data:
- Int: are integer data, signed or unsigned.
- Varchar: strings of words made up of alphanumeric characters (also allows special characters).
- Time: hour
- Date: date
Examples
There are numerous examples of obsolete databases that today have been replaced by computerized databases based on the SQL language . Let’s look at some examples of common databases:
- Telephone directories : An example would be the Yellow Pages. Today they are practically in disuse. These guides contained a list of telephone numbers, ordered by sector, or by the name of their owner (alphabetically). They used to be quite complete, but in return they were heavy, took up a lot of space and did not allow immediate access to information.
- Libraries : Libraries often have their own system for storing and classifying books. These systems must include functions that allow recording all available titles, as well as knowing the number of copies of each one, or if they are in loans, both circulating and in the room.
- Medical records : patient data is updated every time they visit the hospital. They include data such as the date of the last visits, pathologies, treatments received, etc. This is information considered sensitive, so access to this data is highly restricted and is exclusive for the medical staff who will treat the patient.
- Online stores : in any eCommerce data on customers, products, prices, transactions carried out and a long etcetera are handled. For this, the use of a database manager is essential.
How much does a database cost?
Sometimes, when certain software is purchased, the provider already includes the database service. This service can be paid in full, or in the form of payment for use or software as a service (SaaS).
At other times, the company already has its own servers and wants to have its own database and not “rented”. In that case, you will need to contact the database vendor to obtain a software-independent management system.
Depending on the two previous scenarios, the price of the database will be different. But there are also many other factors that can influence the cost of a database.
- Database type
- Personalization
- Storage capacity
- Number of instances, storage streaming
- Email notifications
- Many other functionalities
Similarly, each company imposes its own rates, so there is no standard price for databases.
To give you an idea, the prices of the Azure database for general use , range from 329 euros per month for 10.2 GB of capacity, up to 13,369 euros per month for 396 GB of capacity. In this case, Azure could offer a storage capacity of up to 4 TB, with which the price would skyrocket even more.