Что такое РСУБД (Реляционная СУБД)?sql-6

Реляционная система управления базами данных (РСУБД) — это тип СУБД, основанный на реляционной модели данных, предложенной Эдгаром Коддом в 1970 году. РСУБД организуют данные в виде таблиц (отношений) с четко определенными связями между ними.

Ключевые принципы реляционной модели

  1. Табличная организация данных

    • Данные хранятся в таблицах (отношениях)
    • Каждая таблица состоит из строк (кортежей) и столбцов (атрибутов)
    • Пример создания таблицы:
      CREATE TABLE employees (
          employee_id INT PRIMARY KEY,
          name VARCHAR(100) NOT NULL,
          department_id INT,
          salary DECIMAL(10,2),
          FOREIGN KEY (department_id) REFERENCES departments(department_id)
      );
      
  2. Первичные и внешние ключи

    • PRIMARY KEY - уникальный идентификатор строки
    • FOREIGN KEY - ссылка на первичный ключ другой таблицы
    • Пример связи таблиц:
      CREATE TABLE departments (
          department_id INT PRIMARY KEY,
          department_name VARCHAR(100) NOT NULL
      );
      
  3. Нормализация данных

    • Процесс устранения избыточности данных
    • Основные нормальные формы (1NF, 2NF, 3NF, BCNF)

Основные компоненты РСУБД

  1. Ядро СУБД

    • Оптимизатор запросов
    • Менеджер транзакций
    • Менеджер памяти
  2. Язык SQL

    • Стандартизированный язык для работы с реляционными данными
    • Пример сложного запроса:
      SELECT d.department_name, AVG(e.salary) as avg_salary
      FROM employees e
      JOIN departments d ON e.department_id = d.department_id
      GROUP BY d.department_name
      HAVING AVG(e.salary) > 50000
      ORDER BY avg_salary DESC;
      
  3. Механизм транзакций

    • Поддержка ACID-свойств:
      • Aтомарность
      • Cогласованность
      • Iзолированность
      • Dолговечность
    • Пример транзакции:
      BEGIN TRANSACTION;
      UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
      UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
      COMMIT;
      

Преимущества РСУБД

  1. Целостность данных

    • Встроенные механизмы проверки ограничений
    • Каскадные операции
  2. Гибкость запросов

    • Мощный язык SQL
    • Сложные соединения таблиц
  3. Безопасность

    • Разграничение прав доступа
    • Шифрование данных

Популярные РСУБД

  1. Коммерческие

    • Oracle Database
    • Microsoft SQL Server
    • IBM DB2
  2. Открытые

    • PostgreSQL
    • MySQL/MariaDB
    • SQLite

Пример схемы базы данных

CREATE TABLE customers (
    customer_id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE
);

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    order_date DATE DEFAULT CURRENT_DATE,
    total_amount DECIMAL(10,2),
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

CREATE TABLE products (
    product_id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) CHECK (price > 0)
);

CREATE TABLE order_items (
    order_id INT,
    product_id INT,
    quantity INT CHECK (quantity > 0),
    PRIMARY KEY (order_id, product_id),
    FOREIGN KEY (order_id) REFERENCES orders(order_id),
    FOREIGN KEY (product_id) REFERENCES products(product_id)
);

Резюмируем

РСУБД — это мощная система для управления структурированными данными, основанная на реляционной модели. Ключевые особенности:

  • Табличное хранение данных
  • Четкие связи между таблицами
  • Поддержка SQL
  • Гарантии ACID
  • Механизмы целостности данных

Реляционные СУБД остаются золотым стандартом для большинства бизнес-приложений, где важны целостность данных и сложные запросы. Современные реализации, такие как PostgreSQL, расширяют классическую реляционную модель, добавляя поддержку JSON, геоданных и других современных форматов.