понедельник, 26 апреля 2010 г.

Том Кайт: о суммировании, слиянии и перемещении

Вопросы к Томасу Кайту и его ответы.

Контекст сеанса в Oracle, часть 1: предопределенные контексты

Аннотация

В каждом сеансе работы с СУБД можно использовать так называемые контексты, формально представляющие собой именованный набор пар "параметр/значение". Контексты сеансов обладают рядом интересных свойств, существенно повышающих "внутренние" возможности Oracle по созданию приложений. В статье рассматриваются два предопределенных контекста Oracle: USERENV и CLIENTCONTEXT.

Пустая строка в Oracle. Сравнение с пустой строкой

Oracle9i SQL Reference
   Basic Elements of Oracle SQL
       Nulls
Ссылка на документацию.
В Oracle пустая строка эквивалентна NULL, поэтому сравнение некоего значения с пустой строкой фактически ведет к сравнению его с NULL. В результате получается NULL:

понедельник, 12 апреля 2010 г.

Индекс-таблицы

Индекс-таблицы отличаются от обычных таблиц способом структурирования, хранения и индексирования данных. Чтобы лучше объяснить эти отличии, сравним индекс-таблицы с обычными таблицами, а также перечислим ситуации когда индекс-таблицу использовать предпочтительнее чем обычную таблицу.

Рекомендации по использованию индексов в конкретных приложениях

Для обеспечения быстрого доступа к строкам таблицы СУБД Oracle используются индексы. Индексы обеспечивают быстрый доступ к данным при операциях, когда выбирается относительно небольшое число строк таблицы.

Хотя Oracle позволяет использовать неограниченное число индексов в таблице, индексы приносят пользу только в том случае, когда они применяются для ускорения запросов. В противном случае, они лишь занимают место и уменьшают производительность сервера при обновлении индексированных столбцов. Необходимо использовать возможность EXPLAIN PLAN (план выполнения и статистики), чтобы определить, каким образом индексы используются в ваших запросах. Иногда, если индекс не используется по умолчанию, можно использовать подсказки к запросу по использованию индекса.

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

воскресенье, 11 апреля 2010 г.

Обеспечение ссылочной целостности с помощью ограничений

Если две таблицы содержат один или несколько общих стобцов, то их можно связать с помощью ограничения ссылочной целостности. Для столбца родительской таблицы (таблицы, содержащей полный набор значений, на которые может ссылаться другая таблица) должно быть определено ограничение PRIMARY KEY или UNIQUE. Для столбца дочерней таблицы (таблицы, значения которой должны ссылаться на существующие значения в другой таблице) должно быть определено ограничение FOREIGN KEY.

Первичные и уникальные ключи таблицы

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

четверг, 8 апреля 2010 г.

Группы команд SQL

Все команды SQL можно условно разделить на несколько групп по их функциональности. Перечислим эти группы с примерами команд.