Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

CAULDRON2 имеет активную, все еще выполняющуюся транзакцию:


UPDATE CAULDRON2 SET F20FFSET = 5.0


Измененные записи увеличили размер на 2 байта (с 121 до 123), что можно отнести к более низкому уровню сжатия.

Значение 5.0 заменило большинство отсутствующих или нулевых значений, что сделало значение этого поля отличным от других полей. Теперь существует 100 000 старых версий со средним значением 10 байт каждая. Средний коэффициент заполнения увеличен до 99%, а таблица выросла с 138 до 4138 страниц.


> gstat proj.gdb -r -t CAULDRON CAULDRONI CAULDRON2

. . .

Analyzing database pages . . .

CAULDRON (147)

Primary pointer page: 259, Index root page: 260

Average record length: 120.97, total records: 100000

Average version length: 0.00, total versions: 0, max versions: 0

Data pages: 4000, data page slots: 4000, average fill: 85%

Fill distribution:

0 -19%=0

20 -39%=0

40 -59%=0

60 -79%=0

80 -99%=4000


CAULDR0N1 (148)

Primary pointer page: 265, Index root page: 266

Average record length: 0.00, total records: 100000

Average version length: 120.97, total versions: 100000, max versions: 1

Data pages: 4000, data page slots: 4000, average fill: 95%

Fill distribution:

0 -19%=0

20 -39%=0

40 -59%=0

60 -79%=0

80 -99%=4000


CAOLDRON2 (149)

Primary pointer page: 271, Index root page: 272

Average record length: 122.97, total records: 100000

Average version length: 10.00, total versions: 100000, max versions: 1

Data pages: 4138, data page slots: 4138, average fill: 99%

Fill distribution:

0 -19%=0

20 -39%=0

40 -59%=0

60 -79%=0

80 -99%=4138


! ! !

СОВЕТ. Для API-программистов функция API Firebird isc_database_info() и Services API предоставляют элементы, которые делают возможным синхронизировать выполнение поиска и получение статистики по базе данных в ваших программах приложений. Для программистов Delphi, C++ Builder и Kylix доступны различные наборы компонентов для получения статистики базы данных.

. ! .


Пора дальше

Здесь мы завершаем обсуждение объектов базы данных и перемещаем фокус на язык создания и изменения данных. Наше исследование начинается с общего взгляда на SQL в терминах стандартов и как реализация Firebird разбивается на множество перекрывающихся подмножеств. После этого в главе 20 мы начинаем более подробное рассмотрение данных как множеств и операторов языка манипулирования данными (Data Manipulation Language, DML) для определения данных и манипуляций с ними.

ЧАСТЬ V. Firebird SQL.

ГЛАВА 19. Язык SQL в Firebird.

SQL (произносится "эс кю эль"[62]) - это подъязык данных для доступа к реляционным системам управления базами данных. Его элементы, синтаксис и поведение стандартизовали ANSI и ISO в 1986 году.

С этого времени SQL пересматривался три раза: SQL-89 (опубликован в 1989 г.), SQL-92 (1992 г. или около этого) и самый последний SQL 3, рабочая версия, опубликованная как часть SQL-99.

Язык запросов стандарта SQL является непроцедурным языком, т. е. он ориентирован на результаты операций, а не на способы получения результатов. Его назначение - быть основой для подъязыка, используемого в рамках включающего языка программирования. Цель стандартов - описать механизм внешнего уровня, посредством которого заданный запрос вернет предсказуемый результат, независимо от того, как сервер базы данных внутренне манипулирует данными.

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

Firebird и стандарты

Соответствие стандарту - это, скорее, вопрос уровня соответствия, а не абсолют. Разработчики могут свободно реализовывать возможности языка, не описанные в стандарте. Соответствие касается способов реализации возможностей, распознаваемых стандартом и описанных в нем (если таковые есть). Соответствие изменяется обратно пропорционально с количеством стандартных возможностей, внедряемых типично.

Язык SQL Firebird близко соответствует стандартам SQL-92 (ISO/IEC 9075:1992) на начальном уровне (entry level). Firebird вводит множество возможностей в соответствии с более поздним релизом стандарта SQL-99. Хотя SQL в Firebird близко соответствует стандартам, существуют небольшие отличия.

Операторы SQL

Оператор SQL используется для выполнения запроса к базе данных. Язык запросов выражается в операторах, которые задают цель: что должно быть сделано (операция), объекты, с которыми это должно быть сделано, и детализация, как это должно быть сделано. По теории каждое возможное взаимодействие между внешним миром и базой данных осуществляется через синтаксис оператора.

Синтаксические конструкции операторов группируются в соответствии с двумя основными целями.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT