ЛитВек: бестселлеры недели
Бестселлер - Виктор Державин - Агентурная разведка. Часть 1. Внедрение «Спящих» - читать в ЛитвекБестселлер - Виктор Державин - Агентурная разведка. Часть 2. Нелегальный резидент. Поиск - читать в ЛитвекБестселлер - Виктор Державин - Агентурная разведка. Часть 3. Вербовка - читать в Литвек
Литвек - электронная библиотека >> Хелен Борри >> Базы данных и др. >> Firebird. Руководство разработчика баз данных >> страница 298
(обратно)

123

Такая манипуляция будет гораздо более простой, если использовать внешнюю функцию для вычисления длины преобразованного целого числа. Я выбираю - может быть немного с другой точки зрения - демонстрацию того, что можно выполнить манипуляцию строками без использования внешних функций.

(обратно)

124

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

(обратно)

125

Проектирование древовидных структур в реляционных базах данных само по себе является наукой. Будучи очаровательным, это все же выходит за пределы данного руководства. Найдите в Интернете написанную Joe Celko книгу на эту тему: Joe Celko's Trees and Hierarchies in SQL for Smarties (Morgan Kaufmann, 2004).

(обратно)

126

Ряд очень полезных статей по реализации древовидных структур в РСУБД вы сможете найти в соответствующем разделе страницы www.ibase.ru/develop.htm. - Прим. науч. ред.

(обратно)

127

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

(обратно)

128

См. APIGuide.pdf в комплекте документации по InterBase, опубликованной Borland Software Inc.

(обратно)

129

He следует путать с компонентами-обработчиками сообщений, которые инкапсулируют на клиентской стороне механизм событий.

(обратно)

130

Ресурс ibsurgeon.com предлагает не только средства ремонта баз данных, но с августа 2005 года и средство для восстановления поврежденных резервных копий баз данных. - Прим. науч. ред.

(обратно)

131

См. http://security.ucdavis.edu/HardenWin2Klab.pdf

(обратно)

132

Windows 2000 Security Handbook (Osborne-McGraw Hill, 2000) написана Philip Сох и Tom Sheldon. Биографию Philip Сох см. на http://www.systemexperts.com/bios.html.

(обратно)

133

Известным продуктом для шифрования сетевого трафика для Windows и Linux является ZeBeDee (www.ibase.ru/devinfo/zebedee.htm). -Прим. науч. ред.

(обратно)

134

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

(обратно)

135

Несмотря на это в Firebird используется шифрование с потерей данных, которое не позволяет восстановить исходный пароль путем дешифрования. В Firebird 2.0 вместо DES используется MD5. - Прим. науч. ред.

(обратно)

136

Как уже говорилось ранее, шифрование пароля производится с потерей данных. Единственный способ, которым можно "взломать" пароль, - это перебор словаря, шифруемого тем же алгоритмом, что используется в Firebird. В данном случае время подбора существенно сокращается тем, что шифруемый пароль имеет длину не более 8 символов. - Прим. науч. ред.

(обратно)

137

Сервер просто не проверяет никакие права доступа для пользователя SYSDBA. В частности, поэтому операции над множеством объектов в SQL производятся от имени SYSDBA чуть быстрее, чем от имени других пользователей. - Прим. науч. ред.

(обратно)

138

Все версии InterBase и Firebird имеют весьма своеобразное поведение: если выдан GRANT на UPDATE к столбцам явно, то успешно может быть выполнен только UPDATE всей таблицы, без указания ограничения WHERE. Таким образом, выдача GRANT на UPDATE к конкретным столбцам является совершенно бесполезной. -Прим. науч. ред.

(обратно)

139

По причине ошибки в Windows использование DummyPacketlnterval может привести к зависанию или краху Windows на клиентской стороне. Объяснения см. в статье Microsoft Support: http://support.microsoft.com/default.aspx?kbid=296265. Не рекомендуется его также использовать и для систем, отличных от Windows, поскольку это может привести к отключению активного клиента.

(обратно)

140

Подробно по настройкам keepalive читайте статью www.ibase.ru/devinfo/keepalive.htm. - Прим. науч. ред.

(обратно)

141

Возможно, здесь ошибка - включение TCPJTODELAY как раз означает отключение алгоритма Nagle, то есть выключение режима буферизации данных при пересылке, чему соответствует установка параметра no_nagle в True. - Прим. науч. ред.

(обратно)

142

Здесь речь идет о порядке обработки параметров в запросах с подзапросами, содержащих параметры как во внешней части запроса, так и в подзапросе. В старых версиях InterBase и Firebird параметры заполнялись сначала для внешнего запроса, а потом для подзапроса, хотя по тексту запроса они располагаются наоборот. - Прим. науч. ред.

(обратно)

143

Общая библиотека UDF доступна на нескольких сайтах, включая http://www.ibphoenix.com.

(обратно)

144

В терминах C++ "по указателю".

(обратно)

145

Определена в ibase.h как blobcallback (структурный тип) и BLOBCALLBACK (указатель на структурный тип). Это объявление дает полное определение для функций чтения/записи указателей, которые упрощают использование их в современных компиляторах. См. также примечания перед объявлением в ibase.h.

(обратно)

146

При отсутствии ограничений на размещение внешних таблиц уже давно известны возможности использовать внешние таблицы как для перекачивания базы данных с сервера на клиент, так и для внедрения с клиента на сервер вредоносных UDF. - Прим. науч. ред.

(обратно)

147

SET NAMES, то есть набор символов соединения, должен быть задан до подсоединения к базе данных.

(обратно)

148

Вопросы безопасности файловой системы и других средств окружения обсуждаются в главах 33 и 34.

(обратно)

149

Если вы по-настоящему беспечны и оставите эти переменные окружения на рабочих станциях, показывая всему миру пароль пользователя SYSDBA, удаленные пользователи также смогут выполнять копирование, не задавая учетных данных. Нечего и говорить, что такая практика должна быть полностью исключена.

(обратно)

150

В некоторых случаях администраторы БД перенаправляют вывод gbak в утилиты упаковки, такие как gzip. Это позволяет "на лету" получить запакованную резервную копию базы данных с меньшей