DATA ANALYSIS  

Databases overview

A database is an organized collection of data that can be stored, managed, and accessed efficiently. Databases are used in many modern systems such as banking platforms, e-commerce websites, mobile applications, and large-scale analytics systems.

Most applications rely on a Database Management System (DBMS) to store and manage data. These systems allow developers to retrieve, update, and control data while maintaining consistency and security.

Users of this website have the opportunity to practice their queries on PostgreSQL. I have chosen this database because it is open source, robust, and widely used even by very large corporations. As you can read on the official website postgresql.org, it may be described as “The World's Most Advanced Open Source Relational Database.” Although in other articles and practice tasks I mainly refer to PostgreSQL, below you can see a list of many different databases.

SQL Relational Databases

  • PostgreSQL
    Company: PostgreSQL Global Development Group
    Purpose: Advanced relational database used in enterprise systems and analytics.
  • MySQL
    Company: Oracle Corporation
    Purpose: Widely used in web applications and the LAMP stack.
  • Microsoft SQL Server
    Company: Microsoft
    Purpose: Enterprise systems and applications in the Microsoft ecosystem.
  • Oracle Database
    Company: Oracle Corporation
    Purpose: Large enterprise and financial systems.
  • SQLite
    Company: SQLite Consortium
    Purpose: Embedded database used in mobile apps and local storage.

Common Standard: ANSI SQL

Although many relational databases exist, most follow the ANSI SQL standard. ANSI SQL defines the syntax and behavior of the Structured Query Language used in relational databases. The SQL language defines how we communicate with databases. You may encounter the term CRUD, where each letter represents a different set of operations that can be performed on a database: C – Create, R – Read, U – Update, D – Delete.

Common SQL commands include:

  • SELECT – retrieve data
  • INSERT – add new records
  • UPDATE – modify existing data
  • DELETE – remove records
  • CREATE – define database structures

The existence of this standard is convenient because you can learn one SQL language that allows you to communicate with many different relational databases, but there are still some differences between database systems that modify the ANSI SQL standard or extend it. In other articles I describe each set of CRUD operations in the SQL language in more detail, specifically referring to PostgreSQL, where there are differences compared with other databases.

SQL vs Other Languages

SQL differs from languages like C++ and Python because it is a declarative language, while C++ and Python are procedural or object-oriented programming languages. In SQL, a developer specifies what data should be retrieved or modified, and the database system determines how to execute the operation. In contrast, languages like C++ and Python require programmers to explicitly describe the step-by-step logic and algorithms needed to perform a task. SQL is mainly designed for querying and managing data in relational databases, whereas C++ and Python are general-purpose languages used to build full applications, algorithms, and systems.

The existence of this standard is convenient because you can learn one SQL language that allows you to communicate with many different relational databases, but there are still some differences between database systems that modify the ANSI SQL standard or extend it. In other articles I describe each set of CRUD operations in the SQL language in more detail, specifically referring to PostgreSQL, where there are differences compared with other databases.

SQL vs NoSQL Databases

In the earlier paragraph we described relational databases, but there are two major categories of databases:

  • SQL databases (relational databases)
  • NoSQL databases (non-relational databases)

SQL Databases

  • Use structured tables with rows and columns
  • Have a predefined schema
  • Use the SQL query language

NoSQL Databases

  • Use flexible data models such as documents or key-value pairs
  • Often allow dynamic schemas
  • Designed for horizontal scalability
  • Common in large distributed systems

SQL databases provide structured and reliable data management, while NoSQL databases provide flexibility and scalability for distributed applications.

As we have already listed popular relational databases, below you can see examples of NoSQL databases:

NoSQL Databases (Non-Relational)

  • MongoDB
    Company: MongoDB Inc.
    Purpose: Document-based storage for flexible schemas.
  • Redis
    Company: Redis Ltd.
    Purpose: In-memory database used for caching and real-time systems.
  • Apache Cassandra
    Company: Apache Software Foundation
    Purpose: Distributed database designed for large-scale systems.
  • Firebase Realtime Database
    Company: Google
    Purpose: Real-time synchronization for mobile and web applications.
  • Apache CouchDB
    Company: Apache Software Foundation
    Purpose: Document-oriented database for distributed web applications.

Contact details:

+48 790-430-860

analysislessons@gmail.com