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

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

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

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

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

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

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

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

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

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

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

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

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

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

Firebird полностью поддерживает SQL 92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми очень полезными дополнениями; Это включает выражения DML/DDL, синтаксис объединений FULL/LEFT/RIGHT [OUTER] JOIN, выражения UNION, DISTINCT, подзапросы (IN, EXISTS), встроенные функции (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), ограничения целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), и все общие типы данных SQL. также реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа; Требования к аппаратному обеспечению. Firebird работает на 32- и 64-разрядных версиях Windows, Linux, также на MacOS X, HP-UX, FreeBSD, и др., на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, и поддерживает легкий переход между этими платформами. Может использоваться даже не очень мощное оборудование, особенно под Linux. И как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы, и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Допустимо начинать с минимальной конфигурации, расширяя её по мере надобности.

Наиболее широко используемыми для серверов Firebird операционными системами являются Linux и Microsoft Windows (включая NT) (включая терминальные сервисы MS и Citrix). Другие поддерживаемые платформы — Mac OS X, Solaris, FreeBSD и HP-UX. Переход от одной ОС к другой весьма прост — достаточно сделать резервную копию базы в переносимом формате в одной системе и восстановить на другой.

Firebird поддерживает множество способов доступа, включая: собственные наборы компонент для C/C++, Delphi, классы для Ada, ODBC, JDBC (Jaybird), драйверы для Python, PHP, драйвер OLE DB, dbExpress, провайдер данных .NET и прямой доступ с использованием клиентской библиотеки сервера (fbclient.dll или GDS32.dll)

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

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

Поддерживаемые версии: 2.5 (самая последняя версия), 3.0 (в разработке). Существует четыре различных взаимозаменяемых архитектуры сервера:.

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

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

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

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

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

Database Master — средство управления системами баз данных FireBird, PostgreSQL, Oracle, SQL-Server, MySQL, ODBC, OleDB, MongoDB, XML и SQLite.

СУБД 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 байт. Система может сохранять информацию на диске в файлах 9-тидевяти форматов. Каждый файл на диске идентифицируется уникальным именем файла (до 8 символов) и соответствующим расширением. Система располагает средствами построения диалога с пользователем, в частности, построением экранных форм, позволяющих редактировать, вводить и просматривать данные, формировать запросы. В системе имеются стандартные средства, позволяющие создавать форматный файл отчета, получать итоги по столбцам отчета. В системе имеется интерпретатор языка программирования, позволяющий создавать программные файлы пользователя для обработки данных в соответствии с моделью предметной области и конкретными задачами.

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

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

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

Фирма MS выпустила также СУБД FoxPro, последняя версия которой Visual FoxPro - VFP (www.foxprohistory.org).

VFP 9.0 с его механизмом управления локальным курсором отлично подходит для реализации проектов БД любых размеров. С помощью объектно-ориентированного языка, нацеленного на обработку данных, разработчики могут создавать приложения для настольных компьютеров, клиент-серверной среды и Интернет. Основными функциями СУБД 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+

 

 

Биты 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) C - символьный (ASCII символы) N - 1 числовой (0...9) F - 2 числовой (0...9) L - Логический (YyNnTtFf) D - Дата (ГГММДД) M - заметки, номер блока DBT файла

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 - конец действительной области данных