Что такое реляционная база данных (РБД)?

Ответ

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

Ключевые концепции:

  • Таблица (Отношение): Состоит из строк (записей, кортежей) и столбцов (полей, атрибутов).
  • Схема: Определяет структуру таблиц (имена и типы столбцов, ограничения).
  • Первичный ключ: Уникальный идентификатор каждой строки в таблице.
  • Внешний ключ: Столбец, ссылающийся на первичный ключ другой таблицы, для установления связей.
  • SQL: Стандартизированный язык структурированных запросов для управления данными.

Пример создания связанных таблиц:

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

CREATE TABLE Orders (
    id INT PRIMARY KEY,
    user_id INT,
    total DECIMAL(10,2),
    FOREIGN KEY (user_id) REFERENCES Users(id) -- Связь
);

Преимущества:

  • Гарантии целостности данных (ACID, ограничения).
  • Гибкость и мощность запросов с помощью SQL.
  • Чёткая структура и стандартизация.

Популярные СУБД: PostgreSQL, MySQL, Oracle, Microsoft SQL Server.

Ответ 18+ 🔞

Ну, слушай, смотри, вот это самое... реляционная база данных. Представь себе, блядь, этакий овердохуища аккуратный архив, где всё по полочкам разложено, но не просто так, а в виде таблиц, которые друг с другом связаны. Как будто ты в офисе, где на каждого сотрудника — отдельная папка, а на каждый его заказ — другая, и они скреплены скрепочкой, ёпта.

Основные пиздюлины, которые надо знать:

  • Таблица (она же отношение): Ну, таблица и есть, сука. Строки (это записи, типа "Вася Пупкин") и столбцы (это поля, типа "Имя", "Возраст").
  • Схема: Это как чертёж, блядь. Заранее говоришь: "Вот тут у нас будет столбец 'Имя', и он текстовый, и его НЕЛЬЗЯ оставлять пустым, а то я тебе вманжу!".
  • Первичный ключ: Уникальный номерок для каждой строки. Как ИНН, только для записи в таблице. Без него — пиздец и бардак, две одинаковые строки заведутся.
  • Внешний ключ: А вот это, сука, гениально! Это такая ссылочка из одной таблицы в другую. Типа в заказе пишешь не "Вася Пупкин", а "ID Васи". И база сама, хитрая жопа, понимает, о ком речь. Если попробуешь сослаться на несуществующего Васю — получишь пизды от системы целостности.
  • SQL: Это язык, на котором с этой базой разговариваешь. "Дай", "покажи", "вставь", "удали". Без него — нихуя не сделаешь.

Вот, смотри, как это выглядит вживую, ёбана:

CREATE TABLE Users (
    id INT PRIMARY KEY, -- Вот этот самый уникальный номерок, первичный ключ
    name VARCHAR(100) NOT NULL, -- Имя, и оно ОБЯЗАТЕЛЬНОЕ, блядь (NOT NULL)
    email VARCHAR(100) UNIQUE NOT NULL -- Почта, уникальная и тоже обязательная. Два васи с одной почтой — низя!
);

CREATE TABLE Orders (
    id INT PRIMARY KEY, -- Номер заказа, свой собственный
    user_id INT, -- А вот тут — ВНЕШНИЙ КЛЮЧ! ID того самого юзера, который заказ сделал
    total DECIMAL(10,2), -- Сумма заказа
    FOREIGN KEY (user_id) REFERENCES Users(id) -- И вот эта самая связь, скрепочка! Говорим: "user_id" смотрит на "id" в таблице "Users"
);

И почему это, блядь, всё ещё охуенно:

  • Целостность, мать её. Не получится сделать заказ от призрака. База тебе не даст. ACID-транзакции — это вообще святое, можно откатываться, если всё пошло по пизде.
  • SQL — сила. Можешь одним запросом вытащить "все заказы Васи, сделанные во вторник, дороже 1000 рублей, отсортированные по убыванию". И база тебе это мгновенно предоставит, если, конечно, индексы настроены, а не хуй с горы.
  • Всё структурировано. Никакого "ой, а тут у меня в JSON'е поле 'name', а в следующей записи — 'имя', сорян". Чётко, ясно, стандартно.

Популярные движки, на которых это всё крутится: PostgreSQL (для умных и педантичных), MySQL/MariaDB (для всего остального, часто в вебе), Oracle (для корпораций с деньгами, как у буратино), Microsoft SQL Server (для тех, кто в теме от Microsoft).