Главная » Просмотр файлов » С.Д. Кузнецов - Основы баз данных

С.Д. Кузнецов - Основы баз данных (1121716), страница 92

Файл №1121716 С.Д. Кузнецов - Основы баз данных (С.Д. Кузнецов - Основы баз данных) 92 страницаС.Д. Кузнецов - Основы баз данных (1121716) страница 922019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 92)

Видимо, из соображений злравого смысла, слеловало бы ввести в язык БОЬ операцию лвовт тклнзлсттон дая аварийного завершения транзакции с ликвидацией всех последствий ее операций в базы данных и, отдельно, операцию коььвлск то, в которой всегда явно указывалось бы, до какого уровня требуется откат. Кстати, заметим, что комбинация коььвлск лно снлтн то злчвготнт вечеро гш гале является недопустимой (поекольку текущая транзакция не завершается). 439 Основы бвз данных Курс Подключения и сессии Может показаться странным, что мы оставили на конец этой лекции материал, который, казалось бы, необходимо знать, чтобы иметь возможность приступить к работе с какой-либо из современных систем баз данных. Объяснение очень простое. Чем ниже уровень средств языка 8ОЬ, чем ближе эти средства соприкасаются с индивидуальными особенностями реализаций, тем менее точен и конкретен стандарт БО1,. А в данном разделе речь идет о средствах, реализация которых в СУБД разных поставщиков обладает очень большой спецификой.

Сильно упрощая текущую ситуацию, можно сказать, что практически все современные продукты управления БО(=ориентированными базами данных основаны на архитектуре «клиент-сервер». Принципиальная схема клиент-серверной организации показана на рис. 18.8. Рис, 18.8. Клиент-серверная архитектура СУБД Конечно, это рисунок весьма условен. Под термином лользователь здесь, конечно, понимается некоторое приложение, с которым реально работает конечный пользователь (например, в этом приложении может быть реализован монитор прямого 8О(.). Кадентскал часгль СУБД вЂ” это тот системный компонент, с которым непосредственно взаимодействует лальзовааель. Данный компонент скрывает специфику реальных взаимодействий с серверной частью СУБД (например, используемые сетевые протоколы, если клиентская и серверная части СУБД разнесены по разным компьютерам сети). Наконец, сервер Лекция 18 Авторизация доступа к данным, управление транзакциями и сессиями баз данных представляет собой основную часть СУБД, где, собственно, и происходит выполнение операторов БОЬ и осуществляется доступ к базе данных.

Важно обратить внимание, что программные компоненты, представляющие пользователя и клиентскую часть СУБД, обычно выполняются на одном компьютере, а сервер баз данных работает на другом (серверном) компьютере. Но вполне может быть, что все три перечисленных программных компонента в действительности размещены на одном компьютере. Установление соединений Начиная со стандарта БОЬ/92, при разработке языковых средств стала приниматься во внимание клиент-серверная организация СУБД. Если говорить более точно, стал очевиден тот факт, что во всех существуюших СУБД до начала работы приложения со средствами управления базой данных требуется выполнить некоторые предварительные инициирующие действия. В частности, необходимо создать контекст, в котором будет работать система баз данных.

В некоторых реализациях этот контекст создается автоматически при запуске приложения, поскольку клиентская часть СУБД компонуется к приложению. В других случаях прикладная программа связывается с СУБД за счет наличия специализированных реализационно зависимых средств подключения к СУБД. Иногда контекст формируется на основе состояния системных переменных. Очевидно, что для выработки языковых средств, которые не противоречили бы существующим реализациям, требовался компромисс.

Этот компромисс выразился в том, что в БОЬ:1999 допускается установление связи приложения с СУБД по умолчанию, а также обеспечиваются средства явного управления соединениями. Общий подход состоит в следующем. ° Почти все операторы К()Ь (с небольшим числом исключений) могут выполняться только при наличии подключения клиентской части СУБД к серверу базы данных. ° Если соединение с сервером установлено и приложение пытается выполнить один из операторов Я)Ь (для выполнения которых требуется соединение), то его выполняет та СУБД, с которой установлено соединение. ° Если приложение пытается выполнить один из операторов Я~Ь (для выполнения которых требуется соединение), а соединение не установлено, то, прежде всего, требуется установить соединение. В БОЬ:1999 указывается, что такое соединение является соединением с СУБД по умолчанию. Что собой представляет это умолчание, определяется в реализации.

После установления соединения упомянутый оператор Я~Ь выполняется той СУБД, с которой установлено соединение. Основы баз данных Курс ° Если первым (до установки соединения) выполняемым оператором ЯЯ) является оператор СОЕЕЕСТ (это одно из исключений), то соединение по умолчанию не устанавливается, а происходит обращение к запрашиваемому серверу, и соединение устанавливается именно с ним. ° Можно выполнять оператор СОяяЕСТ для установления соединений со вторым, третьим и т. д. серверами, не разрывая ранее установленные соединения. Каждое вновь установленное соединение называется текущим соединением (сиггепг солпесггоп), а все ранее установленные соединения — отложенными соединениями й)огтапг соплесггоп).

° С каждым соединением ассоциирована сессия. Сессия, ассоциированная с текущим соединением, называется текущей сессией (сиггепт леляол), а сессии, ассоциированные с отложенными соединениями, называются отложенными сессиями (Йогтапу уедлгоп).а ° Если у приложения имеется несколько соединений, можно переключать их с помощью оператора ЯЕТ СОИИЕСТ10Н. ° Для поддержания установленных соединений могут расходоваться значительные системные ресурсы. Поэтому может возникнуть потребность в ликвидации соединения. Это можно сделать с помощью оператора 01ЕСОННЕСт.

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

Однако если реализация это допускает, то„ в соответствии со стандартом, все операторы, выполняемые в одной транзакции, но в разных соединениях, являются частью одной общей транзакции. Операторы 80ь для управления соединениями Как отмечалось выше, в эту группу входят операторы соннест, еет С01ЛЯЕСТ10гЧ И 01 ЯСОН1ЧЕСТ. Оператор сошдст Оператор определяется следующими синтаксическими правилами: СОИгчЕСТ ТО сопоесСЕоп СагдеС " каждому соединению соответствует одна и только одна сессия. В сообгпестве БОБ ати термины часто используются попеременно для обозначения одного и того же.

Более строгие блюстители терминологии утверждают, что термин ведклямевяе относится к сетевому нуги между клиентом и сервером, а сессия — зто контекст, в котором работает 30ь-сервер. Лекция 18 Авторизация доступа к данным, управление транзакциями и сессиями соппесгз оп Сагдег ::=. ЯОЬ аегуег паве [ АЯ соппесг(оп паве [ [)ЯЕЕ соппесг(оп цеег паве ПЕЕА)ЛТ Здесь ЯОЬ аегуег паве — зто литерально заданная символьная строка, идентифицирующая сервер, к которому требуется подключиться.

Смысл (и формат) этого имени определяется в реализации. В необязательном разделе АЯ указываемое имя (соппесгзоп паве) выступает в роли временного имени соединения, которое впоследствии может быть использовано в операторах ЯЕТ СОШЕСТТОП и ОТЯСОННЕСТ. Если в операторе сОннест раздел АЯ не содержится, то по умолчанию соппесстоп паве совладаете ЯОЕ еегуег паве. В необязательном разделе ОЯЕЕ указываемое имя (соппесс(оп ивет пате) идентифицирует пользователя, от имени которого устанавливается соединение.

При отсутствии раздела иЯЕЕ в качестве соппесстоп цеег паве по умолчанию принимается текущий ацсьтп. В стандарте допускается, что реализация может ограничить возможные значения соареса[оп иаег паве (например, потребовать, чтобы это имя всегда совпадало с текущим ацСЬТО).

Эффект использования оператора в форме ООинеОТ ТО перла.т почти не отличается от результата действия системы при отсутствии какого- либо явного требования соединения. (Напомним, что соединение по умолчанию неявно устанавливается при попытке выполнения первого оператора В()[., требующего соединении.) Однако имеется одно важное отличие. Если соединение по умолчанию устанавливается неявно, а затем вдруг прерывается из-за какой-то ошибки, то оно автоматически переустанавливается при выполнении следующего оператора ВО[.. Если же соединение по умолчанию устанавливается явным образом, то автоматическое повторное установление соединения после его разрыва не производится. Оператор гдт сомгестндг Оператор определяется следующими синтаксическими правилами: ЯЕТ ООБИЕОТТОМ соппесг(оп оЬ)есг соппесгз оп оЬ)есг::= ( соппесг(оп паве ~ ОЕЕА[)ЬТ ) Условием успешного выполнения операции является наличие отложенного установленного соединения с именем соппесс(оп паве или отложенного установленного соединения по умолчанию.

В этом случае Основы баз данных Курс текущее соединение становится отложенным, а указанное отложенное соединение — текущим. Оператор шдсоиидст Оператор имеет следующий синтаксис: ОтяСОННКСт ( соппесЬ1оп оЬЗесЬ ~ ЛЬЬ ~ Сцдпвит 1 Необходимым условием для возможности ликвидации соединения является отсутствие активной транзакции в этом соединении. Если в операторе указывается соппесььоп оЬз ась, то соответствующее имя должно соответствовать установленному (текущему или отложенному) соединению. Если указывается совпкнт, то должно существовать текущее соединение.

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

Характеристики

Тип файла
PDF-файл
Размер
5,28 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее