Firebird SQL: Полное руководство (версия под Prism, SEO)

🟢 Firebird SQL. Введение

Firebird SQL — это реляционная система управления базами данных с открытым исходным кодом. Она возникла как форк InterBase компании Borland и со временем превратилась в самостоятельный, активно развиваемый проект. Firebird SQL применяется в корпоративных приложениях, встраиваемых системах и бизнес-решениях благодаря своей лёгкости, надёжности и бесплатной лицензии.

История

  • 1980-е — развитие InterBase компанией Borland.
  • 2000 — исходный код InterBase открыт, создаётся форк Firebird SQL.
  • 2002 — выход Firebird 1.0, совместимость с InterBase.
  • 2010-е — добавление современных функций: улучшенная поддержка SQL, хранимые процедуры, триггеры.
  • 2020-е — Firebird 4.x с поддержкой мультипоточности и новых типов данных.

Особенности

  • Поддержка ACID-транзакций.
  • Малый размер дистрибутива.
  • Работа как встраиваемая СУБД или в режиме клиент-сервер.
  • Многоуровневая безопасность.
  • Кроссплатформенность: Windows, Linux, macOS.

Установка

# Linux (Ubuntu)
sudo apt update
sudo apt install firebird3.0-server

# Windows
# Скачать установщик с сайта firebirdsql.org и запустить установку

Подключение

isql -u sysdba -p masterkey localhost:/var/lib/firebird/data/company.fdb

Создание базы и таблицы

CREATE DATABASE 'company.fdb' USER 'sysdba' PASSWORD 'masterkey';

CREATE TABLE employees (
    id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    position VARCHAR(100),
    salary DECIMAL(10,2),
    hire_date DATE
);

CRUD в Firebird SQL

INSERT INTO employees (name, position, salary, hire_date)
VALUES ('Иван Иванов', 'Менеджер', 60000, '2022-05-01');

SELECT name, position, salary FROM employees WHERE salary > 50000;

UPDATE employees SET salary = salary * 1.1 WHERE position = 'Менеджер';

DELETE FROM employees WHERE id = 3;

Индексы

CREATE INDEX idx_salary ON employees(salary);

Транзакции

SET TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

Хранимые процедуры и функции

SET TERM !! ;
CREATE PROCEDURE GetEmployees
RETURNS (emp_name VARCHAR(100), emp_salary DECIMAL(10,2))
AS
BEGIN
  FOR SELECT name, salary FROM employees INTO :emp_name, :emp_salary DO
    SUSPEND;
END !!
SET TERM ; !!

Триггеры

SET TERM !! ;
CREATE TRIGGER trg_set_hire_date FOR employees
BEFORE INSERT
AS
BEGIN
  NEW.hire_date = CURRENT_DATE;
END !!
SET TERM ; !!

Работа с представлениями

CREATE VIEW high_salary AS
SELECT name, salary FROM employees WHERE salary > 70000;

Бэкапы

# Создание бэкапа
gbak -b -user sysdba -password masterkey company.fdb company_backup.fbk

# Восстановление из бэкапа
gbak -c -user sysdba -password masterkey company_backup.fbk company_restored.fdb

Безопасность

  • Использовать надёжные пароли для SYSDBA.
  • Ограничить доступ к файлам БД.
  • Применять роли для разграничения доступа.

Заключение

Firebird SQL — лёгкая и надёжная СУБД, которая подходит для встраиваемых систем и корпоративных приложений. Она поддерживает транзакции, хранимые процедуры, триггеры, индексы и репликацию. Благодаря открытой лицензии и активному сообществу Firebird SQL продолжает активно развиваться.

🔗 Официальная документация Firebird SQL


 

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии