Розглянуто питання, необхідні розробнику для створення клієнт-серверних додатків з використанням СУБД Firebird, що стала розвитком СУБД Borland Interbase 6. Утримується огляд концепцій і моделей архітектури клієнт / сервер, а також практичні рекомендації по роботі з клієнтськими бібліотеками Firebird. Детально описані особливості типів даних SQL, мова маніпулювання даними (Data Manipulation Language, DML), а також синтаксис і оператори мови визначення даних (Data Definition Language, DDL). Велика увага приділена опису транзакцій і наведено поради щодо їх використання при розробці додатків. Описано програмування на стороні клієнта і сервера написання тригерів і збережених процедур, створення і використання подій бази даних, обробка помилок в коді на сервері і багато іншого. Матеріал супроводжується численними прикладами, порадами та практичними рекомендаціями.
Для розробників баз даних
Книга: Firebird КЕРІВНИЦТВО РОЗРОБНИКА БАЗ ДАНИХ
Додаток 7. Обмеження Firebird
Додаток 7. Обмеження Firebird
Більшість фактичних обмежень Firebird практично ширше того, що потрібно в програмах. Наприклад, ви можете визначити до 32 767 [169] стовпців в таблиці, проте навіщо ви будете це робити? У табл. 7.1 представлені теоретичні та практичні обмеження, що застосовуються до Firebird 1.0.x і 1.5. Деякі з цих обмежень будуть змінені у бік поліпшення в наступних версіях, так що переглядайте нотатки з релізу, щоб відстежити зміни.
Таблиця П7.1. Обмеження Firebird 1.0.x і 1.5
Теоретичне обмеження менше для Windows з іменованими каналами (NetBEUI) - сервер, швидше за все, зависне при більш ніж 930 одночасних з'єднаннях. Практично нормальним буде не більше 150 одночасних підключень клієнтів суперсервера при звичайних інтерактивних додатках для сервера з низькими специфікаціями. Для Класичного сервера ця кількість може бути менше через те, що кожен клієнт використовує більше ресурсів
Максимальна кількість баз даних, відкритих в одній транзакції
Кількість баз даних, відкритих при запуску транзакції за допомогою isc_start_multiple (), обмежується тільки доступними системними ресурсами. Транзакція, запущена за допомогою isc start transaction (), обмежує кількість одночасно підключених баз даних 16
Практичне обмеження залежить від доступного обсягу RAM. Загальний розмір (сторінки * розмір сторінки для суперсервера, сторінки * розмір сторінки * кількість одночасних користувачів для Класичного сервера) ніколи не повинен перевищувати половини доступною пам'яті RAM. Розглядайте в якості практичного обмеження 10 000 сторінок і збільшуйте або зменшуйте, відходячи від цієї кількості, відповідно до вимог продуктивності
Максимальна кількість версій для структури таблиці
Firebird зберігає не більше 255 форматів для кожної таблиці. Версія формату збільшується на 1 кожен раз, коли виконується зміна метаданих. Коли таблиця досягає обмеження, вся база даних стає недоступною - потрібно зробити її резервну копію і виконати відновлення
Найбільшою довжиною строки
Підраховується в байтах. Стовпці масивів і BLOB кожен займає 8 байт для зберігання ідентифікатора; VARCHAR - довжина в байтах + 2; CHAR - довжина в байтах; SMALLINT - 2; INTEGER, FLOAT, DATE і TIME - 4; BIDINT, DOUBLE PRECISION і TIMESTAMP - 8; NUMERIC і DECIMAL - 4 або 8 залежно від точності. Системні таблиці мають обмеження на розмір сторінки 128 Кбайт
Максимальна кількість рядків [172]
Більше або менше. Рядки під- зчитуються за допомогою 32-бітового беззнакового цілого для таблиць і 32-бітового для індексу. Таблиця з довгою рядком - володарка багатьох полів або з дуже довгими полями - може зберігати менше рядків, ніж таблиця з дуже короткими рядками. Всі рядки - включаючи віддалені - потрапляють в це число; BLOB, збережені на сторінках даних таблиці, також входять в це число
Максимальна кількість стовпців