Введение в системы БД (542480), страница 279
Текст из файла (страница 279)
с его помощью проверяется, удовлетворяет ли данная символьная строка некоторому заданному шаблону. Отличие заключается в том, что условие 81И1ЫН полдержнвает более широкий диапазон возможностей ("символы-заменители" и т.п.) по сравнению с условием ЫКЕ. Синтаксис этого условия следующий. <ишрашение типа символьной строки> [КОТ] 81И1ЬАК ТО <швбпои> ] ЕБСАРЕ <исклшчеиие> ] Здесь параметры <шаблон> и <исклшченяе> по сути те же, что и в условии ЫКЕ, но параметр <шаблои> может включать дополнительные специальные символы — не просто " " и "А'*, как в условии ЫКЕ, а также "*", "+", "-" и многие другие.
Общее их назначение заключаешься в поддержке правил анализа выражений, записанных на некотором формальном языке. Замечание. Стоит упомянуть, что правила для условия 81И1ЬАК были скопированы с подобного оператора в языке РОЯ!Х. В завершение этого подраздела отметим, что при наличии нового встроенного типа ВООЬЕАН условные выражения становятся просто скалярными выражениями специального вида (чем, впрочем, они и должны были быть всегда).
Целостность В языке Я()!.3 поддерживается ограничение КЕБТК1СТ <сснпочное действие>, которое подобно, но не идентично опции КО АСТ10Н (для уяснения различия обратитесь к главе 8). Также включена некоторая поддержка триггерных процедур (трнггеров), в частности имеется оператор СКЕАТЕ ТК166ЕК, которым определяется триггер — комбинация определений события и действия. ° Событие — это операция 1ИБЕКТ, ОРОАТЕ (необязательно для указанных столбцов) или РЕЬЕТЕ для указанной именованной таблицы.
° Действие — это действие (фактически — процедура), которое будет выполнено АРТЕК (после) или ВЕРОКЕ (до) обработки указанного события. Точнее, действие состоит из необязательного условного выражения (по умолчанию равного истине) и Я!)].-процедуры, которая будет выполнена, если и только если условие истинно, когда событие произойдет. Пользователь может указать, будет ли действие выполняться один раз, когда случается событие, или же один раз для каждой строки РОК ЕАСН КОИ таблицы, с которой данное событие связано. Более того, спецификации действия могут ссылаться на значения "до" и "после" в таблице, связанной с конкретным событием, предоставляя таким образом примитивный уровень поддержки для, помимо всего прочего, ограничений перехода.
Обновление представлений В языке Я()].З расширена поддержка обновления представлений за счет включения представпений типа ОН10И А1Ь и представлений, определенных на базе соединений типа "один ко многим" и "многие ко многим". Аналогичные расширения имеются и для курсоров. 1056 Приложения Управление транзакциями В язык Б()ЬЗ включено несколько новых возможностей управления транзакциями. ° Использование явного оператора БТАВТ ТНАКЯАСТ10Н (с теми же операндами, что и у оператора БЕТ ТНАМЯАСТ10К; см. главу 14) ° Использование опции ((1ТН НОЖ для оператора объявления курсора РЕСЕАНЕ СОННОЕ (опять же, см, главу 14) ° Поддержка контрольных точек (см. аннотацию к (14.11)) Безопасность В языке БОЬЗ поддерживаются привилегии выборки конкретных столбцов (привилегии НЕВЕСТ(х) позволяют их обладателю ссылаться иа конкретный столбец х конкретной именованной таблицы в параметре <таблнчное ннрахенне>).
Также поддерживаются определяемые пользователем роли. В качестве примера можно привести роль АССБ, означающую любого сотрудника бухгалтерии. Однажды созданная роль может иаделяться привилегиями точно так, как если бы это был идентификатор пользователя. Более того, роли могут предоставляться, подобно привилегиям, и так же, как все привилегии, могут предоставляться или пользователю, или другой роли. Отсутствующая информация Здесь мы ограничимся лишь одним наблюдением. Использование возможностей новых типов в языке Щ 3 (как и ожидалось) усложняется наличием ИШЬ-значений. Например, пусть (à — переменная некоторого структурированного типа Т.
Тогда может быть так, что значение некоторого компонента переменной (г равно 1П()ЬЬ-значению (в этом случае условное выражение (Г = (г вычисляется, как значение неизвестно), тем не менее условное выражение Р 1Я МОВЕ вычисляется, как ложь! Фактически в общем случае можно сказать, что если (((Г = Р) 1Я НОТ ТВОЕ) 1Я ТКОŠ— истина, то или значение (Г равно М)ЬЬ-значению, или переменная Р включает компонент, значение которого равно МЛ.Ь-значению. Поддержка принятия решений В язык ЯОЬЗ включена поддержка опций БНООР1НБ ЯЕТЯ, НОЕЕОР и СОВЕ для предложения ЯКООР ВТ, как было описано в главе 21.
1057 Приложение Б. Обзор языка ЯДх',3 Приложение В Сокращения и специальные символы АСРР а[опцсйу/сон |йз[епсу/ !зо1а[!оп/[[цгаЪ|И[у Аазос!апоп Гог Соври[[ля МасЬ[пегу аЬз[гас[ [[а[а [уре Авег!сап Ь[а[юпа! Бган[[а[[[э !пзгйп[е АЬ[Б!/Буз[евз Р1апп!пл ап[[ Ке[[п!гевеп[з Сопнпй[ее АСМ АРТ А1МБ1 АХБ!/БРАКК АК[ЕБ ВВ ВСТР ВСБ В1.0В ВХР САСМ САР/САМ САБЕ СРО С[М СЬ1 СЬОВ СИР 1О~8 Приложения а!лог















