Реляционная система управления базами данных (РСУБД) — это тип СУБД, основанный на реляционной модели данных, предложенной Эдгаром Коддом в 1970 году. РСУБД организуют данные в виде таблиц (отношений) с четко определенными связями между ними.
Табличная организация данных
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)
);
Первичные и внешние ключи
CREATE TABLE departments (
department_id INT PRIMARY KEY,
department_name VARCHAR(100) NOT NULL
);
Нормализация данных
Ядро СУБД
Язык 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;
Механизм транзакций
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
COMMIT;
Целостность данных
Гибкость запросов
Безопасность
Коммерческие
Открытые
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)
);
РСУБД — это мощная система для управления структурированными данными, основанная на реляционной модели. Ключевые особенности:
Реляционные СУБД остаются золотым стандартом для большинства бизнес-приложений, где важны целостность данных и сложные запросы. Современные реализации, такие как PostgreSQL, расширяют классическую реляционную модель, добавляя поддержку JSON, геоданных и других современных форматов.