DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Блокировки Oracle при неиндексированных внешних ключах.

Блокировки Oracle при неиндексированных внешних ключах.

 

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

При проектировании схемы базы данных и разработке таблиц существует очень важное правило: внешние ключи в таблицах без индекса не имеют права на существование. Иначе мы получаем полную блокировку подчиненной таблицы при выполнении изменения первичного ключа или при удалении записи из главной таблицы. Однако, что означает полная блокировка подчиненной таблицы? Как она проявляется? При детальном исследовании можно выяснить много интересного.

Попробуем продемонстрировать паразитные эффекты неиндексированных внешних ключей на примере. Приведенный ниже пример был создан и протестирован для версии Oracle 10g R2. Создадим три простые таблицы. Первая будет содержать список классов и состоит из двух полей – идентификатор и наименование класса, вторая будет содержать список типов, состоит также из двух полей – идентификатор и наименование типа,  третья будет содержать списки значений справочников, и содержит четыре поля – идентификатор, ссылку на класс, ссылку на тип и наименование. Идентификаторы в таблицах представляют из себя суррогатные первичные ключи.

Подробнее читаем здесь


 
 


Подробности: кондитерский инвентарь украина ! ищите тут. . Гидропоника в холодильник одесса http://te-ra.com.ua/.







jAntivirus