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

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

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

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

270 Глава 7 Бессмысленность этих указаний подчеркивается тем, что пользователи (которые чаще всего не понимают, что делают) при их выполнении фактически указывают имя базы данных в одинарных кавычках, или создают недостаточно большую базу данных, или допускают целый ряд других возможных и весьма примитивных ошибок. Единственное, что может спасти пользователя в этой ситуации — это наличие отдела технической поддержки с квалифицированными сотрудниками. Вместо этого автор предлагает предусматривать небольшой сценарий для создания таких объектов базы данных, которые могли бы войти в состав проекта ногсьчтпс(. Но чтобы исключить возможность уничтожения образцовой базы данных Моггпнтпс(, назовем создаваемую базу данных могспнтпс(сгеасе.

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

ЯХ1рр1пд СЕЕАТЕ ОАТАВАБЕ Япяпепепп Итак, в сценарий создания базы данных было внесено небольшое, незаметное на первый взгляд изменение, которое позволяет значительно упростить работу пользователей, занимающихся самостоятельно инсталляцией полученного ими программного продукта. Но таковыми могут стать не только конечные пользователи, которые приобрели ваш готовый программный продукт, но и вы сами. Так или иначе, оператор ЕХ1ЯТБ позволяет предусмотреть в сценарии все возможные ситуации. На основании изложенного можно сделать общий вывод, что операция ЕХ1БТБ действительно является очень удобной. Она позволяет не только значительно повысить быстродействие некоторых запросов, но и упростить структуру определенных запросови сценариев.

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

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

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

В связи с этим возникает вопрос — им обусловлена необходимость использования функции слбт т Ответ на этот воп)ьос является и)ьостым — функуия сАЯ т совместима со стандаРтом А%51 а функция СОРНРЕЕТ не п))едусмот)нна стандафтом АА)51 В этак и состоит их различил Ниже показан синтаксис вызова обеих этих функций. САЯТ (ехргеззаоп АЯ бага Гуре) СОНЧЕНТ[баоа Суре, ехргеззгоп Н зьу1е)) Очевидно, что обе эти функции по существу имеют одинаковый синтаксис, если не считать того,что в них предусмотрена разная последовательность параметров, а при вызове функции СО)рЗЕЕТ предусмотрена возможность задать опцию форматирования (с помощью параметра эцу1е), Функции САЯТ н СОМ1гЕЕТ позволяют осуществлять широкий перечень преобразований типов данных, которые могут потребоваться, если в СУБД Яь1'ь.

Зегчег необходимые преобразования не осуществляются неявно. Например, очень часто возникает необходимость преобразовать числовые данные в строковые. Рассмотрим следующий пример: НЕВЕСТ 'тье Созоопег Паз ап Огбег поп)оегеб ' + Огбег1О ГНОМ Огбегз ХНЕНЕ Созьоиег1О = 'АЬЕК1' Выполнение этого оператора приводит к возникновению такой ошибки: Ивч 245, Ьече1 1б, Ятате 1, ЬЬпе 1 Сопчетв1оп батаеб епеп сопчегт1пч ГЬе чатсЬат ча1ое 'ТЬе Спвтоает Ьав ап Отбет поапегеб ' Го бата туре 1пт.. Внесем корректировку в этот код, чтобы в нем вначале выполнялось преобразование числовых данных: ЯЕЬЕСТ 'Тпе Спвтоаег Ьав ап Отбег поепегеб ' + САЯТ(огбег10 АЯ чагсЬаг) ГНОИ Отбетв ХНЕВЕ Совтоает10 = 'АЬГК1' После этого будет получен требуемый результат: ТЬе Спвтоаег Ьав ап Огбег ппп1Ьегеб 10б43 Тпе Совтоаег Ьав ап Отбег пшпЬегеб 10692 ТЬе Совтоаег Ьав ап Огбет попьегеб 10702 ТЬе Совтоаег Ьав ап Огбег поапегеб 10835 ТЬе Совтоаег Ьав ап Огбег повЬегеб 10952 ТЬе Совтоает Ьав ап Огбег поаьегеб 11011 (б гон(в) аббестеб) Но результаты преобразования не всегда становятся такими наглядными.

Предположим, например, что необходимо преобразовать значение столбца с временной отметкой в обычное число. Временная отметка — это просто двоичное число, поэтому в действительности задача преобразования не является такой уж сложной: СВЕАТЕ ТАВЬЕ СопчегтТевт ( Со110 Тпт 1ОЕНТ1ТУ Со1ТЯ т1аевтатр ) 1НЯЕВТ 1ИТО СопчегтТевт ОЕГАОЬТ ЧАЬОЕЯ ЯЕЬЕСТ Со1ТЯ АЯ "Опсочегтеб", САЯТ(Со1ТЯ АЯ Ьпт) АЯ "Сопчегтеб" ГВОМ Сопчетттевт Выполнение этого оператора приводит к получению примерно таких данных (в зависимости от обстоятельств могут быть получены другие значения): (1 гон(в) абйессеб) Опсочегтеб Сопчеттеб Ох00000000000000С9 201 (1 гон(в) абтесгеб] Кроме того, с помощью функции САЯТ можно обеспечить преобразование дат: ЯЕЬЕСТ ОгбегРате, САЯТ(огбегОате АЯ чатспвт) АЯ "Сопчеттес(" ГНОИ Отбетв ИНЕВЕ Огбег10 = 11050 Дополнительные сведения о запросах 273 Выполнение этого оператора приводит к получению результатов, аналогичных приведенным ниже (конкретно применяемое форматирование может зависеть от опций конфигурации определения системной даты).

ОгбегОасе Сопчегсеб 1998-04-27 00:00:00.000 (1 гон(з) асгеосеб) Арг 27 1998 12:ООАМ В данном случае заслуживает внимания то, что преобразование даты выполняется так, как предусмотрено в функции САЯТ; такой контроль над форматированием, который предоставляет функция СОйчЕВТ, отсутствует. А пример применения последней функции приведен ниже. ЯЕЬЕСТ ОгбегОасе, СОМЧЕВТ(чагопаг(12), Огбегпасе, 111) АЯ "Сопчегсеб" ГНОМ Огбегз ХНЕВЕ Огбег10 = 11050 Выполнение этого оператора приводит к получению следующих результатов: ОгбегРасе Сопчегсеб 1998-04-27 00:00:00.000 1998204227 (1 гон(з) аггессеб) Очевидно, что эти результаты весьма отличаются от тех, которые получены с помощью функции САЯТ.

А в действительности мы могли бы преобразовать эту дату в любой из 34 форматов с двух- или четырехзначным обозначением года. ЯЕЬЕСТ ОгбегОасе, СОХчЕВТ(чагсэаг(12), ОгбегОасе, 5) АЯ "Сопчегсеб" ГНОМ Огбегз ХНЕВЕ Огбег10 = 11050 Это приводит к получению таких результатов: ОгбегОасе Сопчегсеб 1998-04-27 00:00:00.000 (1 гон(з) ассеосеб) 27-04-98 Сгедугт учитывать, что для ))гваения печально зналенипит нробгеиьс двухтьссячного года было внесено несколько изменений. Одно из этих изменений состояла в том, что можно за- давать точку ~)азделениа, которая будет использоваться в СУБД 5~® остове для олумдегения того, следует ли добавлять сяеледи к двухзначному обозначению значение 20 или 1 9. От пользователя требуется лишь указать код в качестве последнего параметра функции СОИЧЕВТ (в предыдущем примере был задан код 111, соответствующий японскому стандарту, с четырехзначным обозначением года, л в последнем примере — значение 5, соответствующее итальянскому стандарту, с двухзначным обозначением года).

Этот последний параметр указывает требуемый формат. Все коды, превышающие 100, обусловливают применение четырехзначного обозначения года, а все коды меньше 100, за несколькими исключениями, соответствуют двухзначному обозначению года. Перечень всех доступных форматов можно найти в документации ВооЫ Онйпе под заголовком СОМ/ЕЯТ ог САБЕ. 274 Глава 7 По умолчанию используется точка Разбиения В 9/50. В связи с этим двухзначное обозначе. ние года, равное В 9 или меньюе, будет пфеобфозовыватьсл путем добавления цифР 20 спс)геди.

К любому дфу гому обозначению года, пфевышаютему это число, будут добавлятыт ииффы з 9. Указанное з начение точки разбиения лсож но изменить путем корректировки конфигурации сервера базы данных. Вопросы повышения производительности Выше уже были приведены некоторые общие рекомендации по повышению производительности, но, как и в отношении большинства практических вопросов, этого недостаточно, чтобы добиться реального успеха. Поэтому в настоящем разделе будет приведен своего рода краткий справочник по проблемам повышения производительности запросов.

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

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

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

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