Смекни!
smekni.com

Система управления базами данных (стр. 1 из 3)

Содержание

Введение

1.Иследовательская часть

1.1 Firebird

1.2 Основные характеристики

1.3 Требования к аппаратному обеспечению

1.4 Версии сервера

1.5 Лицензирование

2. Конструкторская часть

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

2.2 Создание триггеров

2.3 Создание генераторов

2.4 Создание Хранимых процедур

2.5 Разработка приложения

2.6 Блок схема

3. Технологическая часть

3.1 Руководство пользователю

4. Заключение

Список литературы

Листинг программы


Введение

InterBase - сервер баз данных, имеющий 20-летнюю историю(создан в 1985 году). Инновации, предложенные в этом сервере, не только остаются актуальными до сих пор, но и начинают широко внедряться в альтернативных СУБД. Основной особенностью функциональности InterBase является версионность. Механизм версионности впервые был предложен (в теории) Д.П. Ридом в 1978 году, и далее идеи многоверсионного доступа в СУБД были описаны Ф.Бернштейном и Н. Гудменом в 1981 году. Джим Старки, автор InterBase, разработал модель версионности для своей СУБД самостоятельно в интервале между 1981 и 1984 годом.

Механизм версионности кроме InterBase практически нигде не использовался, и потихоньку начал внедряться в коммерческих серверах не более 10-ти лет назад. На текущий момент в той или иной степени версионный механизм поддерживают кроме InterBase и Firebird: Oracle, PostgreSQL, а также MS SQL 2005. MySQL также планирует использовать версионный "движок".

На рисунке отображены этапы развития InterBase и Firebird с 2000 года по 2006г. Специально отмечено появление в 2001 году еще одного клона InterBase –Yaffil, который базируется на исходных текстах Firebird 1.0. Этот сервер был разработан в Санкт-Петербурге, и имел целью реализовать оптимизацию различных аспектов работы СУБД, а также обеспечить более легкий переход с InterBase версий 4.x и 5.x. В 2003 году было объявлено о слиянии Yaffil с Firebird, для исключения конкуренции и объединения функциональности. Тем не менее, Yaffil до сих пор существует как отдельный проект.

InterBase начал активно использоваться в России для построения различных систем в 1992-1994 году, когда был выпущен InterBase 4.0 for Windows.С тех пор InterBase и Firebird используются массово для решения задач биллинга, бухгалтерии, складов, ERP, CRM, банковского ПО. По нашим оценкам примерное число разработчиков, использующих InterBase, Firebird и Yaffil в России и СНГ составляет около 100 тысяч.

По мере увеличения числа систем на InterBase и Firebird растет и объем баз данных. С одной стороны, это увеличение баз данных промышленных систем, которые функционируют несколько лет подряд, а с другой стороны, это новые системы, изначально ориентированные на большой объем данных.В 2002 году число систем с базами размером от 1 до 8 гигабайт оценивалось как 15% от общего числа систем, а с большим объемом – на уровне не более 3-х процентов, причем в диапазоне именно от 8 до 980 гигабайт, то есть, такие системы чаще были эксклюзивными. Сейчас ситуация изменилась, и даже количество БД объемом от 10 до 50 гигабайт составляют уже 15 процентов, причем на самом деле диапазон размера таких баз данных от 15 до 100 гигабайт. Рост этот постоянный, в том числе он обусловлен уменьшением затрат на поддержку таких объемов со стороны аппаратного обеспечения. В настоящее время средний объем баз данных для систем на InterBase и Firebird составляет от 2 до 20 гигабайт (отсюда можно сделать вывод, что бесплатные варианты коммерческих СУБД Oracle, MS SQL и др. не являются конкурентами InterBase и Firebird в таких системах, т.к. искуственно ограничивают допустимый "бесплатно" размер базы данных на уровне 4 гигабайт).

Инструменты разработчика:

В поставку InterBase и Firebird обязательно входит комплект утилит командной строки, которые в основном используются разработчиками и администраторами для автоматизации резервного копирования и других операций. Кроме того, эти утилиты кроссплатформенные. Для создания БД, таблиц, процедур и т.п. в InterBase и Firebird принято использовать сторонние инструменты, которые обладают высокой функциональностью - IBExpert, IBManager, IB/FB Developer Studio, DatabaseWorkbench и др. Большая часть этих инструментов бесплатны для России, а их качество, функциональность и удобство использования зачастую превышают подобные характеристики инструментов другихк коммерческих СУБД (например в отношении MS SQL).

С момента выпуска InterBase 6.5 Borland производит только платную версию сервера с закрытым кодом. Сейчас существует версия InterBase 7.5, которая обладает достаточно высокой функциональностью и производительностью, особенно на многопроцессорных серверах. InterBase выпускается под платформы Windows, Linux и Solaris (Sparc).

В настоящий момент выпущена версия InterBase 2007 с поддержкой журналирования, point in time recovery, online dump и другой функциональностью необходимой для работы с базами данных размером от 5 до 150 и более гигабайт.

Несмотря на расхождения между последними версиями InterBase и Firebird, они оба наследуют все те положительные черты исходной СУБД InterBase, которые обеспечили высокую популярность этого сервера. Более того, здоровая конкуренция между этими серверами по возможностям SQL, производительности и другим параметрам гарантируют пользователям той или иной СУБД интенсивное развитие выбранного ими сервера. Небольшой объем дистрибутива, простой и быстрый процесс установки с моментальной готовностью к работе, минимальные требования к оборудованию, широкий спектр компонент и драйверов для разнообразных сред разработки, возможность обслуживания больших баз данных и большого числа пользователей, а также архитектура многоверсионности, упрощающая логику приложений - все это востребовано как начинающими, так и опытными разработчиками, и позволяет им успешно строить все больше и больше новых систем.


1. Иследовательская часть

1.1 Firebird

(FirebirdSQL) — компактная,кроссплатформенная,свободная система управления базами данных (СУБД), работающая наGNU/Linux,Microsoft Windows и разнообразных Unix платформах.

В качестве преимуществ Firebird некоторые разработчики выделяют возможность параллельной обработки, высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.

Среди недостатков числятся отсутствие кеша результатов запросов, индексов fulltext для полнотекстового поиска.

Firebird является сервером баз данных. Один сервер Firebird может обрабатывать несколько независимых баз данных, каждую с множеством пользовательских соединений. И, что немаловажно, он является полностью свободным от лицензионных отчислений даже для коммерческого использования.

1.2 Основные характеристики

Соответствие требованиям A.C.I.D: Firebird сделан специально, чтобы удовлетворять требованиям "атомарности, целостности, изоляции и надежности" транзакций ("Atomicity, Consistency, Isolation and Durability") .

Версионная архитектура: Основная особенность Firebird — версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним ("читающие транзакции не блокируют пишущие, а пишущие не блокируют читающих").

Хранимые процедуры - это процедуры и функции, хранящиеся непосредственно в базе данных в откомпилированном виде и которые могут запускаться пользователями или приложениями, работающими с базой данных. Хранимые процедуры обычно пишутся либо на специальном процедурном расширении языка SQL (например, PL/SQL для ORACLE или Transact-SQL для MS SQL Server), или на некотором универсальном языке программирования, например, C++, с включением в код операторов SQL в соответствии со специальными правилами такого включения. Основное назначение хранимых процедур - реализация бизнес-процессов предметной области. Используя язык PSQL (процедурный SQL) Firebird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчетов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же как и обычные таблицы.

События: Хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент, открывая специально настроенный TCP/IP порт.

Генераторы: Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их. Генераторы являются счётчиками хранимыми в базе данных, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях.

Полный контроль за транзакциями: Одно клиентское приложение может выполнять множество одновременных транзакций. В разных транзакциях могут быть использованы разные уровни изоляции. Протокол двухфазного подтверждения транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Так же доступны оптимистическое блокирование данных и точки сохранения транзакций.

Резервное копирование на лету: Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует возможность производить инкрементальное резервное копирование БД.

Триггеры - это хранимые процедуры, связанные с некоторыми событиями, происходящими во время работы базы данных. В качестве таких событий выступают операции вставки, обновления и удаления строк таблиц. Если в базе данных определен некоторый триггер, то он запускается автоматически всегда при возникновении события, с которым этот триггер связан. Очень важным является то, что пользователь не может обойти триггер. Триггер срабатывает независимо от того, кто из пользователей и каким способом инициировал событие, вызвавшее запуск триггера. Таким образом, основное назначение триггеров - автоматическая поддержка целостности базы данных. Триггеры могут быть как достаточно простыми, например,поддерживающими ссылочную целостность, так и довольно сложными, реализующими какие-либо сложные ограничения предметной области или сложные действия, которые должны произойти при наступлении некоторых событий. Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения. В Firebird 1.5 появились "универсальные" триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы.