Программирование баз данных MS SQL Server (1084479), страница 17
Текст из файла (страница 17)
А поскольку в данном примере применяется идентификатор пользователя за, то в поле со списком баз данных должны быть представлены все базы данных, относящиеся к текущему серверу. Выберите вместо базы данных, используемой в настоящее время, базу данных дйчепспгеиогХз и снова вызовите запрос на выполнение (рис.
2.13). Вполне очевидно, что данные изменились в соответствии с тем, что теперь они представляют данные из базы данных, применяемой в повторно выполненном запросе (см. рис. 2.13). Окно ОЬуес2 Ехр!огег Окно ОЬ)ес1 Ехр)огег представляет собой небольшое, но очень полезное инструментальное средство, позволяющее переходить от одного объекта базы данных к другому, просматривать имена объектов и даже осуществлять такие действия, как прогон сценариев и просмотр основополагающих данных.
На рис. 2.14 показан фрагмент окна ОЬ)ес1 Ехр)огег, в котором развернут узел с обозначением базы данных дс!чепсцгеиогкз. Этот узел базы данных может быть развернут дополнительно, вплоть до получения листингов таблиц. Предусмотрена дюке возможность продолжать развертывание вплоть до того, чтобы можно было раскрывать отдельные столбцы таблиц и проверять соответствующие им типы данных и подобные свойства. Таким образом, окно ОЬ)ео1 Ехр(огег — очень удобное инструментальное средство просмотра баз данных. Доступные инструментальные средства 75 Рис 2.13. Выяолиекие заароса о базе данных Ас)оеп С игепотйз Рис.
2.14. Фрагмент окна ОЬ/ес1 Екр)огег Службы 8818 Важность служб БАБ (БЯ1. Яегоег 1псеатапоп Бегттсез), которые прежде носили название служб РТЯ (1)ага Тгапз1огшаг1оп Бегг)сез), буквально невозможно переоценить. Автор всегда испытывает восхищение, пользуясь этим средством СУБД БЯ1. Ьегоег. А для того чтобы читатель понял, какие возможности открываются лично для него, отмечу, что я за последние годы разработал с помощью службы 881$ целый ряд проектов систем поддержки принятия решений (1)ес)з)оп Зпррогс Ьузгеш — РЯБ). 76 Глава 2 В системах поддержки принятия решений обычно не происходит ввод и вывод данных в оперативном режиме, а осуществляется накопление данных в целях предоставления руководителям помощи в принятии решений.
В проекте Р88 предусматривается сбор данных из разнообразных источников и перекачка этих данных в централизованную базу данных для дальнейшего использования при централизованной подготовке отчетов. С началом разработки любых проектов системы такого типа вскоре обнарулгивается чрезвычайно стремительное возрастание затрат на реализацию этих проектов, поскольку в них приходится сталкиваться с тем фактом, что в различных системах данные, по существу являющиеся одинаковыми, могут обозначаться разными идентификаторами. При этом приходится сталкиваться с бесконечным множеством проблем.
В число этих проблем может входить обеспечение целостности данных (для чего, например, приходится принимать решение о том, как поступить, если в поле содержится Х()Е)=значение, а эти значения не допускаются) или преодоление различий в бизнес-правилах (например, когда в одной системе допускается выдача товаров в кредит путем обозначения количества единиц товара в заказе отрицательным числом. а в другой системе это не допускается и для учета товаров, отпускаемых в кредит, применяется отдельный набор таблиц). Подобный перечень реализуемых требований может расширяться до бесконечности и в связи с этим с)щественно возрастают расходы.
Применение служб 8Я8 позволяет устранить колоссальный объем работы по программированию (обычно на каком-либо из клиентских языков), которую, как правило. приходилось выполнять в целях осуществления необходимых преобразований. А при использовании служб 8818 эта работа, по крайней мере, значительно упрощается. Службы 88г8 позволяют получить данные из любого источника данных, для которого предусмотрен провайдер данных ОЕЕ ОВ или .ХЕТ, а затем ввести эти данные в таблицу 8СсЕ 8егтег. Одедувт ИМЕТЬ В'.'Влсдг'у',:Итц ПрвдхуСМатйЕН,"Сивцдаяэнмгй'ЛрцейтГйдгвр':О(:;Е-ОВ'дЛЛ,.:ИНтЕрФЕИСа' О)ОВс;,-этст прсевйдер-лгсзеолиет,';облспечитт),'непсссредственйоеотсбрвиеиие' 'средстФдсг Ст)зжс-.'.ОЙЕ, ВВ: Наудрвйювр'ОВВАЙ,йтГЬОЗИЕЛавт,:Что,'ВСЕГдгВННГЬ(Е;:-Х';;КОторЫМ'МСИНО':ПтазуЧИтЬ' деступ сс':-йсмощью',иитегхрЕЙсе(ООБО;:,стен)оеятве 'тев)ХЕ' йоетубнмми, 'с;,изпсльзсвением бролййдьера,сО(,"8-08 (и,":сбедоветельнс слуиб:,88)8), багз'уж,',резь,.
згас)лв. "об,.атаи теме,'-Несбходсимп(теххге::отме)тить()'::что: слу)хбы:88!8Явтв'-и вхсдглт;в'ссстввзй)еграммиолс "обеспе)(ения'ю)'';жгуег:"моту реботвть,',с"любым:истсчни. хбм 0ее:,ОВ 'и'отправлять)денные;по лзххбаму 'неенвчхеиию-'Осе':ОВ;.Это'сзнвчвет,,';что:при ЛЕЛЕ)ЗГЧХЕ'дэвйНЫХ Ворбщв'М(6уНС ОЬОйтИСЬ'бЕЗ,-''уЧЕСтИВ".В'.ЭтСМ;-'ЛрецЛССЕСВМОй: ОУБД-БОГ.
36гуес Например",'с пгомсщ)ио;служ6'88)8='Мёжнсс',обеслйуитЬ''пгере))вч)уз)вйнысх:игз'-Базы дзн- ЙМХОУГВС!Е';Е',твбЛИци БХСЕ) йллдвн)Е.ИЗ,СУБД ОВГЗ;ВсОУБД'МуЫЕ, В процессе передачи данных к этим данным могут быть также применены так называемые преобразования. Преобразование по сути представляет собой модификацию данных в соответствии с каким-либо алгоритмическим правилом (правилами).
Модификация может быть настолько простой, как изменение имени столбца, или настолько сложной, как проверка целостности данных и применение в случае необходимости соответствующих правил для внесения изменений в данные. Чтобы ознакомиться с тем, как может выполняться преобразование, достаточно упомянуть Доступные инструментальные средства 77 приведенный выше пример, в котором данные извлекаются из столбца, для которого разрешено применение Х()1Д;значений, после чего эти значения переносятся в столбец другой таблицы, в котором не допускается наличие Ь!(ЗЕ1:значений.
Службы %15 позволяют автоматически подставлять вместо Х(ЗЕ1:значений какие-то другие значения, выбранные в процессе передачи (в частности, для числового поля может быть применена подстановка нуля, а для символьного поля — какой-то строки наподобие "ив|споив"). Программа Ьср Программа Ьср (Вп!й Сору Ргойташ) относится к той же категории программного обеспечения, что и службы ЗЯБ, но постепенно заменяется последними.
Программа Ьср — это утилита с интерфейсом командной строки, предназначенная исключительно для ввода и вывода значительных объемов отформатированных данных в СУБД Во( $еггег. Программа Ьср применялась как основное средство массовой загрузки и выгрузки данных задолго до того, как были созданы службы ВЯВ, а в настоящее время основной объем работы по осуществлению операций импорта и экспорта данных передан от программы Ьср к службам В$15. Тем не менее программа Ьср все еще сохраняет определенную привлекательность для тех пользователей, которые предпочитают утилиты с интерфейсом командной строки, поэтому количество инсталляций $9Е Веггег, в которых программа Ьср широко используется для быстрого перемещения данных, все еще чрезвычайно велико.
Программа 801 Зегмег Ргой!ег Программа БЯЕ Беггег РгоИег позволяет получить информацию о том, что происходит в серверном программном обеспечении, даже в таких безвыходных ситуациях, когда не остается больше никаких других возможностей. Безусловно, разработчику (или даже администратору базы данных) не приходится использовать эту программу в своей повседневной работе, но она является чрезвычайно мощной и позволяет найти выход из положения, когда больше ничто не может вам помочь. Кратко можно отметить, что программа ВЯЕ Вегяег Ргой!ег представляет собой инструментальное средство текущего контроля в реальном времени. Программа РегГогшапсе Моп!!ог позволяет отслеживать все, что происходит на самом верхнем уровне системы (на уровне определения конфигурации системы), а программа 89Е беггег Ргой!ег отслеживает конкретные события.
В этом состоит и преимущество, и недостаток программы. В зависимости от того, какие параметры применялись для настройки средств трассировки, программа ВЯЕ Веггег Ргой!ег позволяет получить конкретные сведения о синтаксической структуре буквально каждого оператора, выполняемого на сервере. Узнав об этом, достаточно представить себе, что осуществляется настройка производительности в системе с одной тысячей пользователей. В таком случае для распечатки всех операторов, выполняемых столь большим количеством пользователей даже в течение одной или двух минут, потребовались бы буквально горы бумаги.
К счастью, в программе ВЯЕ Веггег РгоИег предусмотрен обширный массив фильтров, которые позволяют сузить область поиска и сосредоточиться на отслеживании фактов проявления более определенных проблем, например, долго выполняющихся запросов. Еще одна возможность состоит в том, что программа ВЯЕ 78 Глава 2 5егчег Ргой1ег позволяет точно узнать текст запроса, вызываемого на выполнение из хранимой процедуры, а это очень удобно, если в процедуре применяется ряд условных операторов, в результате чего выполняются разные действия при различных обстоятельствах. Программа Вц!сто Программа эс(1сшс( не представлена в группе программ 5ОЬ 5егчег.