Firebird (також FirebirdSQL) — компактна, крос-платформова, вільна реляційна система керування базами даних, що реалізує більшість функцій стандарту SQL:2003. Вона може запускатись на більшості UNIX-подібних систем (в тому числі Linux та FreeBSD) та Windows.
Тип | Реляційна СКБД |
---|---|
Розробник | [en] |
Перший випуск | 12 березня 2002 |
Стабільний випуск | 4.0.0 (1 червня 2021 ) |
Нестабільний випуск | 5.0.0.62 (6 червня 2021 ) |
Платформа | Кросплатформне програмне забезпечення |
Операційна система | Windows, Linux, Solaris, OS X, FreeBSD, HP-UX |
Мова програмування | |
Розмір | 14 МБ |
Доступні мови | англійська |
Українська мова | ні |
Стан розробки | активний |
Ліцензія | , , Mozilla Public License 1.1 |
Онлайн-документація | firebirdsql.org/en/firebird-rdbms/(англ.) |
Репозиторій | github.com/FirebirdSQL/firebird |
Вебсайт | firebirdsql.org |
|
Основні можливості
- Відповідність вимогам ACID: Firebird спеціально спроектовано таким чином, щоб задовільняти вимоги «атомарності, несуперечності, ізоляції та довговічності» транзакцій (англ. Atomicity, Consistency, Isolation and Durability).
- Версійна архітектура: основна особливість Firebird — версійна архітектура, що дозволяє серверу обробляти різні версії одного запису в будь-який час таким чином, що кожна транзакція бачить свою версію даних, не заважаючи сусіднім. Таким чином, транзакції, що читають, не блокують транзакції, що пишуть і навпаки. Окрім того, це дає можливість відмовитись від журналу транзакцій і таким чином зменшити ймовірність пошкодження службової інформації бази даних.
- Збережені процедури: за допомогою мови PSQL (процедурна SQL) можна створювати складні збережені процедури для обробки даних на боці сервера. Таким чином можна виносити на сторону сервера значну частину бізнес-логіки програмного пакету чи формувати дані для звітів.
- Події: збережені процедури та тригери можуть генерувати події, на які, в свою чергу, може підписатися клієнтська програма і відповідним чином їх обробляти.
- Генератори: дають можливість просто реалізовувати автоінкрементні поля; оскільки вони працюють незалежно від транзакцій, то можуть використовуватись для генерації первинних ключів чи керування тривалими запитами в інших транзакціях.
- Бази даних в режимі «лише читання»: спрощують поширення даних наприклад на компакт-дисках, особливо в поєднанні з вбудованою (англ. embedded) версією сервера.
- Повний контроль над транзакціями: одна клієнтська програма може одночасно виконувати декілька транзакцій, включно з різними рівнями ізоляції. Окрім того, доступні протокол двофазного підтвердження транзакцій (що забезпечує гарантовану стійкість при роботі з кількома БД), оптимістичне блокування даних (блокується не вся сторінка даних, а лише змінені записи), точки збереження транзакцій та автономні транзакції (починаючи з версії 2.5).
- Резервне копіювання: завдяки в тому числі і версійній архітектурі немає потреби зупиняти сервер для резервування бази даних. Процес резервного копіювання зберігає стан бази даних на момент початку резервування, не шкодячи роботі інших клієнтів. Додатково існує можливість інкрементного резервування бази даних (починаючи з версії 2.0).
- Тригери: для будь-якої таблиці можна назначити декілька тригерів, що спрацюють до чи після додавання, оновлення чи вилучення даних. У тригерах використовується мова PSQL, що дозволяє задавати початкові значення даних, перевіряти їх цілісність, збуджувати події та ін. Починаючи з версії 1.5 у Firebird з'явились універсальні тригери, що дозволяють обробляти вставку, оновлення та вилучення даних в одному місці.
- Зовнішні функції: можна реалізувати за допомогою будь-якої мови програмування та у вигляді бібліотек користувацьких функцій (англ. User Defined Function, UDF) під'єднаних до сервера.
- Набори символів: Firebird підтримує багато міжнародних наборів символів з багатьма варіантами сортування, зокрема типовий для українських користувачів Windows набір символів Win1251 підтримує три варіанти сортування, в тому числі win1251_ua, що дозволяє коректно сортувати отримані з бази дані з українськими символами на боці сервера. Окрім того, Firebird повністю підтримує Unicode, що дає можливість працювати з будь-якими наборами символів.
- Firebird повністю підтримує стандарт SQL-92 та реалізує більшу частину стандартів SQL-99 i . Сюди входять вирази DML і DDL, об'єднання запитів, вирази UNION, DISTINCT, підзапити (IN, EXISTS), агрегатні функції (AVG, SUM, MIN, MAX, LIST (починаючи з версії 2.1)), вбудовані функції (ABS, CEIL, REPLACE, GEN_UUID тощо), обмеження цілісності (PRIMARY KEY, UNIQUE, FOREIGN KEY), та всі загальні типи даних SQL.
Історія розвитку
РСКБД Firebird бере свій початок від іншої СКБД — InterBase американської фірми Borland. 25 липня 2000 року ця фірма оголосила про випуск джерельних кодів СКБД Interbase 6.0 у відкритий доступ. На їх основі почало розвиватись два проекти — власне Firebird та (з англ. дятел), що розроблявся російськими програмістами, та продовжилась розробка InterBase. Проект Yaffil у 2003 році приєднався до Firebird.
Версія | Дата | Опис/Зміни |
---|---|---|
1.0 | 12 березня 2002 | Перша версія. Основні зміни: підтримка баз даних великих розмірів, підтримка нестандартних портів підключення, можливість агрегації даних за UDF, можливість перетворення таблиць та процедур без їх вилучення, виправлення численних помилок. Всього було випущено чотири релізи цієї гілки (до 1.0.3), наразі її розвиток і підтримку зупинено. |
1.5 | 5 лютого 2004 | Перехідна версія. Основні зміни: підтримка нових типів даних, єдині тригери на різні події, точки збереження (іншими словами, вкладені транзакції), підтримка песимістичного блокування, динамічних запитів (через execute statement ) і псевдонімів (англ. alias) для баз даних. Всього було випущено шість релізів цієї гілки (останній 1.5.5 від 12 грудня 2007 року). Наступні релізи міститимуть лише критичні оновлення безпеки. |
2.0 | 15 листопада 2006 | Перша версія, що несумісна на рівні формату файлів з СКБД InterBase. Основні зміни: підтримка виведених (англ. derived) таблиць в запитах, іменовані курсори у процедурах, збільшення розміру полів, що можуть бути проіндексовані, більш повна підтримка стандарту SQL-99, анонімні блоки вибірки (англ. execute block) та інкрементальний бекап. Всього було випущено сім релізів цієї гілки (2.0.7 від 12 квітня 2012 року є останнім). Примітки до випуску цієї версії доступні у форматі PDF. |
2.1 | 18 квітня 2008 | Розвиток другої версії. Основні зміни: підтримка таблиць моніторингу запитів, транзакцій та підключень, підтримка тимчасових таблиць, повний перехід на Юнікод, нові агрегатні та вбудовані функції, підтримка NT-автентифікації, покращення мережевого протоколу для роботи на повільних лініях, підтримка доменів у процедурах, підтримка сумісності текстових blob-полів та рядків, тригери рівня бази даних і транзакції, 64-бітна версія під Windows. Останнім релізом цієї гілки є 2.1.7 від 5 грудня 2014. |
2.5 | 4 жовтня 2010 | Подальший розвиток другої версії. Серед нововведень найголовнішими є: повноцінна реалізація багатопотоковості клієнтської бібліотеки; створення нового типу сервера з архітектурою SuperClassic; автономні транзакції у PSQL; можливість додавання, зміни та вилучення користувача за допомогою DSQL, а не сервісів чи утиліт; можливість міжбазових запитів; асинхронне завершення з'єднань; суттєве розширення моніторингу бази даних — можливість відстежувати та примусово завершувати поточні запити SQL тощо. Огляд версії доступний у форматі HTML. |
3.0 | 19 квітня 2016 | Версія 3.0 була найдовшим довгобудом в історії розвитку Firebird, перші роботи над версією почалися в 2006 році. Основні зміни:
|
4.0 | 1 червня 2021 | Версія 4.0 стала логічним продовженням версії 3.0. Основні зміни:
|
Особливості доступу та оброблення даних в Firebird
PSQL, DSQL та ESQL
PSQL (Procedural SQL) — підмножина SQL в Firebird, за допомогою якої пишуться збережені процедури та тригери. Надає можливість програмісту обробки даних у процедурному стилі — наприклад, за допомогою циклів.
Приклад
CREATE OR ALTER PROCEDURE SOME_PROC( IN_ID INTEGER) RETURNS ( OUT_ID INTEGER) AS begin while (IN_ID < 10) do begin OUT_ID = IN_ID; IN_ID = IN_ID + 1; suspend; end end
DSQL (Dynamic SQL) — підмножина SQL, за допомогою якої здійснюються запити до даних. Підтримуються неіменовані параметри. Приклад
select some_field1 from some_table where some_field2=? and some_field3 containing 'Wikipedia'
ESQL (Embedded SQL) — підмножина SQL, що використовується для написання швидкодіючих програм, де запити до даних є ключовими словами мови програмування. Після написання текст програми оброблюється спеціальним препроцесором (gpre), що входить до дистрибутиву. Застосовувався в програмах на мові С, проте в наш час[] практично вийшов з ужитку.
Не слід плутати Embedded SQL з Embedded версією серверу.
Приклад
EXEC SQL BEGIN DECLARE SECTION; char department[26], dept_no[16]; int dept_num; EXEC SQL END DECLARE SECTION; . . . printf("Enter name of department: "); gets(department); printf("\nEnter department number: "); dept_num = atoi(gets(dept_no)); EXEC SQL INSERT INTO COUNTRIES (DEPT_NO, DEPARTMENT) VALUES (:dept_num, :department);
Альтернативний доступ до даних
Окрім доступу через SQL, Firebird має можливість здійснювати операції з даними за допомогою . Наразі цей спосіб є застарілим.
Доступ до Firebird
Доступ до баз даних Firebird може здійснюватися через розподілену бібліотеку доступу (dll або so, залежно від платформи) — такий спосіб є стандартним; сама бібліотека є в комплекті дистрибутиву. Також є можливість доступу через java і .net провайдери.
Бібліотека доступу реалізує набір функцій для маніпуляції з даними, які можуть бути експортовані і використані в будь-якій мові програмування.
Окрім того, є достатньо багато обгорток під різні мови програмування для цієї бібліотеки, що звільняють програміста від рутинної низькорівневої роботи. Так, для Delphi популярними є бібліотеки IBX, FibPlus, UIB. Для — IBPP. Підтримка вбудована і в популярні скриптові мови, такі як PHP і Python.
Обмеження Firebird
Розмір бази даних — необмежено (залежить від можливостей файлової системи)
Розмір таблиці бази даних — 32 ТБ
Максимальна ширина вибірки (сумарно всі поля; не враховуючи блоби; враховується фактичний розмір рядкових даних) — 64 Кб.
Індексів на таблицю — 850
Довжина об'єкта метаданих (назва таблиці, процедури тощо) — 27 символів.
Повний список обмежень [ 15 грудня 2010 у Wayback Machine.]
Додаткова інформація
Апаратно-програмні вимоги та обмеження
Firebird існує у версіях для Unix (Linux, FreeBSD, Solaris, MacOS, HP-UX) та Windows і вимоги до апаратного забезпечення залежатимуть також від типу ОС, котра обслуговує сервер. Окрім того вимоги знаходяться в прямій залежності від очікуваного завантаження сервера баз даних, обсягу оброблюваних даних та кількості одночасно працюючих користувачів і говорити про конкретні цифри непросто. Проте загалом ці вимоги доволі низькі: при незначних навантаженнях та обсягах баз даних можна очікувати пристойної роботи на сервері з центральним процесором частотою 100—200 МГц та обсягом оперативної пам'яті 96-128 МБ.
Конфігурації сервера
Серверна частина Firebird існує в чотирьох різних взаємозамінних конфігураціях, кожна з яких має свої переваги і, відповідно, недоліки:
- Класичний сервер (classic server) — на кожне клієнтське з'єднання породжується новий процес; оптимізована для використання на багатопроцесорних комп'ютерах
- Суперсервер — всі з'єднання працюють у одному процесі; менші вимоги до пам'яті при кращій швидкодії на однопроцесорних машинах.
- Вбудований сервер (embedded) — весь сервер знаходиться у декількох бібліотеках (існує версія Yaffill Personal з єдиною бібліотекою); ідеально підходить для однокористувацьких систем, окрім іншого не вимагає встановлення.
- Архітектура SuperClassic — нова архітектура, що поєднує в собі частини classic та super. Всі з’єднання працюють в одному процесі, але на кожне з’єднання створюється окремий потік. Вбудований сервер з версії 2.5 працює як SuperClassic.
Ліцензування
Firebird випускається на умовах Публічної ліцензії Interbase (англ. IPL — InterBase Public License) та Початкової розробницької публічної ліцензії (англ. IDPL — Initial Developer's Public License), умови котрих збігаються з умовами Публічної ліцензії Mozilla версії 1.1. Це означає що Firebird повністю безкоштовний для використання та поширення. Відкриття джерельних кодів продукту, що використовує Firebird, не вимагається незалежно від ліцензії, під котрою цей продукт поширюється. Але у випадку, якщо ви модифікували джерельний код сервера, ви зобов'язані опублікувати його.
Конфлікт назв з Mozilla Firefox
У квітні 2003 року Фонд Mozilla (англ. Mozilla Foundation) вирішив перейменувати свій оглядач тенет з «Фенікс» (Phoenix) на «Вогнептах» (Firebird). Це рішення викликало спротив Проекту Firebird через плутанину, що могла виникнути між користувачами, які були б введені в оману існуванням двох різних програм з однаковими назвами. Диспут продовжувався до того часу, поки розробники Mozilla не перейменували свій проект на «Mozilla Firebird». У своєму зверненні вони також вказали, що «Mozilla Firebird» — це лише кодова назва проекту. 9 лютого 2004 року Mozilla перейменувала свій оглядач на «Firefox», що й завершило конфлікт.
Поширені міфи
- Firebird - це «безкоштовний Interbase »
- Firebird перших версій базувався на кодовій базі Interbase 6.0 Open Source Edition. Проте починаючи з версій Firebird 1.5 i Interbase 7.0 ці СКБД несумісні по структурі файлу бази даних і розвиваються кожна в своєму напрямі.
- Можна створити «невідновлювану резервну копію» бази даних
- Інструмент gbak при створенні резервної копії записує спершу метадані, а потім почергово сторінки даних з робочої бази. Якщо в метаданих, наприклад, є обмеження not null для значення стовпця, котре було внесене в процесі роботи з базою вже після того, як в стовпці були значення null, то при спробі відновлення такої бази даних ми отримаємо помилку. Проте сам gbak має параметри, що дозволяють коректно обробити такі помилки. Окрім того, починаючи з версії 2.0 появився інструмент nbackup, котрий резервує бази таким чином, що подібні помилки просто не проявляються (що, проте, не означає, що вони щезають самі по собі).
- Firebird не має логу транзакцій і тому не дає можливості (відновити базу даних, проаналізувати діяльність користувачів та інше)
- На відміну від MS SQL чи Oracle, Firebird є версійною СКБД, для котрої лог транзакцій не потрібен в принципі. Щодо відновлення бази даних див. вище. Щодо реєстрації/аналізу діяльності користувачів - вона реалізується з допомогою тригерів.
Див. також «Міфи про Interbase та Firebird» [ 24 листопада 2010 у Wayback Machine.]
Інструменти
- IBExpert — комерційне середовище розробки баз даних для ІБ/ФБ, проте безкоштовне для користувачів зі встановленою кодовою сторінкою Windows-1251 (ОС Windows)
- Database Master — FireBird Management Software
- FlameRobin — вільне кросплатформне середовище розробки баз даних для ІБ/ФБ
- www.sqlly.com — студія розробки «Firebird» (англ. Firebird Development Studio)
- Утиліти й засоби адміністрування баз даних Firebird
- BlazeTop — Візуальне середовище розробника й адміністратора InterBase та Firebird
- Jaybird — драйвер JCA-JDBC
- IB Provider — OLEDB-драйвер для доступу до Firebird. Є безкоштовна версія, що дозволяє працювати з OLE DB, ADO і ADO.NET
- FIBPlus — бібліотека компонентів Delphi, та Kylix для Firebird та InterBase
- UIB — безкоштовна бібліотека компонентів Delphi для Firebird та InterBase
Ресурси тенет та документація
- проекту «Firebird»
- Everything new in Firebird SQL since InterBase 6 - англомовна документація по всіх відмінностях Firebird від базового Interbase 6.0
- Словник [ 22 грудня 2010 у Wayback Machine.] по Firebird (рос.)
- Бразильський сайт [ 2 жовтня 2020 у Wayback Machine.] новин проекту (англ.)
- Список груп новин [Архівовано 24 серпня 2011 у WebCite] та поштових розсилок спільноти
- Російський сайт [ 25 квітня 2007 у Wayback Machine.] по InterBase, Firebird, Yaffil, компанія з продажу ПЗ. Містить практично всю наявну російськомовну документацію по Firebird та Interbase.
- Сайт проекту «Yaffil» [ 23 червня 2007 у Wayback Machine.]
- DotNetFirebird [ 21 березня 2007 у Wayback Machine.] (Using Firebird SQL in .NET)
- Ресурс для російськомовних розробників та тестерів Firebird
- Тексти ліцензій IPL [ 10 серпня 2007 у Wayback Machine.] та IDPL [ 10 серпня 2007 у Wayback Machine.], під котрими поширюється «Firebird»
- Firebird 4.0 is released [Випущено Firebird 4.0]. [en] (англійською) . 1 червня 2021. оригіналу за 6 червня 2021. Процитовано 6 червня 2021.
- System Requirements [Системні вимоги] (англійською) . оригіналу за 6 жовтня 2016. Процитовано 30 вересня 2016.
- . Архів оригіналу за 9 жовтня 2016. Процитовано 30 вересня 2016.
- (PDF) (англійською) . Архів оригіналу (PDF) за 2 жовтня 2016. Процитовано 30 вересня 2016.
- . Архів оригіналу за 22 вересня 2016. Процитовано 30 вересня 2016.
- (англійською) . Архів оригіналу за 2 жовтня 2016. Процитовано 30 вересня 2016.
- . Архів оригіналу за 2 жовтня 2016. Процитовано 30 вересня 2016.
- Firebird 3.0 is released [Firebird 3.0 випущено] (англійською) . 19 квітня 2016. оригіналу за 20 квітня 2016. Процитовано 20 квітня 2016.
- (PDF) (англійською) . Архів оригіналу (PDF) за 2 жовтня 2016. Процитовано 30 вересня 2016.
- Firebird 4.0 is released [Firebird 4.0 випущено] (англійською) . 19 квітня 2016. оригіналу за 6 червня 2021. Процитовано 6 червня 2021.
- (PDF) (англійською) . Архів оригіналу (PDF) за 6 червня 2021. Процитовано 6 червня 2021.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Firebird takozh FirebirdSQL kompaktna kros platformova vilna relyacijna sistema keruvannya bazami danih sho realizuye bilshist funkcij standartu SQL 2003 Vona mozhe zapuskatis na bilshosti UNIX podibnih sistem v tomu chisli Linux ta FreeBSD ta Windows FirebirdTipRelyacijna SKBDRozrobnik en Pershij vipusk12 bereznya 2002Stabilnij vipusk4 0 0 1 chervnya 2021 3 roki tomu 2021 06 01 Nestabilnij vipusk5 0 0 62 6 chervnya 2021 3 roki tomu 2021 06 06 PlatformaKrosplatformne programne zabezpechennyaOperacijna sistemaWindows Linux Solaris OS X FreeBSD HP UXMova programuvannyaC Rozmir14 MBDostupni movianglijskaUkrayinska movaniStan rozrobkiaktivnijLicenziya Mozilla Public License 1 1Onlajn dokumentaciyafirebirdsql org en firebird rdbms angl Repozitorijgithub com FirebirdSQL firebirdVebsajtfirebirdsql org Mediafajli u VikishovishiOsnovni mozhlivostiVidpovidnist vimogam ACID Firebird specialno sproektovano takim chinom shob zadovilnyati vimogi atomarnosti nesuperechnosti izolyaciyi ta dovgovichnosti tranzakcij angl Atomicity Consistency Isolation and Durability Versijna arhitektura osnovna osoblivist Firebird versijna arhitektura sho dozvolyaye serveru obroblyati rizni versiyi odnogo zapisu v bud yakij chas takim chinom sho kozhna tranzakciya bachit svoyu versiyu danih ne zavazhayuchi susidnim Takim chinom tranzakciyi sho chitayut ne blokuyut tranzakciyi sho pishut i navpaki Okrim togo ce daye mozhlivist vidmovitis vid zhurnalu tranzakcij i takim chinom zmenshiti jmovirnist poshkodzhennya sluzhbovoyi informaciyi bazi danih Zberezheni proceduri za dopomogoyu movi PSQL procedurna SQL mozhna stvoryuvati skladni zberezheni proceduri dlya obrobki danih na boci servera Takim chinom mozhna vinositi na storonu servera znachnu chastinu biznes logiki programnogo paketu chi formuvati dani dlya zvitiv Podiyi zberezheni proceduri ta trigeri mozhut generuvati podiyi na yaki v svoyu chergu mozhe pidpisatisya kliyentska programa i vidpovidnim chinom yih obroblyati Generatori dayut mozhlivist prosto realizovuvati avtoinkrementni polya oskilki voni pracyuyut nezalezhno vid tranzakcij to mozhut vikoristovuvatis dlya generaciyi pervinnih klyuchiv chi keruvannya trivalimi zapitami v inshih tranzakciyah Bazi danih v rezhimi lishe chitannya sproshuyut poshirennya danih napriklad na kompakt diskah osoblivo v poyednanni z vbudovanoyu angl embedded versiyeyu servera Povnij kontrol nad tranzakciyami odna kliyentska programa mozhe odnochasno vikonuvati dekilka tranzakcij vklyuchno z riznimi rivnyami izolyaciyi Okrim togo dostupni protokol dvofaznogo pidtverdzhennya tranzakcij sho zabezpechuye garantovanu stijkist pri roboti z kilkoma BD optimistichne blokuvannya danih blokuyetsya ne vsya storinka danih a lishe zmineni zapisi tochki zberezhennya tranzakcij ta avtonomni tranzakciyi pochinayuchi z versiyi 2 5 Rezervne kopiyuvannya zavdyaki v tomu chisli i versijnij arhitekturi nemaye potrebi zupinyati server dlya rezervuvannya bazi danih Proces rezervnogo kopiyuvannya zberigaye stan bazi danih na moment pochatku rezervuvannya ne shkodyachi roboti inshih kliyentiv Dodatkovo isnuye mozhlivist inkrementnogo rezervuvannya bazi danih pochinayuchi z versiyi 2 0 Trigeri dlya bud yakoyi tablici mozhna naznachiti dekilka trigeriv sho spracyuyut do chi pislya dodavannya onovlennya chi viluchennya danih U trigerah vikoristovuyetsya mova PSQL sho dozvolyaye zadavati pochatkovi znachennya danih pereviryati yih cilisnist zbudzhuvati podiyi ta in Pochinayuchi z versiyi 1 5 u Firebird z yavilis universalni trigeri sho dozvolyayut obroblyati vstavku onovlennya ta viluchennya danih v odnomu misci Zovnishni funkciyi mozhna realizuvati za dopomogoyu bud yakoyi movi programuvannya ta u viglyadi bibliotek koristuvackih funkcij angl User Defined Function UDF pid yednanih do servera Nabori simvoliv Firebird pidtrimuye bagato mizhnarodnih naboriv simvoliv z bagatma variantami sortuvannya zokrema tipovij dlya ukrayinskih koristuvachiv Windows nabir simvoliv Win1251 pidtrimuye tri varianti sortuvannya v tomu chisli win1251 ua sho dozvolyaye korektno sortuvati otrimani z bazi dani z ukrayinskimi simvolami na boci servera Okrim togo Firebird povnistyu pidtrimuye Unicode sho daye mozhlivist pracyuvati z bud yakimi naborami simvoliv Firebird povnistyu pidtrimuye standart SQL 92 ta realizuye bilshu chastinu standartiv SQL 99 i Syudi vhodyat virazi DML i DDL ob yednannya zapitiv virazi UNION DISTINCT pidzapiti IN EXISTS agregatni funkciyi AVG SUM MIN MAX LIST pochinayuchi z versiyi 2 1 vbudovani funkciyi ABS CEIL REPLACE GEN UUID tosho obmezhennya cilisnosti PRIMARY KEY UNIQUE FOREIGN KEY ta vsi zagalni tipi danih SQL Istoriya rozvitkuRSKBD Firebird bere svij pochatok vid inshoyi SKBD InterBase amerikanskoyi firmi Borland 25 lipnya 2000 roku cya firma ogolosila pro vipusk dzherelnih kodiv SKBD Interbase 6 0 u vidkritij dostup Na yih osnovi pochalo rozvivatis dva proekti vlasne Firebird ta z angl dyatel sho rozroblyavsya rosijskimi programistami ta prodovzhilas rozrobka InterBase Proekt Yaffil u 2003 roci priyednavsya do Firebird Versiya Data Opis Zmini 1 0 12 bereznya 2002 Persha versiya Osnovni zmini pidtrimka baz danih velikih rozmiriv pidtrimka nestandartnih portiv pidklyuchennya mozhlivist agregaciyi danih za UDF mozhlivist peretvorennya tablic ta procedur bez yih viluchennya vipravlennya chislennih pomilok Vsogo bulo vipusheno chotiri relizi ciyeyi gilki do 1 0 3 narazi yiyi rozvitok i pidtrimku zupineno 1 5 5 lyutogo 2004 Perehidna versiya Osnovni zmini pidtrimka novih tipiv danih yedini trigeri na rizni podiyi tochki zberezhennya inshimi slovami vkladeni tranzakciyi pidtrimka pesimistichnogo blokuvannya dinamichnih zapitiv cherez execute statement i psevdonimiv angl alias dlya baz danih Vsogo bulo vipusheno shist reliziv ciyeyi gilki ostannij 1 5 5 vid 12 grudnya 2007 roku Nastupni relizi mistitimut lishe kritichni onovlennya bezpeki 2 0 15 listopada 2006 Persha versiya sho nesumisna na rivni formatu fajliv z SKBD InterBase Osnovni zmini pidtrimka vivedenih angl derived tablic v zapitah imenovani kursori u procedurah zbilshennya rozmiru poliv sho mozhut buti proindeksovani bilsh povna pidtrimka standartu SQL 99 anonimni bloki vibirki angl execute block ta inkrementalnij bekap Vsogo bulo vipusheno sim reliziv ciyeyi gilki 2 0 7 vid 12 kvitnya 2012 roku ye ostannim Primitki do vipusku ciyeyi versiyi dostupni u formati PDF 2 1 18 kvitnya 2008 Rozvitok drugoyi versiyi Osnovni zmini pidtrimka tablic monitoringu zapitiv tranzakcij ta pidklyuchen pidtrimka timchasovih tablic povnij perehid na Yunikod novi agregatni ta vbudovani funkciyi pidtrimka NT avtentifikaciyi pokrashennya merezhevogo protokolu dlya roboti na povilnih liniyah pidtrimka domeniv u procedurah pidtrimka sumisnosti tekstovih blob poliv ta ryadkiv trigeri rivnya bazi danih i tranzakciyi 64 bitna versiya pid Windows Ostannim relizom ciyeyi gilki ye 2 1 7 vid 5 grudnya 2014 2 5 4 zhovtnya 2010 Podalshij rozvitok drugoyi versiyi Sered novovveden najgolovnishimi ye povnocinna realizaciya bagatopotokovosti kliyentskoyi biblioteki stvorennya novogo tipu servera z arhitekturoyu SuperClassic avtonomni tranzakciyi u PSQL mozhlivist dodavannya zmini ta viluchennya koristuvacha za dopomogoyu DSQL a ne servisiv chi utilit mozhlivist mizhbazovih zapitiv asinhronne zavershennya z yednan suttyeve rozshirennya monitoringu bazi danih mozhlivist vidstezhuvati ta primusovo zavershuvati potochni zapiti SQL tosho Oglyad versiyi dostupnij u formati HTML 4 lipnya 2016 roku bulo vipusheno onovlennya 2 5 6 3 0 19 kvitnya 2016 Versiya 3 0 bula najdovshim dovgobudom v istoriyi rozvitku Firebird pershi roboti nad versiyeyu pochalisya v 2006 roci Osnovni zmini Gilka 3 0 perepisana movoyu C i vidriznyayetsya pereroblenoyu arhitekturoyu optimizovanoyu dlya vikoristannya na bagatoyadernih sistemah Novij ob yektno oriyentovanij C API dlya rozrobki zastosunkiv Nova gnuchka sistema konfiguruvannya Dodatkovi modeli avtentifikaciyi Pidtrimka agreguvannya prav dostupu Zovnishni zberezheni proceduri trigeri i funkciyi movami Java C ta inshimi Pidtrimka zavdannya shem shifruvannya danih Mozhlivist viznachennya koristuvackih PSQL funkcij i DDL trigeriv Zasobi pidklyuchennya rozshiren dlya monitoringu Mozhlivist zavdannya trigeriv sho spracovuyut u razi viluchenni chi zmini danih Realizaciya povnocinnogo logichnogo tipu BOOLEAN Mozhlivist zavdannya tajm autu vikonannya zapitu 4 0 1 chervnya 2021 Versiya 4 0 stala logichnim prodovzhennyam versiyi 3 0 Osnovni zmini Realizovana pidtrimka logichnoyi replikaciyi Dodani novi tipi danih INT128 ta DECFLOAT Dovzhina nazv ob yektiv zbilshena z 31 do 63 simvoliv Maksimalnij rozmir storinki zbilsheno do 32 KB Dodana mozhlivist vkazannya chasovih poyasiv Dodanij nabir funkcij dlya roboti z cifromi pidpisami ta klyuchamiOsoblivosti dostupu ta obroblennya danih v FirebirdPSQL DSQL ta ESQL PSQL Procedural SQL pidmnozhina SQL v Firebird za dopomogoyu yakoyi pishutsya zberezheni proceduri ta trigeri Nadaye mozhlivist programistu obrobki danih u procedurnomu stili napriklad za dopomogoyu cikliv Priklad CREATE OR ALTER PROCEDURE SOME PROC IN ID INTEGER RETURNS OUT ID INTEGER AS begin while IN ID lt 10 do begin OUT ID IN ID IN ID IN ID 1 suspend end end DSQL Dynamic SQL pidmnozhina SQL za dopomogoyu yakoyi zdijsnyuyutsya zapiti do danih Pidtrimuyutsya neimenovani parametri Priklad select some field1 from some table where some field2 and some field3 containing Wikipedia ESQL Embedded SQL pidmnozhina SQL sho vikoristovuyetsya dlya napisannya shvidkodiyuchih program de zapiti do danih ye klyuchovimi slovami movi programuvannya Pislya napisannya tekst programi obroblyuyetsya specialnim preprocesorom gpre sho vhodit do distributivu Zastosovuvavsya v programah na movi S prote v nash chas koli praktichno vijshov z uzhitku Ne slid plutati Embedded SQL z Embedded versiyeyu serveru Priklad EXEC SQL BEGIN DECLARE SECTION char department 26 dept no 16 int dept num EXEC SQL END DECLARE SECTION printf Enter name of department gets department printf n Enter department number dept num atoi gets dept no EXEC SQL INSERT INTO COUNTRIES DEPT NO DEPARTMENT VALUES dept num department Alternativnij dostup do danih Okrim dostupu cherez SQL Firebird maye mozhlivist zdijsnyuvati operaciyi z danimi za dopomogoyu Narazi cej sposib ye zastarilim Dostup do Firebird Dostup do baz danih Firebird mozhe zdijsnyuvatisya cherez rozpodilenu biblioteku dostupu dll abo so zalezhno vid platformi takij sposib ye standartnim sama biblioteka ye v komplekti distributivu Takozh ye mozhlivist dostupu cherez java i net provajderi Biblioteka dostupu realizuye nabir funkcij dlya manipulyaciyi z danimi yaki mozhut buti eksportovani i vikoristani v bud yakij movi programuvannya Okrim togo ye dostatno bagato obgortok pid rizni movi programuvannya dlya ciyeyi biblioteki sho zvilnyayut programista vid rutinnoyi nizkorivnevoyi roboti Tak dlya Delphi populyarnimi ye biblioteki IBX FibPlus UIB Dlya S IBPP Pidtrimka vbudovana i v populyarni skriptovi movi taki yak PHP i Python Obmezhennya Firebird Rozmir bazi danih neobmezheno zalezhit vid mozhlivostej fajlovoyi sistemi Rozmir tablici bazi danih 32 TB Maksimalna shirina vibirki sumarno vsi polya ne vrahovuyuchi blobi vrahovuyetsya faktichnij rozmir ryadkovih danih 64 Kb Indeksiv na tablicyu 850 Dovzhina ob yekta metadanih nazva tablici proceduri tosho 27 simvoliv Povnij spisok obmezhen 15 grudnya 2010 u Wayback Machine Dodatkova informaciyaAparatno programni vimogi ta obmezhennya Firebird isnuye u versiyah dlya Unix Linux FreeBSD Solaris MacOS HP UX ta Windows i vimogi do aparatnogo zabezpechennya zalezhatimut takozh vid tipu OS kotra obslugovuye server Okrim togo vimogi znahodyatsya v pryamij zalezhnosti vid ochikuvanogo zavantazhennya servera baz danih obsyagu obroblyuvanih danih ta kilkosti odnochasno pracyuyuchih koristuvachiv i govoriti pro konkretni cifri neprosto Prote zagalom ci vimogi dovoli nizki pri neznachnih navantazhennyah ta obsyagah baz danih mozhna ochikuvati pristojnoyi roboti na serveri z centralnim procesorom chastotoyu 100 200 MGc ta obsyagom operativnoyi pam yati 96 128 MB Konfiguraciyi servera Serverna chastina Firebird isnuye v chotiroh riznih vzayemozaminnih konfiguraciyah kozhna z yakih maye svoyi perevagi i vidpovidno nedoliki Klasichnij server classic server na kozhne kliyentske z yednannya porodzhuyetsya novij proces optimizovana dlya vikoristannya na bagatoprocesornih komp yuterah Superserver vsi z yednannya pracyuyut u odnomu procesi menshi vimogi do pam yati pri krashij shvidkodiyi na odnoprocesornih mashinah Vbudovanij server embedded ves server znahoditsya u dekilkoh bibliotekah isnuye versiya Yaffill Personal z yedinoyu bibliotekoyu idealno pidhodit dlya odnokoristuvackih sistem okrim inshogo ne vimagaye vstanovlennya Arhitektura SuperClassic nova arhitektura sho poyednuye v sobi chastini classic ta super Vsi z yednannya pracyuyut v odnomu procesi ale na kozhne z yednannya stvoryuyetsya okremij potik Vbudovanij server z versiyi 2 5 pracyuye yak SuperClassic Licenzuvannya Firebird vipuskayetsya na umovah Publichnoyi licenziyi Interbase angl IPL InterBase Public License ta Pochatkovoyi rozrobnickoyi publichnoyi licenziyi angl IDPL Initial Developer s Public License umovi kotrih zbigayutsya z umovami Publichnoyi licenziyi Mozilla versiyi 1 1 Ce oznachaye sho Firebird povnistyu bezkoshtovnij dlya vikoristannya ta poshirennya Vidkrittya dzherelnih kodiv produktu sho vikoristovuye Firebird ne vimagayetsya nezalezhno vid licenziyi pid kotroyu cej produkt poshiryuyetsya Ale u vipadku yaksho vi modifikuvali dzherelnij kod servera vi zobov yazani opublikuvati jogo Konflikt nazv z Mozilla Firefox U kvitni 2003 roku Fond Mozilla angl Mozilla Foundation virishiv perejmenuvati svij oglyadach tenet z Feniks Phoenix na Vogneptah Firebird Ce rishennya viklikalo sprotiv Proektu Firebird cherez plutaninu sho mogla viniknuti mizh koristuvachami yaki buli b vvedeni v omanu isnuvannyam dvoh riznih program z odnakovimi nazvami Disput prodovzhuvavsya do togo chasu poki rozrobniki Mozilla ne perejmenuvali svij proekt na Mozilla Firebird U svoyemu zvernenni voni takozh vkazali sho Mozilla Firebird ce lishe kodova nazva proektu 9 lyutogo 2004 roku Mozilla perejmenuvala svij oglyadach na Firefox sho j zavershilo konflikt Poshireni mifi Firebird ce bezkoshtovnij Interbase Firebird pershih versij bazuvavsya na kodovij bazi Interbase 6 0 Open Source Edition Prote pochinayuchi z versij Firebird 1 5 i Interbase 7 0 ci SKBD nesumisni po strukturi fajlu bazi danih i rozvivayutsya kozhna v svoyemu napryami Mozhna stvoriti nevidnovlyuvanu rezervnu kopiyu bazi danih Instrument gbak pri stvorenni rezervnoyi kopiyi zapisuye spershu metadani a potim pochergovo storinki danih z robochoyi bazi Yaksho v metadanih napriklad ye obmezhennya not null dlya znachennya stovpcya kotre bulo vnesene v procesi roboti z bazoyu vzhe pislya togo yak v stovpci buli znachennya null to pri sprobi vidnovlennya takoyi bazi danih mi otrimayemo pomilku Prote sam gbak maye parametri sho dozvolyayut korektno obrobiti taki pomilki Okrim togo pochinayuchi z versiyi 2 0 poyavivsya instrument nbackup kotrij rezervuye bazi takim chinom sho podibni pomilki prosto ne proyavlyayutsya sho prote ne oznachaye sho voni shezayut sami po sobi Firebird ne maye logu tranzakcij i tomu ne daye mozhlivosti vidnoviti bazu danih proanalizuvati diyalnist koristuvachiv ta inshe Na vidminu vid MS SQL chi Oracle Firebird ye versijnoyu SKBD dlya kotroyi log tranzakcij ne potriben v principi Shodo vidnovlennya bazi danih div vishe Shodo reyestraciyi analizu diyalnosti koristuvachiv vona realizuyetsya z dopomogoyu trigeriv Div takozh Mifi pro Interbase ta Firebird 24 listopada 2010 u Wayback Machine InstrumentiIBExpert komercijne seredovishe rozrobki baz danih dlya IB FB prote bezkoshtovne dlya koristuvachiv zi vstanovlenoyu kodovoyu storinkoyu Windows 1251 OS Windows Database Master FireBird Management Software FlameRobin vilne krosplatformne seredovishe rozrobki baz danih dlya IB FB www sqlly com studiya rozrobki Firebird angl Firebird Development Studio Utiliti j zasobi administruvannya baz danih Firebird BlazeTop Vizualne seredovishe rozrobnika j administratora InterBase ta Firebird Jaybird drajver JCA JDBC IB Provider OLEDB drajver dlya dostupu do Firebird Ye bezkoshtovna versiya sho dozvolyaye pracyuvati z OLE DB ADO i ADO NET FIBPlus biblioteka komponentiv Delphi C Builder ta Kylix dlya Firebird ta InterBase UIB bezkoshtovna biblioteka komponentiv Delphi dlya Firebird ta InterBaseResursi tenet ta dokumentaciyaproektu Firebird Everything new in Firebird SQL since InterBase 6 anglomovna dokumentaciya po vsih vidminnostyah Firebird vid bazovogo Interbase 6 0 Slovnik 22 grudnya 2010 u Wayback Machine po Firebird ros Brazilskij sajt 2 zhovtnya 2020 u Wayback Machine novin proektu angl Spisok grup novin Arhivovano 24 serpnya 2011 u WebCite ta poshtovih rozsilok spilnoti Rosijskij sajt 25 kvitnya 2007 u Wayback Machine po InterBase Firebird Yaffil kompaniya z prodazhu PZ Mistit praktichno vsyu nayavnu rosijskomovnu dokumentaciyu po Firebird ta Interbase Sajt proektu Yaffil 23 chervnya 2007 u Wayback Machine DotNetFirebird 21 bereznya 2007 u Wayback Machine Using Firebird SQL in NET Resurs dlya rosijskomovnih rozrobnikiv ta testeriv Firebird Teksti licenzij IPL 10 serpnya 2007 u Wayback Machine ta IDPL 10 serpnya 2007 u Wayback Machine pid kotrimi poshiryuyetsya Firebird Firebird 4 0 is released Vipusheno Firebird 4 0 en anglijskoyu 1 chervnya 2021 originalu za 6 chervnya 2021 Procitovano 6 chervnya 2021 System Requirements Sistemni vimogi anglijskoyu originalu za 6 zhovtnya 2016 Procitovano 30 veresnya 2016 Arhiv originalu za 9 zhovtnya 2016 Procitovano 30 veresnya 2016 PDF anglijskoyu Arhiv originalu PDF za 2 zhovtnya 2016 Procitovano 30 veresnya 2016 Arhiv originalu za 22 veresnya 2016 Procitovano 30 veresnya 2016 anglijskoyu Arhiv originalu za 2 zhovtnya 2016 Procitovano 30 veresnya 2016 Arhiv originalu za 2 zhovtnya 2016 Procitovano 30 veresnya 2016 Firebird 3 0 is released Firebird 3 0 vipusheno anglijskoyu 19 kvitnya 2016 originalu za 20 kvitnya 2016 Procitovano 20 kvitnya 2016 PDF anglijskoyu Arhiv originalu PDF za 2 zhovtnya 2016 Procitovano 30 veresnya 2016 Firebird 4 0 is released Firebird 4 0 vipusheno anglijskoyu 19 kvitnya 2016 originalu za 6 chervnya 2021 Procitovano 6 chervnya 2021 PDF anglijskoyu Arhiv originalu PDF za 6 chervnya 2021 Procitovano 6 chervnya 2021