Firebird sql что это
Firebird sql что это
Разделительный символ строк
Идентификаторы в двойных кавычках
Смысл этого « подарка » заключался в упрощении процесса миграции метаданных из нестандартных СУБД в совместимые со стандартом. Обратная сторона медали заключается в том, что если Вы решаете использовать идентификаторы в двойных кавычках, их чувствительность к регистру и заключение их в двойные кавычки становятся обязательными.
При выполнении ограниченного набора условий, Firebird предлагает определенное послабление. Если идентификатор, определенный в двойных кавычках:
был определен в верхнем регистре,
не совпадает с ключевым словом,
и не содержит пробелов,
. тогда он может использоваться в SQL-выражениях без кавычек и учета регистра символов. (Однако, если Вы заключаете идентификатор в кавычки, Вы должны снова учитывать регистр символов!)
Внимание
. в результате Вы получите записи из таблицы » TESTTABLE «, а не » TestTable «!
Обычно, рекомендуется, в случае отсутствия убедительных причин, избегать использования двойных кавычек при определении идентификаторов. К счастью, Firebird позволяет одновременно использовать идентификаторы в кавычках и без них – поэтому не бывает проблем в случае необходимости использования ключевых слов в качестве идентификаторов в унаследованных базах данных.
Внимание
Некоторые инструменты администрирования по умолчанию принудительно заключают в двойные кавычки все идентификаторы. Постарайтесь выбрать средство, которое позволяет делать это опционально.
Апострофы в строках
Если Вам необходимо использовать в строке символ апострофа, Вы можете « экранировать » (escape) его, предварив его другим апострофом.
Например, следующая строка приведет к ошибке:
потому, что анализатор проинтерпретирует текст как строку ‘Joe’, за которой следуют какие-то неизвестные ключевые слова.
Чтобы сделать строку правильной, необходимо добавить второй апостроф:
Обратите внимание на то, что это ДВА символа одинарной кавычки, но не одна двойная кавычка.
Конкатенация строк
В SQL для конкатенации строк используются два символа « трубы » (ASCII 124, в паре без пробела между ними). При этом « + » является символом арифметического сложения, соответственно, при попытке его использования для объединения строк, вы получите сообщение об ошибке. Следующее выражение дополняет значения столбца фразой « Reported by: »:
Будьте внимательны с конкатенацией и учтите, что Firebird выдаст сообщение об ошибке при попытке соединения значений двух или более столбцов типа char или varchar, чья суммарная потенциальная длина превышает предельный размер для строковых типов (32 Kb).
Кроме этого обратите внимание на нижеизложенный раздел NULL в выражениях.
Деление целых чисел
В соответствии со стандартом SQL, Firebird при вычислении частного от деления целого числа на целое округляет результат до ближайшего меньшего целого. В случае если Вы не были готовы, это может слегка шокировать Вас при получении результатов.
Например, следующее вычисление является корректным с точки зрения SQL:
Если Вы переходите с СУБД, в которой частное от деления целого на другое целое приводится к нецелому, Вам будет необходимо доработать подобные выражения и заменить тип делимого, делителя или обоих на число с плавающей или фиксированной точкой.
Например, предыдущий пример, для получения результата отличного от нуля, можно изменить следующим образом:
NULL в выражениях
Приведем некоторые, возможно « удивительные » для Вас, примеры вычислений и сравнений с участием NULL:
1 + 2 + 3 + NULL = NULL
‘Home ‘ || ‘sweet ‘ || NULL = NULL
Подсказка
Воспринимайте NULL как НЕИЗВЕСТНО и ощущения странности результатов пропадут! Если значение Number не известно, то результат ‘ 1 + 2 + 3 + Number‘ так же получается не известным (и поэтому NULL). Если содержимое MyString не известно, тогда не известен результат конкатенации ‘ MyString || YourString‘ (д аже если YourString не- NULL) и т.д.
Firebird
Из Википедии — свободной энциклопедии
Создан в 2001 году как ответвление Interbase 6.0, развивается сообществом разработчиков без явной поддержки какой-либо крупной корпорации.
Как и Interbase, использует MVCC, поддерживает хранимые процедуры на языке PSQL, триггеры, транзакционно-независимые 64-битные генераторы последовательностей. Имеется возможность работать с базами данных только для чтения (что позволяет использовать базы данных, например, на CD-ROM и удобно в комбинации со встраиваемой версией сервера Firebird Embedded). Реализовано несколько уровней изолированности тразакций, обеспечивается резервное копирование без останова сервера. Реализована поддержка Юникода.
Внешние функции (UDF) могут быть написаны на любом языке и легко подключены к серверу в виде разделяемых библиотек, позволяя расширять возможности сервера «изнутри». Поддерживается SQL-92 Entry Level 1, реализована большая часть стандарта SQL-99, существует ряд дополнений стандартного синтаксиса.
Работает на аппаратных платформах x86, x64 и PowerPC, SPARC, выпускались версии для Windows, Linux, macOS, HP-UX, FreeBSD, Solaris и ряда других операционных систем, впоследствии сборка стала вестись только для 32- и 64-разрядных версий Windows, Linux и macOS.
Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы, теоретический предел — 64 TБ для одного файла базы данных.
Существует четыре архитектуры сервера:
Все архитектуры используют одинаковый формат файла базы данных, таким образом, в любой момент можно переключиться на другую архитектуру.
Выпускается под условиями IPL (InterBase Public License) и IDPL (Initial Developer’s Public License), которые совпадают с условиями Mozilla Public License 1.1. Firebird бесплатен для использования и распространения, в случае модификации исходного кода сервера требуется публикация изменений.
Firebird sql что это
Узнайте все о Firebird за 2 минуты
Введение
Если Вы читаете эту страницу, то, скорее всего, это ваше первое знакомство с Firebird. Далее будут показаны основные возможности этой системой управления базами данных (СУБД). Уверены, что после прочтения вы захотите скачать инсталлятор и попробовать ее самостоятельно.
История
Firebird ведет свое начало от исходных кодов Borland InterBase 6.0. Это программа с открытым исходным кодом, не имеющая двойных лицензий, вы можете использовать ее совершенно СВОБОДНО как в коммерческих приложениях, так и в приложениях с открытым кодом (open source)!
Технологии, на которых основан Firebird используются более 20 лет, что сделало его весьма зрелым и стабильным продуктом.
Основные свойства:
Основные характеристики Firebird:
Попробуйте прямо сейчас!
Это очень просто. Размер инсталлятора обычно не превышает 7 MB (зависит от вашей операционной системы), а процесс установки полностью автоматизирован. Вы можете скачать инсталлятор с сайта Firebird.
Обратите внимание, что существует 4 варианта сервера: SuperServer, Classic, SuperClassic и Embedded. Для первого знакомства лучше подходит SuperServer. Classic рекомендуется для многопроцессорных машин, а также в некоторых других специфических случаев. SuperServer имеет разделяемый между всеми соединениями к базе данных кэш и использует потоки для обслуживания каждого соединения, а Classic запускает отдельный процесс с собственным кэшем для независимой работы с каждым отдельным соединением к базе данных.
Firebird включает в себя набор консольных программ, позволяющих создавать базы данных, исследовать их характеристки, выполнять операторы SQL и скрипты, производить резервное копирование данных, их восстановление из резервной копии и так далее. Если же более привычными для Вас являются средства, оснащенные графическим интерфейсом (GUI), то в этом случае также имеется множество вариантов для выбора нужной программы на ваш вкус. Для начала можете попробовать те из них, которые перечислены в списке в конце этой страницы.
Windows-версия сервера может быть запущена как в виде сервиса, так и в виде обычного приложения. Для управления сервером инсталлятор создает специальную иконку в «Панели Управления» операционной системы.
Документация
На сайте Firebird Вы можете найти большое количество документов, статей и ответов на часто задаваемые пользователями вопросы. Кроме того Вы можете получить поддержку на Вашем родном языке, обратившись к местному сообществу Firebird на одном из сайтов или форумов, посвященных обсуждению Firebird.
Подробнее эту информацию можно прочесть на сайте Firebird Также, для получения оперативной информации о последних связанных с СУБД событиях и новостях, Вы можете обратиться к сайту www.firebirdnews.org.
Любой размер
Инструменты и компоненты
Ниже перечислены ссылки на некоторые связанные с Firebird ресурсы, например, программы, драйверы и тому подобное.
Firebird
В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.
Среди недостатков: отсутствие кеша результатов запросов, полнотекстовых индексов.
Содержание
Факты о Firebird
Firebird является сервером баз данных. Один сервер Firebird может обрабатывать несколько сотен независимых баз данных, каждую с множеством пользовательских соединений. Он является полностью свободным от лицензионных отчислений даже для коммерческого использования.
Основные характеристики
Соответствие стандарту SQL
Firebird также реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа. Для более подробной информации см. Firebird Reference Guide и Release Notes.
Требования к аппаратному обеспечению
Доступные операционные системы
Переход от одной ОС к другой весьма прост — достаточно сделать резервную копию базы в переносимом формате в одной системе и восстановить на другой.
Средства доступа к серверу
Физические ограничения
Версии сервера
Не поддерживаемые версии:
Архитектуры сервера
Существует четыре различных взаимозаменяемых архитектуры сервера.
Все архитектуры используют одинаковый формат файла базы данных, таким образом в любой момент можно переключиться на другую архитектуру.
Лицензирование
Средства разработки и администрирования
FlameRobin
FlameRobin — поддерживает Firebird. Кросс-платформенная архитектура. Есть редактор SQL, DDL, управление пользователями.
Лицензия: open source, распространяется бесплатно.
IBExpert
IBExpert — Поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, отладчик хранимых процедур, а также множество других возможностей.
Лицензия: Бесплатный для жителей постсоветского пространства, для остальных: от 179 евро.
IB/FB Development Studio
IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.
Лицензия: Бесплатно для России, для остальных: от 149 евро.
Blaze Top
Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и Interbase.
Лицензия: Бесплатно для России, для остальных: от 129 евро.
Database Workbench
Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и Interbase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.
Лицензируется отдельно на Interbase и отдельно на Firebird. 171$ за каждый движок (Interbase или Firebird).
EMS SQL Manager for InterBase Firebird
Есть платная и бесплатная (lite) версия
Database Master
Database Master — средство управления системами баз данных FireBird, PostgreSQL, Oracle, SQL-Server, MySQL, ODBC, OleDB, MongoDB, XML и SQLite. Сайт: Database Master — FireBird Management Software
Поддержка
Ряд компаний (например, IBPhoenix, iBase) предоставляют услугу профессиональной поддержки Firebird.
Сообщество
История
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Firebird (база данных)
Firebird (FirebirdSQL) — кроссплатформенная система управления базами данных (СУБД), работающая на Mac OS X, Linux, Microsoft Windows и разнообразных UNIX платформах. [Источник 3]
Содержание
Общее
Технологии, на которых основан Firebird используются более 20 лет, что сделало его весьма зрелым и стабильным продуктом.
История
Через неделю после того, как Borland выпустила СУБД InterBase 6.0 25 июля 2000 года, из её исходников на SourceForge появился проект Firebird. СУБД Firebird 1.0 была выпущена для Linux, Microsoft Windows и Mac OS X 11 марта 2002 года, а позже, в течение следующих двух месяцев, появились порты на Solaris, FreeBSD 4 и HP-UX.
В 2000 году началась работа по портированию кодовой базы с C на C ++.
23 февраля 2004 года была выпущена Firebird 1.5, она стала первой стабильной версией, сделанной на новой кодовой базе. Версия 1.5 отличалась улучшенным оптимизатором запросов, условными выражениями SQL-92, точками сохранения SQL: 1999 и поддержкой явной блокировки.
12 ноября 2006 года была выпущена Firebird 2.0, в новой версии появилась поддержка 64-разрядных архитектур, таблиц, вложенных в предложения FROM, и программируемых тайм-аутов блокировки при блокировании транзакций.
В Firebird 2.5 были представлены новые функции, такие как улучшенная многопоточность, синтаксис регулярных выражений и возможность запроса удаленных баз данных.
На Google Summer of Code 2013 началась работа по интеграции Firebird, как замены HSQLDB в LibreOffice. [Источник 5]
Конфликт имён с Mozilla Firefox
В апреле 2003 года организация Mozilla объявила о переименовании своего веб-браузера из Phoenix в Firebird после спора с торговой маркой Phoenix Technologies.
Это решение вызвало беспокойство в рамках проекта базы данных Firebird из-за предположения, что у пользователей и поисковых систем может возникнуть путаница между базой данных и веб-браузером, называющимися Firebird. Разработчики Mozilla ответили заявлением, в котором ясно сказано, что их программный пакет назывался «Mozilla Firebird», а не «Firebird». В заявлении также говорится, что имя Mozilla Firebird было кодовым именем проекта. Спор был решен 9 февраля 2004 года, когда Mozilla изменила имя своего браузера на Mozilla Firefox, тем самым прекратив конфликт. [Источник 6]
Особенности
Основные характеристики
Инструменты и компоненты
Ниже перечислены ссылки на некоторые связанные с Firebird ресурсы, например, программы, драйверы и тому подобное.
Графические программы для администрирования баз данных
Драйверы и компоненты доступа
Программы для репликации баз данных
Технология хранения и индексирования
Multi-Generational Architecture (MGA)
Firebird унаследовала архитектуру хранения Interbase. Для обеспечения ACID-свойств транзакций, механизм работы базы данных хранит различные версии каждой записи, изменённой активными пользователями в базе данных. После завершения транзакции, последняя версия каждой измененной записи помечается как окончательная. В случае отката транзакции, базы данных оставляет отметку на оригинальной версии записи, оставляя данные нетронутыми. В результате этого, количество записей на диск с использованием Firebird сильно уменьшено по сравнению с базами данных, использующими традиционную архитектуру журнала транзакций. Запись транзакций не препятствует чтению и наоборот, потому что каждый пользователь видит свою собственную версию базы данных. [Источник 7] Компромисс заключается в том, время от времени требуется удаление старых версий записей и для освобождения дискового пространства. [Источник 8]
Multi-Generational Architecture (архитектура с несколькими поколениями) обеспечивает одновременное выполнение операций OLTP и DSS / OLAP без задержек, которые вызывают механизмы блокировки, используемые в других продуктах.
Индексы
В Firebird все индексы базы данных ведут себя как хорошо настроенные «кластерные индексы», используемые другими архитектурами. Индексы Firebird не являются объектами двухфазной блокировки, в следствие чего логические операции «и» и «или» могут выполняться на промежуточных этапах с незначительной стоимостью, исключая необходимость выбора оптимизатором альтернативных индексов.
Варианты использования
API-интерфейсы
Нативное API Firebird используется прямо или косвенно приложениями или промежуточным программным обеспечением, которые подключаются к базе данных Firebird. Оно реализована в клиентской библиотеке, fbclient.dll, в системах Windows и в libfbclient.so в Unix системах. [Источник 9]
Лицензирование
Движок базы данных Firebird и его модули выпускаются под лицензией с открытым исходным кодом, Initial Developer’s Public License (IDPL), которая является вариантом версии Mozilla Public License (MPL) версии 1.1. Разработчику не требуется открывать исходный код продуктов использующих Firebird или производные от его исходного кода, но если разработчик решит это сделать, то должны быть выполнены некоторые условия. IDPL позволяет разработчику создавать собственные приложения с закрытым исходным кодом, которые используют Firebird или основаны на нем.
Средства разработки и администрирования
FlameRobin
FlameRobin — поддерживает Firebird. Кросс-платформенная архитектура. Есть редактор SQL, DDL, управление пользователями.
Лицензия: open source, распространяется бесплатно.
IBExpert
IBExpert — Поддерживает Firebird, Interbase, Yaffil. Редакторы DDL и DML. Визуальный построитель запросов. Автозавершение кода, Metadata Extractor, отладчик хранимых процедур, а также множество других возможностей.
Лицензия: Бесплатный для жителей постсоветского пространства, для остальных: от 179 евро.
IB/FB Development Studio
IB/FB Development Studio — Визуальный дизайнер баз данных, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности.
Blaze Top
Blaze Top — Инструмент разработчика и администратора баз данных. Поддерживает Firebird и Interbase.
Лицензия: Бесплатно для России, для остальных: от 129 евро.
Database Workbench
Database Workbench — поддерживает несколько серверов баз данных, среди которых есть Firebird и Interbase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.
Лицензируется отдельно на Interbase и отдельно на Firebird. 171$ за каждый движок (Interbase или Firebird).
EMS SQL Manager for InterBase Firebird
Есть платная и бесплатная (lite) версия
Database Master
Database Master — средство управления системами баз данных FireBird, PostgreSQL, Oracle, SQL-Server, MySQL, ODBC, OleDB, MongoDB, XML и SQLite. Сайт: Database Master — FireBird Management Software
Установка
Установка сервера
Диски
Сервер Firebird и любые базы данных, к которым Вы подключаетесь или которые Вы создаете, должны располагаться на жестком диске, физически подключенном к компьютеру (на котором работает сервер). Вы не можете располагать сервер, какие либо его компоненты или какую-либо базу данных на подключенном (mapped) диске, разделяемом (share) диске или сетевой файловой системе.
Дистрибутивные пакеты
Инсталляционная программа Firebird предоставляет Вам возможность выбирать между Superserver или Classic Server. Как уже отмечалось ранее, Вам следует выбрать Superserver, за исключением случаев, когда Вы понимаете разницу, и у Вас есть основания использовать Classic Server.
Если Firebird устанавливается на Windows 95/98/ME, отмените опцию, предлагающую установить апплет на Панель Управления. На этих версиях он не работает. Далее по тексту Вам будет предложено альтернативное решение.
На серверных платформах – Windows NT, 2000 и XP – сервис Firebird будет запущен по окончанию установки. После перезагрузки сервера, он будет стартовать в автоматическом режиме.
В любом случае, прочитайте Release Notes, относящиеся к версии Firebird, которую Вы собираетесь устанавливать. Возможны значительные расхождения между версиями различных Posix операционных систем, особенно это актуально для ОС, распространяемых в открытых кодах (Open Source). Соответственно есть вероятность, что известные специфические особенности относительно Вашего случая описаны.
В случае если Ваш дистрибутив Linux поддерживает установку rpm-пакетов, обратитесь к соответствующему руководству за инструкциями по использованию RPM Package Manager. В большинстве дистрибутивов у Вас будет выбор между командной строкой или графическим интерфейсом.
Установка клиента
Каждая удаленная клиентская машина требует наличия клиентской библиотеки – libfbclient.so на Posix-системах или fbclient.dll на Windows-системах – соответствующую версии сервера Firebird.
В целях обеспечения совместимости с продуктами третьих фирм, Firebird начиная с версии 1.5 может, в зависимости от версии и платформы, установить символические ссылки, скопировать библиотеки под именами, используемыми в версии 1.0 («старые» InterBase-названия).
В настоящее время нет компактной версии дистрибутива, позволяющей устанавливать клиентскую часть на Windows-клиента. В общем случае, когда нужно обеспечить взаимодействие Windows-клиента с Linux- или другим Posix- сервером Firebird (или другим компьютером под Windows), Вам необходимо загрузить полноценный дистрибутив под Windows, соответствующий версии Firebird, установленной на Вашем Linux или другом сервере.
Запустите инсталлятор и выберите в меню опцию CLIENT ONLY (только клиент).
Linux и некоторые другие Posix-системы
Для установки Linux-клиентов также нет легковесной версии дистрибутива, вдобавок различные варианты Posix-систем и даже различные представители Linux-семейства обладают отличительными особенностями в требованиях к расположению некоторых файлов в рамках файловой системы. Поэтому некоторые дистрибутивы Firebird для Posix-систем даже не предлагают опции по установке только клиентской части.
Следующая последовательность действий должна подойти для установки Firebird-клиента на большинстве Linux-системах. Для осуществления изложенных манипуляций, Вам необходимо войти в систему с правами пользователя root.
На сервере, на котором установлен Firebird, найдите в директории /opt/firebird/lib файл libfbclient.so.1.m.n (где m.n означают минорное значение версии, например 5 для Firebird версии 1.5, и номер сборки соответственно) и скопируйте его на клиентскую машину в директорию /usr/lib.
Создайте символические ссылки, выполнив следующие команды:
замените 1.m.n номером Вашей версии, например, 1.5.0 или 1.6.1
Если Вы используете программы, требующие наличия унаследованных библиотек, создайте дополнительно следующие символические ссылки:
Скопируйте файл firebird.msg в директорию /opt/firebird
Пример установки в Linux
Установка Firebird 3.0.3 на Ubuntu 17.10 Прежде всего скачиваем tar-архив для Linux с сайта Firebird (https://www.firebirdsql.org/en/firebird-3-0/), после чего распаковываем архив в любое удобное место. (В данном случае архив был распакован по адресу: Downloads/Firebird-3.0.3.32900-0.amd64) Для того, чтобы установить Firebird необходимо установить libtommath, о чём сразу же сообщит установщик и прекратит работу.
Потому производим установку:
После успешной установки необходимо сделать так, чтоб файл /usr/lib/x86_64-linux-gnu/libtommath.so.0 ссылался на /usr/lib/x86_64-linux-gnu/libtommath.so.1. Для этого необходимо сделать:
Теперь можно начать установку. Переходим в папку, куда был распакован Firebird и запускаем установку:
После успешной установки будет необходимо задать пароль для пользователя базы данных.
Если всё прошло успешно, автоматически будут запущены сервисы firebird и открыто соединение на порту 3050, для проверки нужно ввести:
Создание базы данных
Для создания базы данных прежде всего необходимо создать путь по которому будут лежать все файлы. (В данном случае это будет каталог /firebird/)
После чего нужно запустить isql, который располагается в директории /opt/firebird/bin:
Для создания базы данных в заранее подготовленном каталоге необходимо выполнить следующие команды (page_size задаёт размер страницы, точка с запятой в конце некоторых строк обязательна):
После этого с базой /firebird/test.fdb можно работать так же, как и с любой другой SQL базой. Следующим образом можно создать таблицу, добавить в неё данные и прочитать содержимое таблицы:
Для выхода из приложения достаточно просто ввести в консоли:
Заключение
В ходе данной работы были рассмотрены основные особенности базы данных Firebird, а также была произведена ее установка на ОС Ubuntu 17. Был продемонстрирован процесс создания простой базы данных с помощью isql.
На основе проделанной работы можно сделать вывод о том, что Firebird является довольно простой базой данных, работа с которой происходит через SQL, что добавляет удобства при переходе с любой другой базы данных, которая работает с языком SQL. В сравнении с MySQL, как с другой SQL базой данных с открытым исходным кодом, Firebird является менее удобной при работе и доставляет гораздо больше проблем при установке. Если для установки MySQL достаточно одного apt-get, до у Firebird пришлось потратить некоторое время для того, чтобы разобраться, почему база данных не хочет устанавливаться, либо не хочет работать после установки. Однако у Firebird есть некоторые плюсы, которые связаны с потребностью тех, кто им пользуется, например, эта база данных занимает меньше места в сравнении с MySQL и поддерживает большее количество платформ, что может оказаться для кого-то более нужным, чем некоторые функции, которые есть в MySQL, но отсутствуют в Firebird.