Back to articles list October 20, 2020 - 7 minutes read What Is a DBMS? Adrian Więch Adrian is an active software developer focused on Java and SQL-related technologies. He holds a Master’s Degree in both Computer Science and Applied Linguistics. While most people focus on specialization, he goes against the flow and believes that diversity is key to personal development. You’ll find him weightlifting, playing the piano, studying psychology and travelling around the world. Tags: sql learn sql sql basics Data Engineering We generate vast quantities every day, and that data needs to be stored somehow. That’s where DBMSs come in handy. Find out what they are and how they relate to databases. If you go on a diet and simply want to keep track of your weight, you can probably use a piece of paper and a pencil. If you then want to chart your daily caloric intake, you’ll probably switch to something like a computer spreadsheet. However, if you’re a company that needs to store information about thousands of customers, neither a piece of paper nor an Excel spreadsheet will suffice. You’ll probably want a more sophisticated application – something that can store your data in a smart way, help you organize it logically, and manage who can access it. In such cases, DBMS systems come to the rescue. What Does DBMS Stand For? DBMS stands for Database Management System. You may also come across acronyms for similar concepts, such as RDBMS (Relational Database Management System), OODBMS (Object-Oriented DBMS) and ORDBMS (Object-Relational DBMS). Note that the last two are used very rarely. In layman’s terms, a DBMS is a computer program that can store large amounts of data and process them accordingly. People sometimes use the term database to refer to a DBMS, but technically that’s not a precise name. That’s because a database is simply any collection of data, such as in a text file. On the other hand, a DBMS is software that interacts with users to process data. The most popular DBMSs include PostgreSQL, Oracle Database, Microsoft SQL Server, MySQL, SQLite, IBM Db2, and others. You may be tempted to ask, “Isn’t Microsoft Excel a DBMS?”. Not really. Excel may be an excellent application that offers various interesting features for dealing with data. It may also be a great compliment to a DBMS. Compared to a database management system, however, Excel is very limited in terms of managing data. So, What Does a DBMS Do? Below, we’ll explain a dozen or so features of a typical modern database management system. You’ll quickly see that Microsoft Excel only offers a few of these features. First and foremost, a DBMS stores data in tables. Typically, these tables can be connected to one another with relationships. For example, a table that stores order records may have connections to another table that stores customer information. A DBMS that keeps data in tables is called a relational database management system. Relational DBMSs are by far the most common type of database management system. When we talk about a DBMS, most of the time we actually mean a relational database management system, or RDBMS. In a typical relational DBMS, data is organized in tables. Here, we have two tables, order and customer, with their respective column definitions. The column customer_id in the table order points to the column id in the table customer. This defines the relationship between these tables; it’s based on the customer. You can see the representation of a relationship in the line connecting the two tables. If you’d like to learn how to create tables in a DBMS, take a look at our interactive course on The Basics of Creating Tables in SQL or read our blog post How to Create a Table in SQL. A DBMS also: Physically stores data. It makes sure that your data is persisted physically in such a way that the information can be retrieved quickly. In the case of a simple DBMS on your computer, the data will be stored locally on your hard drive. In enterprise-level solutions, DBMSs are launched on dedicated server machines and the data is stored on the machines’ hard drives. Compare this to Excel, which is mostly limited by your computer’s RAM – it can choke on large data chunks pretty quickly! DBMSs get rid of this problem by using sophisticated data persistence techniques and structures. Processes SQL instructions. SQL (Structured Query Language) is a popular tool for communicating with DBMSs. It has been around for 50 years and works with all major DBMSs. If you’d like to learn more about SQL, watch our YouTube video What is SQL? Allows users to add, modify, and remove data. An empty database won’t do us any good, so a DBMS allows us to add and manipulate data. This can be usually done in a few ways: via a graphical user interface, with an SQL instruction, etc. Permits users to modify the database structure. You should be able to design the structure of your tables and define columns’ names and data types, right? It’s an essential part of organizing information! If you’d like to know more about this, take a look at the interactive courses in our Creating Database Structure Enables concurrent data access. Multiple users may need to access and modify data instantaneously. Have you ever tried to work on an Excel spreadsheet with five other people at the same time? Well, good luck with that! A DBMS makes this process smooth and efficient. Even with multiple people working, your DBMS will also make sure that data integrity is preserved, i.e. your data does not get corrupted. Manages constraints. Your DBMS can ensure that users don’t put a name in a column which is supposed to hold a date or that a negative number never goes in an age column. DBMSs also provide transaction mechanisms, which is an extremely important IT concept. Imagine that you need to transfer money from one bank account to another. It’s a simple two-step process: (1) Remove a certain amount from account A, and (2) add it to account B. But what happens when there’s a system failure between steps 1 and 2? A DBMS will make sure that the money is never lost in such a case. You can read more about transactions in this article. Maintains internal structures for quick access and processing. This uses a concept known as indexing (like an index at the end of a book) to quickly find requested information. A DBMS also prepares query execution plans to return your data as efficiently as possible. Supports granular user management. In a DBMS, you can set up thousands of user accounts, each with its own permissions. One user may only be able to see certain tables, while another user can add or modify data. Offers backup capabilities. Data is sometimes lost due to unpredicted failures. A DBMS typically provides sophisticated mechanisms to keep your information intact. It creates backup copies and helps you restore your databases in case something goes wrong. Supplies metadata, i.e. information about your data. You’ll be able to see and analyze the types of tables and columns you have, the types of values in your table rows, which pieces of information appear most frequently, and which are redundant. Ensures secure data access. While Excel typically only offers password-protected spreadsheets, a DBMS provides advanced data encryption mechanisms to make sure your information doesn’t fall into the wrong hands. A DBMS can also be distributed, which means one database management system is spread across multiple servers. Depending on the situation, this can provide faster data access or enhanced security. You’ll also come across DBMS in the Cloud, which are DBMS services offered online by a Cloud provider. When Should You Use a DBMS? A DBMS can be overkill if you want to analyze a simple set of data, such as your weight loss over time. Database Management Systems are typically used for enterprise-level solutions. Big companies simply can’t do without a proper DBMS; the amount of data they process and its importance is too great for simple spreadsheets. DBMS Alternatives We mentioned that a typical (or relational) DBMS stores data in the form of tables. This is a very convenient format, which is why relational database management systems have been the most frequent choice for many years. As the amount of data in the world increases, relational DBMSs can be insufficient. One example is Big Data technologies, which are designed to process really large amounts of data (or streams of data) at high velocity. These tools are definitely more complicated and are only used when the amount or nature of the data prevents us from using a relational DBMS. You can read more about this in the article What Is Data Engineering?. Get to Know Your Friendly DBMS! Modern database management systems are complex pieces of software that offer a huge number of features. They are the go-to solution for enterprise-level data storage. Getting to know at least one popular DBMS can be beneficial in any IT-related job. Learning SQL is a great place to start – and our interactive LearnSQL.com courses can help you with that. Make sure to check them out. Tags: sql learn sql sql basics Data Engineering You may also like What Is Data Engineering? What’s data engineering and how does it fit in with data science and Big Data? Read this article to find out. Read more Who Is a Data Engineer? Do you know what Data Engineers do? Do you know what skills they need? Read our article to find out more about this relatively new IT position. Read more Is SQL Worth Learning? Is learning SQL something to consider? Or is it yet another useless skill that employers don’t value? Read more How to Create Your First Table in SQL Use the CREATE TABLE SQL statement to create your first database table. Read more Career Change: From Accountant to Database Designer Personal insight into career change, learning SQL, becoming a database designer, and how your life choices can help you accomplish all that and more. Read more The Most Important SQL Queries for Beginners This guide discusses the 30 most important SQL queries for beginners. Let's take a look. Read more Subscribe to our newsletter Join our weekly newsletter to be notified about the latest posts.