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

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

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

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

Эта конструкция не только дает возможность получить все согласующиеся строки с учетом того поля (полей), на котором основано соединение, но и те строки, которые имеются только в таблицах, находящихся на левой стороне, притом что столбцы, относящиеся к правой стороне, заполняются )ч(ЛД;значениями. Наконец, та же операция возвращает все строки, имеющиеся только в таблицах, заданных с правой стороны, а вместо значений полей таблиц, относящихся к левой стороне, подставляются Х1Л.Ь:значения.

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

148 Глава 4 Тем не менее с помощью операции полного соединения можно достичь гораздо большего! Введем еще одну конструкцию Т01М: ЯЕЬЕСТ в.йббгевв чв.йббгевв1Р, ч.чепбог1Р, ч.уепбогнате ЯКОМ ЧепбогАббгевв чв ГРЬЬ РОТМ Абб а ОМ ча.АббгеввТР = а.Аббгевв1Р ЯРЬЬ 301М Чепбогв ч ОМ ча.Чепбог1Р ч.Чепбог1Р Теперь в нашем распоряжении имеется оператор, позволяющий получить из рассматриваемых таблиц всю имеющуюся в них информацию: Аббгевв1Р Чепбог1Р Аббгевв Чепбогнвае 1234 Апучпеге 567 Мв1п БС. 999 1вв ЯС.

1212 БаТСЬ Аче 364 МевСЬп МРЬЬ 1 3 МРЬЬ МРЬЬ МРЬЬ МРЬЬ 1 2 МРЬЬ МРЬЬ МРЬЬ 3 (6 гоч(в) всгесвеб) Описание полученных результатов Вполне очевидно, что в первую очередь были сформированы те же две строки. которые могли быть получены с помощью конструкции 1ММЕМ 301М. За ними следуют три строки из таблицы Аббгевв, которые не были согласованы с какими-либо другими строками той или другой из оставшихся таблиц.

Наконец, получена одна строка из таблицы чепбогв, с которой не согласуются какие-либо другие строки (но возможности полного соединения на этом не исчерпываются). Еще раз отметим, что конструкция ЕОЬЬ 301М должна использоваться, если требуется получить все строки из таблиц, находящихся по обе стороны от ключевого слова,Т01М; если это возможно, строки будут согласованы, но будут также включены, даже если согласование не произошло. Операторы с конструкциями СМОББ 301М обладают действительно необычными особенностями.

Соединения СМОБЯ 301М отличаются от соединений других типов тем, что в них отсутствуют операции ОМ, а также тем, что в них происходит соединение каждой строки таблиц, находящихся с одной стороны от ключевого слова 301М, с каждой строкой таблиц, находящихся с другой стороны от ключевого слова 301М. Короче говоря, в конечном итоге формируется декартово произведение всех строк, заданных по обе стороны от ключевого слова 301М. Операторы с конструкцией СМОБЯ 301М имеют такой же синтаксис, как и любые другие операторы 301М, за исключением того, что в них используется ключевое слово СМОЯЯ (вместо 1ММЕМ, ООТЕЕ или ЕОЬЬ), а операция ОМ отсутствует. Ниже приведен краткий пример.

Конструкция СКО88 ЮОХЯ Роп'в Раоаьвве Ревгап Япоо Рече'в Раса МРЬ1 МРЬЬ МРЬЬ ТЬе БОЬ Беяпе1 Соединения 149 ЯБЬЯСТ ч.чепбогкаве, а.лббгеяв ГаОМ Уепбогв ч СЗОБЯ 301М Аббгеяв а Теперь рассмотрим, какова структура обрабатываемых таблиц: в таблице уепбогя имеются три строки, а в таблице Аббгев я — пять строк. Если каждая строка таблицы Уепбогя будет согласована с каждой строкой таблицы Аббгеяя, то в конечном итоге результат выполнения операции СЯОЯЯ 301М будет состоять из 3 х 5 = 15 строк: Уепбогнате Аббгевв Оев19п Явор Оев19п БЬор Оевьяп Явор Оев19п Явор Оев19п Явор (15 гое(в) аууесгеб) В данном случае действительно получены те результаты, которых следовало ожидать.

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

А при тестировании систем большого масштаба снова и снова возникает проблема, связанная с высокой трудоемкостью создания больших объемов данных, применяемых при испытаниях. Использование операции СМОЯЯ 301М открывает такую возможность, что могут быть созданы две или несколько таблиц с количеством строк испытательных данных, намного меньшим по сравнению с требуемым.

После этого к таким промежуточным таблицам можно применить операторы СЯОЯЯ 301М для создания гораздо более крупных наборов испытательных данных. Наглядный пример применения такого подхода представляет собой последний запрос. Он по- Ооп'в ОагаЬаве Ооп'в Оагапаве Ооп'в ОаваЬаве Ооп'в ОапаЬаве Ооп'в ОаваЬаве паче'в Бага паче'в РаТа паче'в папа паче'в Яапа паче'в пава Тье ЯОЬ Яеппе1 Тье ЯОЬ Беппе1 Тпе ЯОЬ Яеопе1 Тпе БОЬ Беяпе1 Тпе БОЬ Яеопе1 1234 Апукпеге 567 Ма1п Бг. 999 1вв ЯС.

1212 ЯМТСЬ Аче 364 Хеввап 1234 Апукьеге 567 Ма1п ЯС. 999 1вг ЯС. 1212 Ятагп Аче 364 Хеяпвп 1234 йпуепеге 567 Маьг, ЯГ.. 999 1вг ЯС. 1212 Ятагь Аче 364 Хевпап 150 Глава 4 казывает, что если требуется выполнить проверку приложения по данным, в которые входят адреса и имена поставщиков, то даже простой запрос позволяет получить 15 строк из 8.

Безусловно, эти цифры могут стать намного более существенными. Например, если бы была создана таблица имен с 50 именами и таблица фамилий с 250 фамилиями, то применение оператора СкОьь бО1Н для соединения этих таблиц позволило бы создать таблицу с 12 500 уникальными комбинациями имен и фамилий. Это означает, что достаточно ввести вручную 800 строковых значений с именами и фамилиями, после чего сразу же получить набор испытательных данных с 12 500 именами и фамилиями! Альтернативный синтаксис операторов соединений В настоящем разделе рассматривается синтаксис, не соответствующий современному стандарту, но все еще рассматриваемый многими как "нормальный'* способ составления кода операторов соединения. До появления версии 501. Ьегчег 6.5 приведенный в этом разделе альтернативный синтаксис был единственно возможным синтаксисом операторов соединения СУБД 8Я1. 8егчег, а тот способ оформления операторов соединения, который применяется в настоящее время и который принято называть "стандартным", даже еще не был предусмотрен.

До сих пор во всех операторах 801., рассматриваемых в данной книге, использовался синтаксис, который определен стандартом Аг181. Автор настоятельно рекомендует опираться именно на стандарт АХ81, поскольку он обеспечивает гораздо лучшую переносимость между системами, а также позволяет создавать операторы, намного более удобные для чтения. Но следует отметить, что и указанный устаревший синтаксис в настоящее время фактически достаточно полно поддерживается на разных платформах. Основная причина, по кото~кп1 в данной главе рассматривается устаревший синтаксис, со. стоит в том, что любомураз~оботчику рано или поздко придется столкнуться с ним в унаследованном коде, и в этан нет ни малейшего сомнения. Автор не может допустить, чтобы читатели настоящей книги когда либо недоумензсо россзиатузиволи подобнььй код, говоря про себя: кЧто бы это все значило з" Несмотузя на сказанное, еще раз повтгфим носгяоякмльную рекомендацию, что пфи любой возможности следует использовать синтаксис АХЯ.

Еще узоз отметим, что опфатофы, офофмленные с исполыованием совфеменного синтаксиса, становятся ггфаздо баеве удобными для чтения, а гфедстаеиогели компании Мгстозофг дали понять, что поддержка усоифеешего синтаксиса не может гфодолжаться до бесконечности. Безусловно, если учесть, насколько велик обьем все еще эксплуатзфуемого унаследованного кода, трудно поверить что вскгфе паапа нет такое вфеия, когда компания Мгсюзоу1 загфетит использование уста~евшего синтаксиса, но никто не может гарантифовшпь обратное Повидимому, самая важная причина отказа от устаузевшего синтаксиса состоит в том, что синтаксис А%51 фактически гфедоставляезп бтьшие функциональные возможности.

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

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

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

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