|
Программирование >> Oracle
Расширяемость Глава 17. interMedia. Эта глава посвящена компоненту interMedia Text. Вместо подробного описания того, как использовать interMedia Text , мы рассмотрим, что это такое и что этот компонент может дать, а также средства СУБД, позволяющие достичь соответствующей функциональности. Мы рассмотрим поиск текста, возможности управлять разнообразными документами, индекси- данные, необходимые для ответа на запрос в материализованном представлении, и дальнейшие запросы выполняются к этим заранее собранным данным. Более того, СУБД может распознавать аналогичные запросы, использующие эти подготовленные данные, и автоматически переписывать запрос так, чтобы он использовал материализованное представление. В этой главе описано, как все это работает и как поддерживать материализованные представления, включая использование ограничений, измерений и пакета DBMS OLAP, Глава 14. Фрагментация. Фрагментация создавалась как средство для упрощения управления очень большими таблицами и индексами за счет использования подхода разделяй и властвуй - деления таблицы или индекса на несколько меньших и более управляемых частей. Это как раз та область, где АБД и разработчик должны работать вместе с целью обеспечения максимальной доступности и производительности приложения. В данной главе рассмотрена фрагментация как таблиц, так и индексов. Мы рассмотрим фрагментацию с использованием локальных индексов (типична для хранилищ данных) и глобальных индексов (обычно используется в системах оперативной обработки транзакций - ООТ). Глава 15. Автономн1е транзакции. Это средство позволяет создать подтранзак- цию, изменения которой фиксируются или откатываются независимо от родительской транзакции. Мы рассмотрим ситуации, когда это может понадобиться, например отслеживание нелегальных попыток изменить защищенную информацию, попытки избежать ошибки изменяющейся таблицы или выполнение операторов ЯОД в триггерах. Затрагиваются также проблемы управления транзакциями, области действия, завершения автономных транзакций и точек сохранения. Глава 16. Динамический SQL. В этой главе сравниваются два метода использования SQL-операторов в программах: обычный статический SQL и динамический SQL. Динамический SQL-код - это SQL-код, формируемый по ходу выполнения, не известный на этапе компиляции. Мы рассмотрим два метода использования динамического SQL в программах: на основе стандартного пакета DBMS SQL и встроенного динамического SQL, декларативного метода для программ на языке PL/SQL. В каждом конкретном случае может быть несколько причин выбрать один из этих методов, например известность связываемых переменных на этапе компиляции, известность вида результатов на этапе компиляции, одно- или многократное выполнение динамически формируемого оператора в ходе сеанса. Мы детально рассмотрим все эти причины. ровать текст из различных источников данных и искать приложения XML. Глава завершается описанием ряда проблем interMedia, в том числе синхронизации индексов и индексирования информации, хранящейся вне базы данных. Глава 18. Внешние процедуры на 1ке С. Начиная с Oracle 8.0, появилась воз- можность подключать к СУБД процедуры, реализованные на языках, отличных от PL/SQL, например, С или Java. Такие процедуры называют внешними. В этой главе мы рассмотрим процедуры на языке С с точки зрения архитектуры. Мы опишем, как сконфигурировать сервер для использования таких процедур, как протестировать конфигурацию, и создадим пример процедуры, передающей и обрабатывающей переменные различных типов. Мы также рассмотрим внешнюю процедуру для преобразования большого двоичного объекта в файл (LOB IO), позволяющую записывать на диск большие двоичные объекты типа CLOB, BLOB и BF1LE. Глава 19. Храним1е процедуры на языке Java. За счет разумного использова- ния небольших фрагментов Java-кода можно получить широкие функциональные возможности, недоступные в языке PL/SQL. В этой главе рассматриваются практические примеры правильного использования этой возможности, например, для получения списка файлов в каталоге или выполнения команды операционной системы. Глава заканчивается описанием ряда проблем, с которыми может столкнуться разработчик при попытке использовать это средство, и возможных решений этих проблем. Глава 20. Использование объектно-реляционн1х средств. Наличие объектно-реляционных возможностей в СУБД (начиная с Oracle 8i) существенно расширяет набор доступных разработчику типов данных. Но когда их использовать (и, что не менее важно, стоит ли использовать)? В этой главе показано, как добавлять в систему новые типы данных (мы создадим новый тип данных PL/SQL), и рассмотрены уникальные возможности, предоставляемые наборами. Наконец, мы рассмотрим объектно-реляционные представления, предназначенные для тех, кто хочет воспользоваться объектно-реляционными возможностями, не теряя реляционного представления данных приложения. Защита Глава 21. Тшательн1й контроль доступа. Это средство позволяет добавить условие ко всем выполняемым запросам к базе данных. Реализация такой возможности на сервере означает, что ею может воспользоваться любое приложение, обращающееся к базе данных. Дополнительные аргументы в пользу применения этого средства - простота сопровождения и возможность устанавливать приложение на сервере приложений. Мы рассмотрим, как работает контроль доступа, путем тестирования пары примеров, реализующих на его основе правила защиты и использующих контексты приложений. Глава завершается разделом о потенциальных проблемах, в том числе при обеспечении целостности ссылок, экспорте и импорте данных, а также описанием возможных ошибок. Глава 22. Многоуровневая аутентификация. В этой главе рассматривается влияние среды Web, существенно увеличивающей количество ситуаций, когда клиенты регистрируются на промежуточном сервере приложений, прежде чем получить доступ к базе данных. Мы рассмотрим, как реализовать такую возможность и что при этом происходит. Мы также рассмотрим, как предоставить привилегии и организовать проверку действий промежуточных учетных записей. Глава 23. Права в1з1вающего и создателя. Начиная с Oracle 8i можно предоставлять различные наборы привилегий отдельным пользователям хранимой процедуры. При установке прав вызывающего можно создавать хранимые процедуры, выполняемые с набором привилегий вызывающего пользователя. Мы рассмотрим, для чего может пригодиться такая возможность, в частности, при создании утилит общего назначения и приложений словаря данных, и почему в большинстве случаев правильным остается выполнение с правами создателя. В разделе как это работает мы рассмотрим детально, что происходит при компиляции процедур с правами создателя и вызывающего. Приложения Приложение А. Основн1е стандартн1е пакеты. Многие из этих пакетов при разработке не используются, или их назначение неверно интерпретируется. В этом приложении я пытаюсь объяснить их назначение, показать, как их использовать и расширять. Типографские особенности книги Мы используем различные стили оформления текста и типографские соглашения, помогающие выделить различные виды информации. Вот примеры используемых стилей с объяснением их назначения. Код выделяется по-разному. Если это слово, описываемое в тексте (например, если речь идет об операторе SELECT), фрагмент кода выделяется полужирным. Если это блок кода, набираемый и выполняемый, например, в SQL*Plus, он представлен специальным шрифтом: tkyte@DEV816> create or replace procedure StaticEmpProc(p job in varchar2) 2 as 3 begin 4 for x in (select ename from emp where job = p job) 5 loop 6 dbmsoutput.putline(x.ename); 7 end loop; 8 end; Procedure created. Мы также показываем номера строк, выдаваемые при вводе в сеансе SQL*PIus, - это упрощает ссылки на них.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |