Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_1 / Лекции / Лекция 6-СУБД.doc
Скачиваний:
45
Добавлен:
11.06.2015
Размер:
756.74 Кб
Скачать

Основные характеристики субд Firebird :

  • Соответствие требованиям ACID: Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, целостности, изоляции и надёжности» транзакций («Atomicity, Consistency, Isolation and Durability»);

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

  • Хранимые процедуры: Используя язык PSQL Firebird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же как и обычные таблицы.

  • События: Хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент. После успешного завершения транзакции (COMMIT) он будет извещён о произошедших событиях и их количестве.

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

  • БД только для чтения: позволяют распространять БД, к примеру, на CD-ROM. Особенно упрощает распространение данных их использование в комбинации с встраиваемой версией сервера Firebird (Firebird Embedded).

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

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

  • Триггеры: для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения, и т.д. В Firebird 1.5 появились «универсальные» триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы.

  • Внешние функции: библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри».

  • Декларативное описание ссылочной целостности: обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail» между таблицами.

  • Наборы символов: Firebird поддерживает множество международных наборов символов (включая Unicode) с множеством вариантов сортировки.

Firebird полностью поддерживает SQL 92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми дополнениями; реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа;

поддерживает большие БД. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от ОС. Теоретический предел в настоящее время составляет 64 Tбайт для одного файла БД, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.

Максимальная длина одной записи (суммарно все поля за исключением полей с типом BLOB) равна 64 Кбайт.

Существует четыре различных взаимозаменяемых архитектуры сервера:

  • Классик сервер— один процесс на одно соединение; поддержка многопроцессорных машин;

  • Суперсервер — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для однопроцессорных машин;

  • СуперКлассик — один процесс, но свой поток на каждое соединение;

  • Встраиваемая версия — весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции.

Все архитектуры используют одинаковый формат файла БД, таким образом в любой момент можно переключиться на другую архитектуру. Есть редактор SQL, DDL, управление пользователями, визуальный дизайнер БД, встроенный MERGE, scheduler, Code auto completion, анализатор запросов, монитор производительности. Blaze Top — инструмент разработчика и администратора БД. Database Workbench — поддерживает несколько серверов БД, среди которых есть Firebird и Interbase. Отладка хранимых процедур, анализ планов, встроенные средства переноса данных и метаданных.

СУБД dBASE III Plus и FoxPro

Эта СУБД фирмы MS создавалась для работы под управлением ОС MS DOS, PC DOS, но она прекрасно работает и под управлением ОС Windows. Создаваемые ею информационные файлы импортируются современными СУБД, Paradox, MS Access, а также пакетами прикладных программ MS Excel, Surfer, Grapher и др.

Каждый файл СУБД dBASE может иметь до 1 млрд. записей объемом до 2 млрд. байт, размер записи - до 4 Кбайт, число полей - до 128. Всего не более 255 полей в одной таблице. Допустимые размеры полей: символьного – до 254 байт, даты – 8 байт, логического – 1 байт, поле памяти – до 4 Кбайт, числового – до 19 байт. Система может сохранять информацию на диске в файлах девяти форматов. Каждый файл на диске идентифицируется уникальным именем файла (до 8 символов) и соответствующим расширением. Система располагает средствами построения диалога с пользователем, в частности, построением экранных форм, позволяющих редактировать, вводить и просматривать данные, формировать запросы. В системе имеются стандартные средства, позволяющие создавать форматный файл отчета, получать итоги по столбцам отчета. В системе имеется интерпретатор языка программирования, позволяющий создавать программные файлы пользователя для обработки данных в соответствии с моделью предметной области и конкретными задачами.

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

СУБД позволяет создавать индексные файлы из ключевых слов, задавать параметры сортировки и фильтрации данных, создавать форматы для распечатки файлов данных и отчетов. Каждой записи автоматически присваивается текущий номер. Система может экспортировать и импортировать данные для других программных систем в формате текстового файла (файла ASCII).

СУБД dBASE имеет развитый язык программирования, использующий основу SQL. Структура файла и его описание устанавливается определением каждого поля, которое состоит из уникального имени длиной до 10 символов. Используется пять типов полей: С – символьное, D – дата, L – логическое, N – числовое, M – поле памяти. Средства программирования, опирающиеся на язык SQL, позволяют формировать экранные формы пользователя, файлы запросов, связей, отчетов, генерировать пользовательские программы.

Фирма MS выпустила также СУБД FoxPro, последняя версия которой Visual FoxPro - VFP (www.foxprohistory.org). С помощью объектно-ориентированного языка, нацеленного на обработку данных, разработчики могут создавать приложения для настольных компьютеров, клиент-серверной среды и Интернет. Основными функциями СУБД VFP являются:

  • управление данными и интероперабельность, можно создавать .NET-совместимые решения с иерархическими XML-структурами и Web-сервисами, а также для обеспечения обмена данными с MS SQL Server через язык SQL;

  • среда разработки, простой и эффективный язык, разнообразные элементы визуального интерфейса, поддержка графики;

  • создание и развертывание автономных и распределенных приложения и Web-сервисов;

  • построение отчетов, в том числе с использованием XML, HTML и графических форматов.

Одно из самых главных достоинств VFP — его полная совместимость с предыдущими версиями VFP и даже приложениями, написанными более 20 лет назад в среде dBase II. Обладая собственным внутренним механизмом управления реляционной БД, тесной взаимосвязью между языком и данными, полноценными возможностями объектно-ориентированного программирования и широким спектром функций СУБД VFP 9.0 позволяет создавать производительные, масштабируемые решения (настольные, клиент-серверные и Интернет) с поддержкой БД с таблицами объемом до 2 Гбайт. СУБД VFP 9.0 отличается от других инструментов Microsoft умеренными системными требованиями и высокой эффективностью разрабатываемых приложений (производительность, размеры БД и программного кода).

СУБД VFP переведена в среду .NET, она и создаваемые с ее помощью приложения предназначены для работы в ОС Windows с COM-архитектурой. Она не использует принцип управляемого кода, при этом язык СУБД FoxPro сохраняет высокую эффективность — на нем написаны многие компоненты самого инструмента. С помощью СУБД VFP 9.0 можно создавать Web-сервисы и COM-компоненты, при этом существенно упростилось их взаимодействие с .NET-приложениями. XML Adapter обеспечивает улучшенную поддержку XML- и XSD-схем.

СУБД VFP применяется и для мобильных решений. На его базе можно разрабатывать и приложения для планшетных компьютеров под управлением Windows XP Tablet PC.

В СУБД dBASE, FoxPro и VFP применяется расширение файла .dbf, Это один из самых популярных форматов БД. Форматы файлов разделяются на версии II, III, IV и т.п. При этом значительных отличий от версии к версии нет. Каждый dbf файл состоит из трех частей (таблицы 3-5): заголовка, описания записей и собственно данных.

Таблица 3 - Заголовок БД

Смещение

Длина в байтах

Содержание

0

1

Номер версии dBase: биты 0-2 - dBase версия (03H для версий III и IV), бит 3 - индикатор полей памяти, биты 4-6 - зарезервированы для SQL, бит 7 - признак наличия DBT файлов dbase III+

1

3

Дата последнего изменения (в формате ГГММДД)

4

4

Количество записей в базе данных

8

2

Длина заголовочной записи в байтах

10

2

Длина записи данных в байтах

12

2

Резервные

14

1

Признак пересылок

15

1

Признак кодирования ( 1-данные закодированы)

16

12

Зарезервированы для сетевой версии

28

1

Признак наличия/отсутствия мультииндексных файлов 01Н - имеется MDX файл, 00H - отсутствует MDX файл

29

3

Резервные

32

32*N

Описание N полей записи данных (по 32 байта на каждое поле)

32+32*N+1

1

Признак конца заголовочной записи (0DH)

Таблица 4 - Описание полей в Dbase IV

Смещение

Длина в байтах

Содержание

0

11

Имя поля в ASCII - кодах. Пустые места = 00H

11

1

Тип поля в ASCII - кодах (С, N, F, L, D, M)

12

4

Адрес поля в памяти (для внутреннего использования dbase)

16

1

Длина поля в байтах (не более 255 символов)

17

1

Количество знаков после десятичной точки в байтах для числовых полей, иначе 0

18

2

Зарезервировано для многопользовательских систем

20

1

Идентификатор рабочей области

21

2

Зарезервировано для многопользовательских систем

23

1

Используется программой SET FIELDS

24

8

Зарезервировано

Таблица 5 - Данные в базе данных

Смещение

Длина в байтах

Содержание

0

1

Байт, содержащий отметку об удалении записи. Если запись удалена он равен *, иначе " " (blank)

1

Сумма длин полей

Запись хранится в виде строки ASCII символов без разделяющих знаков

1AH - конец действительной области данных

Соседние файлы в папке Лекции