|
Программирование >> Реляционные базы данных
7.3.3 Катало жи Клк элементы соззаются к изменяются iiiijTpii схемы, так и са.ми схемы создаются и изменяются lUiyTpn каталога. В принципе можно предположить, что процесс со.)лания и наполнения каталога аналогичен процессу создания и наполнения с.хсч. К еоукилениы, в S0I.2 ие спрслелеи стандарт этих действий типа оператора CREATE CATALOG <имя каталога за которькм следует список схем. прин;1хчсжащн.\ яанно.му Kariuiory. и описания этих схем. Однако н S0L2 определен оператор SET CATALOG <имя к<1т;1лога> Этот оператор поию.тяст устанолить текущий каталог, и и результате новые схемы бу.зут noni!.iini> ИГ.1СИН0 в этот катшюг. а н случае неясности с именами изменения с\е.мы Gyjp относиться к cx. км именно этого каталога. элемента c.>(eiм лужно уточнить имя этого элемента, тик как две п более схем могут иметь рахчйчныс элементы с одним и те.м же именем. Текущая схема изменяется с помощью оператора SET SCHEMA. Напри.мср: SET SCHEMA MovieSchema: делает TCKyuieH схему. omiciiHuyio иа рис. 7.12. и тогда любые описания элементои схемл добавляются именно в эту схему или изменяют уже существующие и ней Л1еменгы. CREATE SCHEMA MovieSchema CREATE DOMAIN CertDomain ... как в примере 6.8 Описания ДРУ1НХ областей CREATE TABLE MovleSlar ... как на рис. 6.4 Операторы создания для ост;1льных четырех таблиц CREATE VIEW MovieProd ... как в примере .S.40 Описания других представление CREATE ASSERTION RichPres ... как п примере 6.10 рм<. 7.12. Описоние сигмы . Полные имена элементов схемы Формально имя элемента схемы типа таб:н1иы состоит из имени катгшога, . имени схемы и собственного имени элемента, разделенных точками. Напри- мер. на габлицу Movie из схемы MovieSchema п каталоге MovieCatalog можно ссылаться по имени MovieCatalog.MovieSchema.Movie ] Если каталог задан по умолчанию или является текущим, первый элемент и.мени можно пропустить. Если принятой по умолчанию или текущей является cxc\ia, се и.чя тоже можно не указынать, и. как обычно, останется одно имя i эле.мента. Но ял доступа к тому, что находится вне текущей схемы или i каталога, нужно применять полное имя. 7.3-4 Клиенты и серверы в среде SQL среда SQL - нечто большее чем множество каталогов и схем. Она содержит элементы для поддержки операииМ на БД, представленных каталогами и схемами. В среде SOL есть два особых вида процессов. SOL-кдиенти и SQL-серверы. Сервер поддерживает операции на элементах БД, а клиент обеспечивает связь пользе мтеля с сервером. Как прави.чо, сервер работает на большом компьютере и хранит БД, а клиент рабошст на другом колшьючере, возможно, на персональной рабочей станции, уда-пенной от сервера, хотя они и могут находиться на одном компьютере. 7-3.5 Связи Для запуска содержащей SQL профаммы на юшенте SQL нужно открыть связь межау клиентом и сервером с помощью оператора SQL: CONNECT TO <имя сервера> AS <имя связи> Имя сервера зависит от инсталляции. Ключевое слово DEFAULT, подставленное вместо имени сервера, подключает пользователя к любому серверу, определенному в данной инсгалляции в качестве сервера по умолчанию . И.мя связи можно использовать дпя последующих ссылок на эту связь. Такие ссылки нужны потому, что S0L2 позволяет пользователю открывать множество связей, но п определенный момент активной может быть только одна из них, .Для переключения с одной связи на другую связь сопШ нужно сделать активной с помощью оператора SET CONNECTION сопп1; При этом любая другая активная в данный момент связь становится бездейшщ-ющей до те.\ пор. пока не будет снова введена в действие другим оператором - SET CONNECTION, в котором она явно упоминается. Удалить связь можно, указав ее имя в операторе DISCONNECT conn1; В результате связь уничтожается и в дальнейшем ее невозможно активизировать Если вообще не нужно ссылаться на установленную связь, слово AS и имя связи из оператора CONNECT ТО можно удалить. Можно вообще не указывать операторы связи. Если операторы SQL просто выполняются на компьютере с SQL-клнентом, автоматически устанавливаегся связь, заданная по умолчаншо. 7.3.6 Сеансы Операции SQL. выполняемые во время пребывания связи в активной форме, называются сеансом. Сеанс зависит от создавшей его связи. Например, если спязь бездействует, ее сеанс тоже бездействует, а реактивация этой связи с помошью опер;1тора SET CONNECTION вновь делает его активным. На рис. 7.13 сеанс и связи изображены в виде двух аспектов соединения клиента с сервером. КаждьиЧ сеанс имеет текущий каталог и текущую схему в этом каталоге, которые можно определить с тюмощью операторов SET SCHEMA и SET CATALOG, рассмотренных в разделах 7.3.2 и 7.3.3. Как будет показано в разделе 7.4. для каждого сеанса существует авторизованный пользователь. Рис. 7.13. Взоимодейавие клиенте и сервера SQL 7.3.7 Модули Модуль - это термин SQL, обозначающий прикладную профамму. Согласно стандарту S0L2 существует три типа модулей и по крайней мере один из них доступен для пользователя. 1. Общий интерфейс SQL. Пользователь может набирать операторы, которые выполняются сервером SQL. В таком режиме каждый запрос или сам оператор является модулем. Он предполагается в большинстве примеров этой книги, но на практике применяется редко. 2. Встроенный SQL. Этот способ работы рассматривался в разделе 7.1: операторы SQL появляются виугри программ главного языка и вводятся с помощью EXEC SQL. Предполагается, что препроцессор превращает встроенные операторы SQL в подходящие функции или вызовы процедур из системы SQL, которые выполняются в подходящий момент при выполнении компилированной программы главного языка. 3. Истинные модули. Наиболее общий тип модулей SQL2 - множество хранимых функций шш процедур, состоящее из программ главного языка и SQL-операторов, которые взаимодействуют межау собой путем передачи параметров или с помошью разделяемых переменных. Выполнение модуля называется SQL-агентом. На рис. 7.13 модуль и SQL-агент показаны клк один элемент, вызыпаемьи1 на SQL-клиенте для установления связи. Однако следует помнить, что различие между модулем и SQL-агентом аналогично различию между программой и процессом; первое - это запись программы, а второе - ее выполнение.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |