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

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

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

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

4.2). Таблица 4.2. Одна строка с данными из таблицы лссога М41в1П Кагвтиаве Ьаатлаяв Наггззоп кех Конструкция 701М позволяет создать одну строку из двух строк, находящихся в полностью отдельных таблицах (табл. 4.3). Во время работы с данными, хранящимися в нормализованной базе данных, часто приходится сталкиваться с ситуациями, в которых всю необходимую информацию невозможно получить только из одной таблицы.

В других случаях вся информация, которая должна быть получена, находится в одной таблице, но выборка этих данных должна осуществляться по условиям, подлежащим проверке по другой таблице. Конструкция 701м предназначена для использования именно в таких ситуациях. Конструкция 101м выполняет именно ту задачу, на которую указывает смысл соответствующего английского глагола, — соединяет информацию из двух таблиц в один результирующий набор. Результирующий набор можно рассматривать как "виртуальную" таблицу. В него входят и столбцы, и строки, а сами столбцы характеризуются определенными типами данных. И действительно, в главе 7 будет показано, что результирующий набор можно использовать так, как если бы это была таблица, и обращаться к нему для выполнения других запросов.

Конкретные способы, применяемые в конструкции 101М для соединения информации из двух таблиц в один результирующий набор, зависят от того, какие указания предусмотрены в этой конструкции, касающиеся сбора данных из разных таблиц, поэтому и предусмотрены четыре разных типа конструкции 101м. Но все разновидности конструкций 101М имеют одну общую отличительную особенность в том, что в них одна строка согласуется с одной или несколькими другими строками для получения результирующей строки, представляющей собой надмножество, созданное путем соединения полей из нескольких записей. Например, предположим, что строки с данными о кинофильмах берутся из таблицбя Р11тэ (табл. 4.1).

Соединения 123 Таблица 4.3. Строка, полученная в результате соединения строк с данными ИЗ табпнц ГЗ1яш И дссогв теагиа44е Гхгвтиаяе 1 аяЕИаяе Гх1ю1П Му Га1г Ьапу 1964 Нагггэоп Нех С помощью этой конструкции 101М строки соединяются на основании связи "один к одному" (по крайней мере такое впечатление складывается на основании приведенных данных).

Одна строка из таблицы Г11тэ соединяется с одной строкой из таблицы эссогэ. Немного дополним условия этого примера и рассмотрим, что при этом произойдет. Введем еще одну строку в таблицу дссогэ (табл. 4.4). Таблица 4.4. Дополненная таблица лсьоха Гзгат_#_аяе Ьая т14аие Нагг1зоп НерЬпгп Нех лиогеу Теперь рассмотрим,что произойдет после соединения дополненной таблицы Ассогэ с той же таблицей Г11жэ (содержащей только одну строку) (табл. 4.5).

ТабЛИца 4.5. рвауЛЬтатЫ СОЕдИНЕНИя дОПОЛНЕННОй табЛИцЫ дссога С табЛИцЕй Г11на Г11жто теагиаое Гз гя гнаие 1 аятиаше Му Гагг Ьаоу Му Гагг Ьаоу Нагггэоп НерЬпгп 1964 Нех 1964 апогеу Конструкции ~а~а,тоти Бесспорно, конструкции 1ММЕН,101М представляют собой наиболее распространенную разновидность 101М. С помощью этих конструкций осуществляется согласование строк по данным из одного или нескольких общих полей, как и в большинстве других конструкций 001М, но в отличие от этого конструкция 1МИЕН 001М возвращает только строки, согласованные по всем полям, которые обозначены как используемые Вполне очевидно,что полученные данные существенно изменились, поскольку больше нельзя утверждать, что между таблицами наблюдается связь "один к одному"; скорее, здесь присутствует связь "один к двум", вернее, связь, которую с большим основанием можно назвать "один ко многим*'. Одна-единственная строка из таблицы Г11тэ может использоваться столько раз, сколько потребуется для получения полных (соединенных) данных из согласующихся строк таблицы Ассогэ.

Обратил ли читатель внимание на то, как происходит согласование? Безусловно, строки согласуются путем проверки значений поля Г11ж10 из обеих таблиц для создания одной строки из двух. Но в рассматриваемых примерах используются настолько ограниченные наборы данных, что полученные результаты практически не должны зависеть от применяемой конструкции 001М. Тем не менее разные варианты этой конструкции обладают своими особенностями, которые рассматриваются в следующих разделах.

124 Глава 4 для соединения. В предыдущих примерах в результирующий набор вошла по меньшей мере один раз каждая строка, но на практике такая ситуация встречается редко. Дополним рассматриваемые таблицы и проверим, какие результаты могут быть получены с помощью конструкции 1ММЕЕ 001М. Допустим, что теперь таблица Г11вя имеет такой вид, как показано в табл. 4.б.

Таблица 4.6. Дополненная таблица Г11из УеагМа<4е Му Гаьг Ьапу Ппгог91чеп 1964 1992 А таблица Асгогя стала выглядеть так, как показано в табл. 4.7. Таблица 4.7. Таблица досова после еще одного дополнения Г13лпХП Гагзенаие Ьаз Гзяшае Наггьяоп НерЬпгп Еаягяооп Вочагг Нех Аппгеу С11пг Нпарагеу После использования операции выборки с конструкцией 1ММЕН ~01М результирующий набор принимает такой вид, как показано в табл. 4.8. Таблица 4.8. Результирующий набор, полученный с применением конструкции пп4ЕН доп4 Уеагмаее Г1гзкизяяз Ьазгнааю Наггзяоп Му Гаьг Ьабу Му Гаьг Ьапу Опгогд1чеп 19б4 19б4 1992 Кех НерЬигп Еаягяооо Апогеу С1гпг ЯЕЬЕСТ <яе1есс 11яг> ГРОМ <Гьгяс ГаЬ1е> <боьп Туре> <яесопп гаЬ1е> ~ОН <Зозп сопСЬЬ1оп>] Это — синтаксис, предусмотренный стандартом АМЕБ Он в основном предназначен для использования в системах баз данных, отличных от Я~) 8еггег.

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

Это связано с тем, что соответствующая строка в таблице Г11мя отсутствует. В результирующий набор не включается строка, для которой отсутствуют согласующиеся поля в обеих таблицах. Теперь перейдем к рассмотрению самих примеров кода. Наиболее предпочтительный формат кода для конструкции 1ММЕН 001М выглядит примерно таким образом: Соединения 125 Вызовите на выполнение программу Мапаяешепг 5гпбю и проведите испытания операторов с конструкцией 1ИМЕК 301И, применив следующий код по отношению к базе данных Иогг1тн1псг яеьест * РВОМ Ргоаосгв 1МНЕН 101М Яорр11егв ОК Ргодосьз.зорр11ег10 = Яорр11егв.Яорр11ег1П Результаты выполнения этого запроса занимают слишком много места по ширине, поэтому не приведены в настоящей книге, но после выполнения данного запроса должно быть получено примерно 77 строк.

Эти результаты отличаются несколькими особенностями, перечисленными ниже. О Столбец Япрр11ег10 встречается дважды, но не имеет каких-либо признаков, позволяющих узнать, какой из этих столбцов относится к той или иной таблице. С3 Происходит возврат всех столбцов из обеих таблиц. Ы Первым столбцом, вошедшим в результирующий набор, является столбец из первой указанной таблицы. Можно было бы узнать, к чему относится идентификатор Япрр11ег10, просто рассматривая таблицу, выбранную в первую очередь, и согласуя данные из этого столбца с первым обнаруженным столбцом Япрр11ег10. Тем не менее такая процедура является утомительной, а что еще хуже, способствует возникновению ошибок. В этом состоит одна из многих причин, по которым не рекомендуется указывать в конструкциях Я01М простой подстановочный символ * вместо списка столбцов.

Однако в случае применения конструкции 1ММЕЕ Я01М указанная проблема не является столь существенной, поскольку известно, что оба столбца Япрр11ег10 должны быть точными дубликатами по отношению друг к другу, даже несмотря на то, что берутся из разных таблиц. Чтобы убедиться в этом, достаточно вспомнить, что в конструкции 1ММЕЕ Я01М применяются два указанных столбца, поэтому данные в них должны согласовываться, иначе не будет возвращена ни одна строка. Но на это нельзя постоянно рассчитывать. На основании изучения соединений других типов можно убедиться в том, что нельзя полагаться на то, что согласуемые в конструкции Ю01И значения всегда должны быть равны.

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

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

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

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