What is a Database System (DBMS)? [Dev Concepts #36]

In this lesson, we explain the concept of databases and typical CRUD operations. We will also take a look at relational and NoSQL databases.
Dev-Concepts-Episode-36-What-is-a-Database-System-DBMS

A database is a collection of data that is organized so that it can be easily accessed, managed, and updated.

  • Usually, you need to store data that will be accessible even after you end the program execution.
  • One way to do that is by using a text file, but this is not scalable and does not provide any structure.

database-with-serverDatabases hold and manage data in the back-end systems. Almost all modern software systems use a database in some form. The data in database systems is organized in tables, collections, key-value pairs or other structures. The software, which manages, retrieves and manipulates data in a database, is called Database Management System(DBMS).

Relational and Non-Relational Model

In this section, we will explain the difference between these two database models:

  • The relational model is based on tables and relationships.
  • The non-relational model is based on collections of documents.

The structure of relational databases is strict, while the non-relational is not so strict. SQL databases regulate the input data, what their format is, how different types of data are connected, etc. RDBMS systems manage relational databases and expose a universal interface for developers: the SQL language. Relational databases organize data in tables, which hold data rows, and each row holds columns.

relational-vs-nosql

Non-Relational databases have a dynamic schema. A schema is the structure of the database, which describes all its objects (tables, collections, views, and others) and their structures. The data stored in NoSQL databases are not strictly structured. Sometimes these databases are called “schema-free databases“. Properties of an entity (the columns in the SQL database) can be added dynamically. NoSQL databases can be based on several data models (several ways to structure data).

Define, Manipulate, Retrieve and Manage Data with DBMS

Database Management System (DBMS) is a server software, which takes data queries of manipulation commands from the clients, execute the commands in the database, and returns the results to the clients.

dbms-diagram

While a database could be just a collection of data files, the DBMS is what makes it so powerful with its structure, algorithms, optimizations, and APIs. For comparison, in a text file, you will be able to save whatever information you like, while in a database, managed by a DBMS, you can set rules on the incoming data. DBMS systems implement a programming API or specialized language, such as SQL, to manage data.

To do so, first, we create a query (or command) through the client that is passed to the engine through its API. The engine processes the query and accesses the data files. Then, the database storage returns the desired data from the data files to the engine. Finally, the engine processes the returned data and passes it to the client for visualizing in a human-readable format.

Databases are very powerful in keeping collections of entities. The relational model is based on tables and relationships, and the non-relational model is based on collections of documents. Database systems are an important component of most modern software systems, and therefore software engineers must have at least basic database skills. 

Lesson Topics

In this tutorial, we cover the following topics:
  • Databases Introduction

  • SQL vs NoSQL Databases

  • DBMS Systems

Lesson Slides

Leave a Comment

Recent Posts

About SoftUni

SoftUni provides high-quality education, profession and job to people who want to learn coding.

The SoftUni Global “Learn to Code” Community supports learners with free learning resources, mentorship and community help.

Tags

Categories