Sobes.tech
Middle+

What is a relational database and how does it differ from a non-relational one?

sobes.tech AI

Answer from AI

A relational database (RDB) is a database management system that stores data in the form of tables with fixed columns and rows. Tables are linked through relationships (foreign keys), ensuring data integrity and enabling complex queries using SQL.

Differences between relational and non-relational (NoSQL) databases:

  • Data structure:

    • Relational — tables with a clearly defined schema.
    • Non-relational — can store data as documents (JSON), key-value pairs, graphs, or columns.
  • Schema:

    • Relational databases require a predefined schema.
    • Non-relational databases are often schema-less and flexible.
  • Query language:

    • Relational databases use SQL.
    • Non-relational databases use various APIs or query languages.
  • Transactions and integrity:

    • Relational databases support ACID transactions.
    • Non-relational databases may have limited transaction support and are focused on scalability.

Example: PostgreSQL — relational, MongoDB — non-relational (document-oriented).

In Go, for working with relational databases, the database/sql package with drivers is often used, and for NoSQL — specialized clients.