Чтение онлайн

на главную - закладки

Жанры

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

> 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.

62

Американцы предпочитают говорить "сиквел".
– Прим. перев.

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

механизм внешнего уровня, посредством которого заданный запрос вернет предсказуемый результат, независимо от того, как сервер базы данных внутренне манипулирует данными.

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

Firebird и стандарты

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

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

Операторы SQL

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

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

* Операторы CREATE, ALTER и DROP над объектами метаданных (также называемые объектами схемы или элементами схемы). Язык таких запросов называется языком определения данных (Data Definition Language, DDL).

* Операторы, выполняющие действия над данными. Они представляют язык для определения наборов данных в виде столбцов и строк и задают операции для:

• поиска и преобразования (SELECT) образов таких наборов данных из хранилища данных для чтения приложениями;

• изменения состояния базы данных путем добавления, изменения и удаления указанных наборов (операторы INSERT, UPDATE и DELETE).

Такие операторы, которые выполняют действия над данными, относятся к языку, называемому языком манипулирования данными (Data Manipulation Language, DML).

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

* Встраиваемый SQL (Embedded SQL, ESQL) - это "базовая" реализация SQL, состоящая из синтаксиса DDL и DML, которые включаются и в другие подмножества, где это возможно. Это было первоначальной реализацией SQL в предшественнике InterBase, разработанной для включения в клиентские приложения и требующей препроцессора GPRE.

Поделиться:
Популярные книги

Шайтан Иван 2

Тен Эдуард
2. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван 2

Наследник старого рода

Шелег Дмитрий Витальевич
1. Живой лёд
Фантастика:
фэнтези
8.19
рейтинг книги
Наследник старого рода

Аргумент барона Бронина 2

Ковальчук Олег Валентинович
2. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 2

Третье правило дворянина

Герда Александр
3. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третье правило дворянина

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

СД. Том 15

Клеванский Кирилл Сергеевич
15. Сердце дракона
Фантастика:
героическая фантастика
боевая фантастика
6.14
рейтинг книги
СД. Том 15

Жена неверного маршала, или Пиццерия попаданки

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного маршала, или Пиццерия попаданки

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Элита элит

Злотников Роман Валерьевич
1. Элита элит
Фантастика:
боевая фантастика
8.93
рейтинг книги
Элита элит

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит

Шаман. Похищенные

Калбазов Константин Георгиевич
1. Шаман
Фантастика:
боевая фантастика
попаданцы
6.44
рейтинг книги
Шаман. Похищенные

Курсант: Назад в СССР 4

Дамиров Рафаэль
4. Курсант
Фантастика:
попаданцы
альтернативная история
7.76
рейтинг книги
Курсант: Назад в СССР 4