Базы данных - пакет Oracle
Пакет в СУБД Oracle (PL/SQL package) — это объект схемы, который группирует логически связанные типы, элементы и подпрограммы. Основное предназначение пакетов — улучшение архитектуры приложений за счёт повторного использования кода, инкапсуляции деталей реализации и упрощения управления зависимостями.
Пакет обычно состоит из двух частей:
Ключевое слово OR REPLACE указывает на безусловное замещение предыдущего кода спецификации пакета. Если оно не указано, а пакет определён в базе данных, то замещения старого значения спецификации пакета не происходит и возвращается сообщение об ошибке.
Спецификация начинается с объявления констант и переменных, при этом ключевое слово DECLARE не используется.
Тело пакета создаётся с помощью оператора CREATE PACKAGE BODY. В теле можно объявлять и определять программные объекты: общедоступные, объявленные в спецификации, а также частные, которые не видны приложениям за пределами пакета.
-
Расширенная оптимизация подзапросов в Oracle
Сращивание подзапросов (subquaery coalescing) — это метод, при применении которого при определенных условиях два подзапроса могут быть срощены в один подзапрос, что позволяет вместо выполнения нескольких операций сканирования таблиц и соединения ограничиться единственным сканированием таблицы и единственным соединением. Хотя сращивание подзапросов определяется как бинарная операция, она может последовательно применяться к любому числу подзапросов. Сращивание подзапросов оказывается возможным, поскольку подзапрос действует как предикат фильтрации таблиц внешнего запроса.
Сращивание подзапросов
Сращивание подзапросов одинакового типа
Сращивание подзапросов разных типов
Сращивание и другие преобразования
Расширение возможностей выполнения запросов
Исключение представлений с группировкой
Исключение представлений
Удаление подзапросов c использованием оконных функций
Коррелированный поглощаемый подзапрос
Некоррелированный поглощаемый подзапрос
Поглощаемый подзапрос в разделе HAVING
Подзапросы, возвращающие мультимножества
Масштабируемое параллельное выполнение
Антисоединение с учетом наличия неопределенных значений
Алгоритм антисоединения с учетом наличия неопределенных значений
Стратегии выполнения NAAJ
Исследование производительности
Удаление подзапросов с использованием оконных функций
Масштабируемое выполнение оконных функций
Антисоединение с учетом наличия неопределенных значений
Родственные работы
Заключение
Благодарности
Список литературы
Расширенная оптимизация подзапросов в Oracle
Аннотация
Введение
Преобразование запросов в Oracle
Устранение вложенности подзапросов
Оконные функции
Оконные функции для генерации отчетов
-
Шифрование паролей в СУБД Oracle
Система шифрования паролей является достаточно консервативным элементом СУБД, ибо ее малейшее изменение влияет на возможность/невозможность подключения клиентов к базе данных. Таким образом, частое изменение этой подсистемы СУБД нежелательно. Видимо, этот фактор сказался на том, что подсистема шифрования паролей была неизменной много лет, по моим оценкам - около 15. Изменение системы шифрования повлекло бы за собой ряд сообщений ORA-xxxxx, сообщающих об ошибках в системе шифрования и в технической документации были бы упомянуты причины и способы их решения. Судя по отсутствию этих проблем в технической документации и Интернет, можно сделать вывод, что в СУБД Oracle подсистема шифрования паролей была неизменной достаточно длительное время, где-то последние 15 лет.
История парольной защиты
Алгоритм
Анализ
Силовая атака
Атака по словарю и парадокс дней рождений
Эквивалентная длина хешей и паролей
Выводы
Варианты усовершенствования парольной защиты сервера Oracle
Источники и литература
История вопроса
Что могли знать разработчики в 1993 г. о хеш-функциях?
Разведка паролей
Доступ к хешам паролей через sys.user$
Доступ к хешам через линки БД
Подмена пакетов
Пароли в трассировочных файлах
Пароли и OEM Grid Control
Внедрение скрытого пользователя
Рекомендации по повышению безопасности
Средство СУБД Oracle по управления паролями в БД
Приложение 1. DES и режим CBC
Приложение 2
Приложение 3. Математическая модель стойкости парольной защиты
Table1.shtml
-
Оптимизация запросов в системах баз данных
С моей точки зрения, оптимизация запросов является наиболее важным и интересным направлением исследований и разработок во всей области баз данных. Важность этого направления определяется тем, что от развитости компонента оптимизации запросов критически зависит общая производительность любой SQL-ориентированной СУБД (я ограничиваюсь этим классом систем, потому что, во-первых, они полностью довлеют на современном рынке СУБД, и, во-вторых, методы оптимизации наиболее развиты именно для SQL-запросов). Я считаю это направление наиболее интересным, потому что при решении задач оптимизации приходится использовать самые разнообразные подходы и методы из различных областей вычислительной науки и математики: методы оптимизации программ, применяемые в компиляторах языков программирования, математическую логику, математическую статистику, методы искусственного интеллекта, распознавания образов и т.д.
На протяжении последних тридцати лет эти факторы привлекают к данному направлению внимание сотен исследователей, опубликовавших тысячи статей, многие из которых доступны и/или интересны только профессионалам. Но некоторое знакомство с методами оптимизации запросов полезно гораздо более широкой аудитории: проектировщикам и администраторам систем баз данных, разработчикам приложений баз данных и даже пользователям этих приложений. Такое знакомство обеспечивают обзоры методов оптимизации. До сих пор русскоязычным читателям были доступны моя обзорная статья и перевод более современной обзорной статьи Сураджита Чаудхари.
Эффективные методы обработки непредвиденных
Эффективные методы обработки непредвиденных - 2
ПРОБЛЕМА ОПТИМИЗАЦИИ ЗАПРОСОВ
Запросы
Цели оптимизации
Нисходящий подход к оптимизации запросов
ПРЕДСТАВЛЕНИЕ ЗАПРОСОВ
Реляционное исчисление
Реляционная алгебра
Графы запросов
Табло
ПРЕОБРАЗОВАНИЕ ЗАПРОСОВ
Стандартизация
Упрощение
Улучшение
ВЫЧИСЛЕНИЕ ЗАПРОСОВ
Выражения с одной переменной
Выражения с двумя переменными
Выражения с несколькими переменными
ПЛАНЫ ДОСТУПА
Генерация планов доступа
Анализ стоимости планов доступа
Выбор путей доступа
Поддержка нескольких запросов
НЕСТАНДАРТНАЯ ОПТИМИЗАЦИЯ ЗАПРОСОВ
Запросы более высокого уровня
Распределенные базы данных
Соотношение между стоимостями коммникаций и локальной обработки
Структура сети
Стратегия распределения данных
Машины баз данных
ЗАКЛЮЧЕНИЕ
БЛАГОДАРНОСТИ
ЛИТЕРАТУРА