SQL сегодня
Пользователи, схемы и сеансы связи
Одной из областей, в которой старый стандарт отсутствовал, а новый стандарт су щественно улучшен, является определение контекста применения SQL - определе ния пользователя, схемы и сеанса. Предыдущий стандарт отдавал эти области практически полностью на усмотрение разработчика базы данных. В этом разделе мы приводим обзор среды SQL в соответствии со стандартом 92.
В SQL имеются средства организации данных. Данные содержатся в таблицах, таб
лицы группируются в схемы, схемы группируются в каталоги. Каталоги могут далее
группироваться в кластеры. Некоторые системы управления базами данных (СУБД) используют эти термины не так, как определено в стандарте, об этом может свиде
тельствовать системная документация.
С точки зрения отдельного сеанса SQL, кластер является целым миром. Он содер жит все таблицы, доступные в данном сеансе, а все связанные таблицы должны нахо диться в одном кластере. Однако стандарт оставляет на усмотрение разработчиков
возможность использования каталогов, отражающих связь кластеров.
В стандарте уточняется смысл требований SQL относительно того, кто и какие предложения может задавать. Тот, кто выдает предложения SQL, называется SQL- агентом. Им может быть пользователь, непосредственно работающий с SQL, или приложение. Агент SQL устанавливает связь с СУБД. Как только связь установле на, начинается сеанс. Реализации позволят SQL-агентам переключаться на некото рые другие связи и сеансы. В среде клиент/сервер эти связи или сеансы могут быть полностью адресованы другому серверу. В любой момент времени может сущест
вовать определенный текущий сеанс, который является активным и, возможно, не сколько других, которые в этот момент не действуют, но находятся на разных
стадиях выполнения. Привилегии выполнения предложения могут быть связаны с
пользователями или модулем какого-то языка программирования, если таковой
имеется.
Рассмотрим среду (контекст), в которой используются SQL-предложения и ряд но вых особых характеристик в стандарте SQL 92.
Что нового в стандарте 92?
Стандарт 92, за редкими исключениями, полностью включает в себя стандарт 89. Если он вам известен, то достаточно ознакомиться лишь с обзором того, что было к нему добавлено.
Предложения определения схемы. Схема (shema) - это множество объектов базы данных, которые управляются единственным пользователем и могут рассматри ваться как единое целое. Предыдущий стандарт SQL определял процедуры создания и удаления таблиц и других объектов, но он просто отождествлял схемы с идентифи каторами пользователей (authorization IDs), как правило, понимая под пользователем его ID, что не оговорено в стандарте. Для пользователей, которые могут захотеть соз дать более одной схемы, новый стандарт включает предложения для создания и уда-