Почему реляционные базы данных называются «реляционными»?

Ответ

Реляционные базы данных получили своё название от реляционной модели данных, основанной на математическом понятии «отношение» (relation). Эту модель предложил учёный Эдгар Кодд в 1970 году.

В контексте баз данных:

  • Отношение (Relation) — это таблица.
  • Кортеж (Tuple) — это строка или запись в таблице.
  • Атрибут (Attribute) — это столбец или поле в таблице.

Ключевая идея модели заключается в том, что данные хранятся в виде набора таблиц (отношений), а связи между этими таблицами также являются отношениями, которые устанавливаются с помощью ключей.

Пример:

Есть отношение Users (таблица пользователей) и отношение Orders (таблица заказов). Связь между ними устанавливается через внешний ключ user_id.

-- Отношение (таблица) "users"
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

-- Отношение (таблица) "orders"
CREATE TABLE orders (
    id INT PRIMARY KEY,
    user_id INT,
    amount DECIMAL,
    -- Установление связи (отношения) с таблицей users
    FOREIGN KEY (user_id) REFERENCES users(id)
);

Таким образом, название «реляционные» подчёркивает не просто хранение данных в таблицах, а именно управление связями (отношениями) между ними для обеспечения целостности и структурированности данных.

Ответ 18+ 🔞

Давайте разберемся, откуда у этих ваших баз данных такое мудрёное название — «реляционные». А то сидишь, блядь, и думаешь: «Ну база и база, что там реляционного-то?»

А оказывается, вся соль в математике, ёпта! В 1970 году один умный дядя, Эдгар Кодд, взял да и притащил в мир данных математическое понятие «отношение» (по-ихнему — relation). И понеслась, блядь!

Так вот, в этом ихнем контексте:

  • Отношение (Relation) — это не ваши семейные разборки, а самая обычная таблица, сука.
  • Кортеж (Tuple) — это не конфета, а строка в этой таблице, одна запись, блядь.
  • Атрибут (Attribute) — это столбец, поле, куда ты данные пишешь.

И вся фишка модели в том, что данные хранятся не просто кучей, а в виде этих самых таблиц-отношений. А самое главное — связи между таблицами — это тоже, внимание, отношения! Устанавливаются они через ключи, и это, блядь, гениально просто.

Смотри, как это выглядит на практике:

Есть у нас отношение Users (пользователи, блядь) и отношение Orders (заказы). Свяжем их, сука, через внешний ключ user_id.

-- Отношение (таблица) "users"
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

-- Отношение (таблица) "orders"
CREATE TABLE orders (
    id INT PRIMARY KEY,
    user_id INT,
    amount DECIMAL,
    -- А вот и магия! Устанавливаем связь (отношение) с таблицей users
    FOREIGN KEY (user_id) REFERENCES users(id)
);

Так что название «реляционные» — это не для красоты, а в рот меня чих-пых! Оно прямо говорит: тут главное не просто таблицы, а управление связями (отношениями, блядь!) между ними. Чтобы целостность была, чтобы порядок, чтобы не превратилось всё в одно большое бесформенное говно. Вот и весь секрет, ёпта!