Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Сеанс подключения к СУБД

Сеанс подключения к СУБДВсе взаимодействие с базой данных в СУБД происходит в контексте сеансов. Когда установлен сеанс подключения к СУБД, специальные параметры определяют режим его работы. Некоторые из этих параметров можно изменить в течение сеанса, однако только администратор базы данных сможет сделать эти изменения постоянными. Одни параметры можно изменить с помощью инструкций SQL, другие зависят от клиентского приложения и должны устанавливаться в его среде. На следующем уровне находятся транзакции, объединяющие одну или несколько инструкций SQL в одну логическую единицу работы. В стандарте SQL:2003 определено, что любая инструкция SQL порождает транзакцию. В конкретных реализациях СУБД транзакции интерпретируются по-разному. В некоторых СУБД они начинаются по умолчанию неявно, в других инициируются явно, с помощью соответствующих инструкций. Транзакции должны удовлетворять некоторым критериям (называемым Правилами ACID), чтобы быть совместимыми со стандартом, однако об этих деталях обычно заботится сама СУБД. В транзакциях, выполняющих доступ к общим ресурсам, должны быть реализованы элементы управления параллелизмом. Одним из свойств транзакции является уровень изоляции, регулирующий видимость в этой транзакции обновляемых другими транзакциями данных. В стандарте SQL определены четыре уровня изоляции; в некоторых СУБД они реализованы все (Microsoft SQL Server 2008 и IBM DB2 9.5), в то время как в других — только три (в частности, в Oracle 11g). В некоторых СУБД для поддержки параллельных процессов реализована сложная система управления блокировками. Существует несколько типов блокировок; их можно определять как в самой инструкции SQL, так и в свойствах сеанса. Ситуации взаимоблокировки обычно возникают в перегруженных системах обработки транзакций и в плохо спроектированных базах данных. Взаимоблокировки разрешаются либо автоматически СУБД, либо вручную администратором базы данных.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *