Главная » Просмотр файлов » Программирование баз данных MS SQL Server

Программирование баз данных MS SQL Server (1084479), страница 102

Файл №1084479 Программирование баз данных MS SQL Server (Программирование баз данных MS SQL Server) 102 страницаПрограммирование баз данных MS SQL Server (1084479) страница 1022018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Рассмотрим пример применения процедуры эр Ье1ргехг для ознакомления с текстом одного из представлений, предусмотренных в базе данных Цоггпн1пс[, — представления "А1рпаЬег1са1 11эг ог ргобисгз'Ь ЕХЕС зр Ье1рсехг [А1рьаЬе 1са1 11эс ог ргабиссз) СУБД 891. Бегуег выводит на экран следующий код этого представления; Техс сгеасе иьев "А1рваЬес1са1 11эс ог Ргиииссз" АЯ ЯЕЬЕСТ Ргийисгэ.*, Слседигьеэ.Са[едигунаже твои сагедоггеэ тккев йо1И Ргоиисгз ок са едиг1ез.сагедогу1э = Ргииисгз.сагедигу1с ВНЕКЕ [[[Егиеиссз.О1зсиис1ииес[)=0)) Автор должен признаться, что испытал удовольствие, обнаружив в базе данных 1[огСЬн1пб это представление, относящееся к числу наиболее необычных примеров, Представления 401 когда-либо предоставленных компанией М(сговой (вероятно, именно из-за наличия таких объектов база данных Ноггпнгпо больше не рассматривается как применяемая по умолчанию образцовая база данных, хотя такое решение вызывает сожаление, поскольку большинство специалистов считают, что база данных Ноггпн1пс лучше подходит для обучения, чем йочепспгеиог«в).

Дело в том, что представление "А1рпаЬес1са1 11вп ог ргоспсгя" (Список товаров в алфавитном порядке) не совсем соответствует своему названию. По мнению автора, причина этого заключается в том, что база данных Ноггпн1по перенесена из среды СУБД Ассем, в которой действительно выполнялась сортировка данных, полученных с помощью представления. А в языке 5Я( не предусмотрена возможность применения в представлениях операции, которая с виду кажется очень простой, — сортировки с помощью конструкции ОКРЕК ВХ. Исключением из этого правила, касающегося использования конструкции ОКРЕК ВХ, является то, что ОКРЕК ВХ мохгет применяться при условии использования при этом также предиката ТОР.

Корпорация М)сговой оставила в базе данных Ногспн1по определение рассматриваемого представления, имя которого говорит о том, что его результаты представлены в алфавитном порядке, но фактически получение таких результатов не гарантируется. В действительности после вызова на выполнение запроса к этому представлению есть шансы получить его результаты не в алфавитном порядке! Следует отметить','что'запрет:.на::испяолазвопааннв квонст)зукции'.оапек-;,,"вх,раси))осурвнаетои' тЕЛЬКО,'На «Од ПрЕдоятаеЛЕНИя' у(ОССЛЕ:СОЗдщ)йя:-:~рвпдотаВЛЕНИя,.«ОНСтруКцвИа',ОКРЕК' ВХ,-ЬВОХ жег, испрльзоааться'а':самом звпрбсе„гкоторый''обращаетса 'к'-етому.:представлпению, Теперь рассмотрим еще один способ ознакомления с кодом определения представления, основанный на использовании таблицы вувсопппепгв. Но следует учитывать, что при использовании таблицы вуясопппепся (а также, применительно к рассматриваемой теме, большинства других системных таблиц) приходится не только учитывать проблемы совместимости, но и сталкиваться с дополнительными трудностями, обусловленными тем, что для обозначения всех объектов в системных таблицах используются идентификаторы объектов.

В 'Седой:БУЦ~ЗО1.,$ЕШВГт)ЛГЛ ОбсайаЧЕННП,'або«тссВ'ПрИМГЕНВЮтоэя)ндпегитИфИ«йтОрЫРО6ЪЪЕв«-; тоа,:;-Это"-';; цвелочиоленные;значенияу и,'в..,.этом обстриг',ртличие'идентифгикаторовв';об))екуоеп от,'имен;-'которме, првименяк(т', арпльзоватвгли'длл' обозначения-'ооздаваемых-'ими'Мъектрв. Вообще', говсоря -описание".,идентифйкатсре(в:. )бъвйтрв".аыкодвитя" за, 'рамки';;банной.' книги', йс;ЧИтатвявт,пуглеНОХЗпНЗтЬ Об;:й~оу)цаоптаясааияИИ '-'ПсуСКОЛЬКу:таКИЕ йдвисттншйКагтОрпЫ.Можщт вртрзтить в 'сценарипнк;;иопользуемых:другими:райрабртчиска)г(и„-'или.'спталкнгутьсл,'с:ними, глубоко.-'изууав-'средгу,,бОЬ. К счастью, в данном случае указанную проблему можно обойти, выполнив соединение с таблицей яуяоЬ)есся: веьест яс.гяхг ЕКОН яуясоявепсв вс 301Н яувпп)ессв яо ОН яс.гя = яо.гя ННЕКЕ яо.паве = 'П1рпаЪес1св1 11яп от ргоопссв' 402 Глава 10 И в этом случае формируется тот же блок кода (действительно, в данном случае действия, выполняемые в процедуре яр Ье1ргехг, сводятся к применению аналогичного запроса): техт сгеаге ч1ея "А1РЬаЬеякса1 11яс ог ргооасся" АЯ ЯКЬЕСТ Ргооэсся.*, Сасечог1ея.сзседогунаве РКОН Сасекогьея 1ММЕК 001М Рговэсся ОМ Саседоггея.Саседогу10 = Ргоеисся.Саяедогугэ ХНЕВЕ (((РгоНисяя.01ясопс1ьэеп)=0)) (1 гон(я) аггесгес() Автор еще раз настоятельно рекомендует избегать использования системных таблиц,но вместе с тем стремится раскрыть в данной книге все возможности.

Защита кода представлений с помощью шифрования При создании какого-либо коммерческого программного продукта часто возникает необходимость защитить исходный код от постороннего взгляда. Прежде всего, такая необходимость касается представлений. Чтобы зашифровать код представления, необходимо включить в оператор создания представления ключевое слово Х1ТН ЕМСВТРТ10М. Но если в определении представления используется конструкция Х1ТН СНЕСК ОРТ10М, то приходится учитывать несколько дополнительных требований, описанных ниже. С) Ключевое слово Х1ТН ЕМСКХРТ10М должно быть введено после имени представления, но перед ключевым словом АЯ. С) С ключевым словом Х1ТН ЕМСВУРТ10М не должно использоваться ключевое слово ОРТ10М.

Кроме того, следует помнить, что в случае модификации представления с помощью оператора АЬТЕВ х1ЕХ происходит полная замена в базе данных существующего представления и остаются неизменными только назначенные права доступа. Это означает, что при этом из базы данных удаляется также зашифрованный текст представления. Поэтому если требуется, чтобы модифицированное представление также было зашифровано, то конструкция Х1ТН ЕМСВХРТТОМ должна быть предусмотрена и в операторе АЬТЕК ((1ЕХ. Рассмотрим пример применения оператора АЬТЕК у1ЕХ для модификации представления СояковегОгс(егя ув, которое было создано нами ранее в базе данных МогГЬМ1001 Если же читатель не выполнил упражнение по созданию представления СпэсовегОгс)егя ум, то может просто заменить в следующем коде ключевое слово АЬТЕК словом СВЕАТЕ (напоминаем, что следующий оператор должен быть выполнен применительно к базе данных МогСЬм1пс(): АЬТКК Ч1ЕМ Сиясовегогбегя тк Х1ТН ЕМСВУРТ10М АЯ ЯЕЬЕСТ си.соврапунаве о.огНегэаяе, оН.Ргос(исг10, Представления 403 р.ргобисянапе, об.оиаигбиу, об.оитиргзсе, об.оиаигягу * об.пияергбсе АЯ Ехгеибебргясе РЕОМ Сиягопегя АЯ си 1ММЕЕ ЯОРМ 0 1е АЯ о ОМ си.сиягопег10 = о.сияяопег10 1ММЕЕ 001М (Огбег Оеиа11я) АЯ об ОМ о.Огбег10 = об.Огбег10 1ММЕЕ 001М Ргибисия АЯ р ОМ об.Ргобиси10 = р.ргобиси10 После выполнения этого оператора предпримем попытку ознакомиться с определением представления СияиопегОгбегя ии с помощью процедуры яр Ье1ргехю ЕХЕС яр Ье1риехи СияиопегОгбегя ия СУБД ЮЕ Бегуег сразу же сообщает, что не может выполнить это требование: тье оияеся сопяаеиия Ьаие Ьееи еисгургеб.

Допустим, что, вспомнив о возможности воспользоваться таблицей яуясоппепся, мы попытаемся ознакомиться с текстом представления с ее помощью: ЯЕЬЕСТ яс.гехи РЕОМ яуясоппеиия яс 001М яуяоЬ)есия яо ОМ яс.бб = яо.1б ХНЕЕЕ яо.иапе = 'СияиопегОгбегя ия' Но и эта попытка не принесет желаемых результатов, поскольку СУБД БЯЕ Бегуег распознает, что таблица зашифрована, и выдаст результат МОЕЕ. Короче говоря, зашифрованный код представления становится недоступным.

Безуспешными являются даже попытки получить к нему доступ с помощью других средств просмотра (таких как программа Мапавешепг Бсиейо, которая фактически даже не обозначает как доступную команду Моб11у, относящуюся к зашифрованному представлению). ПРЩКПВ йВМ ПРИааатИ:В Дайатайа ОПЦИЮ Патй ..жМСВХРТТОМЕОбйаатаПЬИО ООХРаНИта:,В НВДаайОМ Маата ИОКОДНМй КОД ОРВСДОтааааийв",'ПваКОПЬКЕ.ВОаМОжМООтэ ИЗВПВИЬ„ЗааИфРОВаи„:-..нмЙ квд из базы ддиимк иоюзочвиа, Бспи окв)катав, Ято Раавдвиавкбпия вода,:хранпй(аааи : гдв-пиба)в другом маета,'.отоутоувуат, а в «Фйадепаииа првдатавпвнив нвобаодимо внести ИЗМЕ иаина1 тО ВаМ ПрвдЕтбии Наоасата атд ОПрадалаНИВПОПНООтъз):За1НОВО. Связывание представления со схемой Процедура связывания представления со схемой позволяет непосредственно определить, от каких объектов (таблиц или других представлений) зависит рассматриваемое представление, а затем связать их с этим представлением.

Важность данной процедуры заключается в том, что она позволяет воспрепятствовать внесению изменений (с помощью операторов СЕЕАТЕ и АЕТЕЕ) в объекты, от которых зависит представление. Единственным способом уничтожения такой связи является удаление представления, связанного со схемой. 404 Глава 10 Причины, по которым может потребоваться применить представление. связанное со схемой, перечислены ниже. О) Связывание представления со схемой исключает возможность того, что представление станет "зависшим" в результате изменений в основополагающих объектах. Например, может оказаться, что в базе данных будет удален какой-то объект в результате выполнения оператора РНОР или будут внесены какие-то другие изменения (вплоть до удаления столбца.

от которого зависит работа представления), но при этом не будут учтены последствия, связанные с применением представления. Если же представление обозначено как ВсНема Воппа (Связанное со схемой), этого не может произойти. (1 Для обеспечения создания индексированного представления. Если на представлении должен быть задан индекс, то представление необходимо создать с помощью опции БСНЕМАВ1НР1МО. (Индексированные представления рассматриваются ниже.) Е) Если должна быть создана пользовательская функция, связанная со схемой (а некоторые пользовательские функции обязательно должны быть связанными со схемой), которая ссылается на представление, то и это представление должно быть связанным со схемой.

Таким образом, при создании представления необходимо также рассмотреть вопрос о том, должно ли это представление быть связанным со схемой. Придание представлению признаков таблицы с помощью опции Ч1ЕИ МЕТИ)АТА Применение опции ч1ех метАРАтА приводит к тому, что в клиентских программах ПВ-Е1В, ОВВС и ОЕЕ-ПВ представление становится похожим на настоящую таблицу. Если эта опция не используется, то в клиентский АР1-интерфейс передаются метаданные, которые указывают на то, на какой базовой таблице (таблицах) основано зто представление.

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

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

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

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

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