FireBird. Установка, разработка баз данных, реализация запросов. Методические указания
.pdfМинистерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Оренбургский государственный университет»
Кафедра прикладной информатики в экономике и управлении
Н.Ф. Панова
FIREBIRD. УСТАНОВКА, РАЗРАБОТКА БАЗ ДАННЫХ, РЕАЛИЗАЦИЯ ЗАПРОСОВ
Рекомендовано к изданию Редакционно-издательским советом федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Оренбургский государственный университет» в качестве методических указаний для студентов, обучающихся по программам высшего профессионального образования по направлениям
подготовки 230700.62 Прикладная информатика, 231300.62 |
Прикладная |
математика, 080500.62 Бизнес-информатика |
|
Оренбург
2014
УДК 004.65(076.5)
ББК 32.973-018.2я7 П 16
Рецензент - кандидат экономических наук О.Н. Яркова
Панова, Н.Ф.
П 16 FireBird. Установка, разработка баз данных, реализация запросов: методические указания/Н.Ф. Панова; Оренбургский гос. ун-т.- Оренбург : ОГУ, 2014. - 45 с.
Методические указания содержат теоретический материал по установке и настройке СУБД FireBird, основам работы в среде данной СУБД, а также пример разработки базы данных.
Предназначены для студентов, обучающихся по программам высшего профессионального образования по направлениям подготовки 230700.62 Прикладная информатика, 231300.62 Прикладная математика, 080500.62 Бизнес-информатика.
УДК 004.65(076.5) ББК 32.973-018.2я7
Панова Н.Ф., 2014
ОГУ, 2014
2
|
Содержание |
|
Введение…………………………………………………………………………..………4 |
||
1 Свободная СУБД FireBird........................................................................................ |
5 |
|
1.1 |
Основные возможности СУБД............................................................................. |
5 |
1.2 |
Краткая характеристика СУБД FireBird ............................................................. |
6 |
1.3 |
Требования к аппаратному обеспечению и средства доступа к серверу ........ |
8 |
1.4 |
Физические ограничения ...................................................................................... |
9 |
2 Установка программы............................................................................................ |
10 |
|
2.1 |
Установка серверной части ................................................................................ |
10 |
2.2 |
Установка клиентской части .............................................................................. |
15 |
3 Основы работы в среде FireBird ........................................................................... |
17 |
|
3.1 |
Создание и подключение к БД........................................................................... |
17 |
3.2 |
Создание доменов и таблиц ............................................................................... |
18 |
3.3 |
Пример разработки БД........................................................................................ |
22 |
3.5 |
Оператор запросов select .................................................................................... |
31 |
3.5.1 Обобщающие функции в операторе select..................................................... |
35 |
|
3.5.2 Группировка строк. Фраза group by. .............................................................. |
35 |
|
3.5.3 Фильтрация групп. Фраза having. ................................................................... |
36 |
|
3.5.4 Упорядочивание строк результирующей таблицы ....................................... |
36 |
|
3.5.5 Подзапросы ....................................................................................................... |
37 |
|
3.5.6 Многотабличные запросы ............................................................................... |
38 |
|
3.6 |
Хранимые процедуры ......................................................................................... |
39 |
3.6.1 Синтаксис хранимых процедур СУБД FireBird ............................................ |
39 |
|
3.6.2 Использование хранимых процедур для вставки, удаления и обновления |
||
данных………. ........................................................................................................... 41 |
||
3.7 |
Триггеры и генераторы ....................................................................................... |
42 |
3.7.1 Поддержка первичных ключей ....................................................................... |
42 |
|
3.7.2 Триггеры............................................................................................................ |
42 |
|
Список использованных источников ...................................................................... |
45 |
|
|
|
3 |
Введение
Методические указания предназначены для проведения практических и лабораторных работ по курсу «Базы данных» для студентов вторых курсов направлений 080500.62 Бизнес-информатика, 231300.62 Прикладная математика и 230700.62 Прикладная информатика. Методические указания содержат теоретический материал по теории и практике реляционных баз данных, основам языка SQL, описание работы с хранимыми процедурами и триггерами. Указания содержат пример разработки базы данных на основе описания предметной области, включающий создание инфологической модели,
преобразования этой модели в даталогическую, а также скрипты для создания объектов базы данных в среде FireBird. Методические указания могут быть полезны студентам и преподавателям других направлений, поскольку система управления базами данных FireBird является свободным программным продуктом, обладающим при этом достаточно мощными средствами для работы с удаленными базами данных.
4
1 Свободная СУБД FireBird
СУБД FireBird является одной из самых популярных в мире бесплатных,
кросплатформенных систем управления базами данных с открытым исходным кодом. Она была разработана на основе исходного кода СУБД Interbase и
развивается сегодня независимым международным сообществом. По надѐжности, производительности и функциональным возможностям эта система мало в чѐм уступает признанным лидерам своего класса - Oracle и
Microsoft SQL Server.
1.1 Основные возможности СУБД
FireBird полностью поддерживает стандарты ANSI в синтаксисе языка
SQL и может работать под управлением многих операционных систем - Windows, Linux, MacOS, Solaris и различных Unix-платформах. Одно из достоинств этой системы – использование очень развитого языка для хранимых процедур и триггеров.
FireBird – это свободный проект, поддерживаемый многими программистами и специалистами из других областей по всему миру. Его начало было положено 25 июля 2000 года, когда корпорация Inprise Corp (ныне известная как Borland Software Corp) открыла исходные коды своей СУБД
Interbase, которая использовалась в различных информационных системах,
начиная с 1981 года.
СУБД FireBird полностью бесплатна, она не требует ни регистрации, ни оплаты за поддержку. Исходный код этой системы открыт и любой желающий может разрабатывать на его базе собственные некоммерческие проекты, при условии соблюдения требований лицензии IDPL, по которой распространяется
FireBird.
5
FireBird основан на исходном коде Interbase 6.0, который был выпущен как Open Source компанией Borland летом 2000 года. История Interbase
начинается в 1984 году, таким образом, продукт является наследником более чем 20-летнего опыта работы с реляционными базами данных.
В качестве преимуществ FireBird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
FireBird используется в различных промышленных системах (складских и хозяйственных, финансовых и государственном секторах) с 2001 года. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25
июля 2000 года в виде свободной версии Interbase 6.0.
FireBird является сервером баз данных. Один сервер FireBird может обрабатывать несколько сотен независимых баз данных, каждую с множеством пользовательских соединений. Он является полностью свободным от лицензионных отчислений даже для коммерческого использования.
Среди недостатков: отсутствие кэша результатов запросов,
полнотекстовых индексов.
1.2 Краткая характеристика СУБД FireBird
СУБД FireBird разработана в соответствии с требованиями ACID,
заключающимися в удовлетворении условиям «атомарности, целостности,
изоляции и надѐжности» транзакций («Atomicity, Consistency, Isolation and Durability»). Основная особенность FireBird — версионная архитектура,
позволяющая серверу обрабатывать различные версии одной и той же записи в
6
любое время таким образом, что каждая транзакция видела свою версию данных, не мешая соседним («читающие транзакции не блокируют пишущие, а
пишущие не блокируют читающих»). Это позволяет использовать одновременно OLTP и OLAP запросы.
Используя язык PSQL (процедурный SQL) FireBird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчѐтов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же, как и обычные таблицы.
Хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент. После успешного завершения транзакции
(COMMIT) он будет извещѐн о произошедших событиях и их количестве.
Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их. Генераторы являются 64-
битными хранимыми в базе данных счѐтчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях и т. д.
СУБД FireBird предусматривает полный контроль над транзакциями. В
разных транзакциях могут быть использованы разные уровни изоляции.
Протокол двухфазного подтверждения транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Так же доступны оптимистическое блокирование данных и точки сохранения транзакций.
Ещѐ одной особенностью FireBird является резервное копирование данных без остановки сервера, иначе говоря «резервное копирование на лету».
Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует
возможность производить инкрементальное резервное копирование БД.
7
В СУБД FireBird для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяющий вносить начальные значения, проверять целостность данных, вызывать исключения, и т.
д. В FireBird 1.5 появились «универсальные» триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы.
Внешние функции СУБД заключаются в том, что библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри».
Декларативное описание ссылочной целостности обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail»
между таблицами.
FireBird поддерживает множество международных наборов символов
(включая Unicode) с множеством вариантов сортировки.
1.3Требования к аппаратному обеспечению и средства доступа к серверу
FireBird работает на 32- и 64-разрядных версиях Windows, Linux, также на MacOS X, HP-UX, FreeBSD, и др., на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, и поддерживает легкий переход между этими платформами. Может использоваться даже не очень мощное оборудование,
особенно под Linux. И как в любой СУБД, на производительность FireBird
влияют такие характеристики, как количество памяти, скорость работы дисковой подсистемы и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Допустимо начинать с минимальной конфигурации, расширяя еѐ по мере надобности.
СУБД FireBird поддерживает множество способов доступа, включая:
собственные наборы компонент для C/C++, Delphi, классы для ADO, ODBC, JDBC (Jaybird), драйверы для Python, PHP, драйвер OLE DB, dbExpress,
8
провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll).
1.4 Физические ограничения
СУБД FireBird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет
64TB для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жѐстком диске.
Практически база данных объемом 1 ТБ стабильно работает, что доказывает проведенный тест.
Максимальная длина одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 КБ.
9
2 Установка программы
Перед установкой рекомендуемой версии СУБД FireBird на сервере или на клиентских компьютерах необходимо убедиться в том, что ранее на данном компьютере не была установлена другая версия СУБД FireBird. Убедиться можно следующим способом: найти в системном каталоге операционной системы файл GDS32.DLL и проверить его дату и версию.
Если проверка показала наличие на компьютере ранее установленной другой версии СУБД FireBird, то необходимо выяснить, для каких целей это было сделано. В том случае, если другая версия СУБД FireBird, не использовалась какими-либо другими программными комплексами,
установленными на данном компьютере, то необходимо удалить предыдущую версию СУБД FireBird, а затем поставить рекомендованную версию. После удаления предыдущей версии СУБД FireBird следует визуально или с помощью поиска файлов убедиться в том, что в системном каталоге операционной системы не осталось файлов GDS32.DLL и FBCLIENT.DLL.
Если же такие файлы остались, то необходимо их удалить вручную. Если же установленная ранее нерекомендуемая версия СУБД FireBird используется какими-либо другими программами, то все равно необходимо установить рекомендуемую версию СУБД FireBird.
2.1 Установка серверной части
Для установки СУБД FireBird необходимо запустить инсталляцию
FireBird 2.5.
Вид окна установки представлен на рисунке 1.
10
