Главная » Просмотр файлов » С.Д. Кузнецов - Основы баз данных

С.Д. Кузнецов - Основы баз данных (1121716), страница 78

Файл №1121716 С.Д. Кузнецов - Основы баз данных (С.Д. Кузнецов - Основы баз данных) 78 страницаС.Д. Кузнецов - Основы баз данных (1121716) страница 782019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Логично начать изложение именно с оператора 1няент, поскольку, для того чтобы можно было что-либо модифицировать в таблицах или удалять из таблиц, нужно, чтобы в таблицах содержались какие-то строки. Оператор 1нввдт для вставки строк в существующие таблицы Обший синтаксис оператора 1нЯеет выглядит следующим образом: 1ИЯЕЕТ 1БТО СаЫе пате ( [ (со1нтп сотта1(яС1 1 с1негу ехргеяя(оп ВЕГАЦЬТ ЧАЬУЕЯ На внд синтаксические правила кажутся очень простыми, пока не вспомнишь, что обозначает синтаксическая категория цаегу ехргеяя(оп (см.

раздел «Обшие синтаксические правила построения скалярных выражений» лекции 13). Даже если ограничиться простейшей составляюшей этой конструкции (я1тр1е саЫе), то мы имеем следующие возможности; яутр1е СаЫе ::= с1иегу ярес11(саС(оп саЫе па1ае сопясгиссог ТАВ1.Е СаЫе пате Вставка асек строк укаэанной таблицы Тем самым, стандарт допускает вставку в указанную таблицу всех строк некоторой другой таблицы (вариант саЫ е пате). Эта другая таблица может быть как базовой, так и представляемой. Естественно, что в последнем случае в определении представления не должны присутствовать ссылки на таблицу, в которую производится вставка. При использовании данного варианта оператора вставки число столбцов вставляемой таблицы должно совпадать с числом столбцов таблицы, в которую производится вставка, или с числом столбцов, указанных в списке со1нтл сотта11яс, если этот список задан.

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

Пусть зта таблица имеет следующий заголовок: ЕМР ТЕМР: В таблице ЕМР ТЕМР хранятся не полные сведения о служащих, а именно те, которые требуются на время испытательного срока. Если выполнить операцию 1МЯЕЕТ 1МТО ЕМР ~ЕМР ИО, ЕИР МАМЕ, ЕМР ВРАТЕ~ ТАВЬЕ ЕМР ТЕМР; то в основной таблице ЕМР появятся строки, соответствующие сотрудникам, проходившим испытательный срок, При этом в столбцах ЕИР ИО, ЯИР МАме, емР велте этих строк будут содержаться данные, взятые из таблицы ЕМР ТЕМР, а в столбцах емР ЯАЬ, ПЕРТ ИО, РЕО МО будут находиться значения, определенные для данных столбцов по умолчанию.

Конечно, поскольку столбец емР МО является первичным ключом таблицы емр (по всей видимости, и таблицы ЕМР ТЕМР), операция вставки будет успешно выполнена только в том случае, когда ограничение первичного ключа таблицы ЕИР не будет нарушено (конечно же, требуется выполнение и всех других ограничений целостности, определенных для таблицы ЕМР). Вставка явно заданного набора строк Теперь обратимся к варианту оператора 1ИЯЕЕТ, в котором набор вставляемых строк задается явно с использованием синтаксической конструкции яаЫе ца1це сопяягцссог.

Напомним синтаксические правила, определяющие эту конструкцию; сяЫе ца1це сопяктцссог::= УАЬПЕЯ гон на1це сопястцссот согпя 11яя гои ца1це сопясзасгог ::= кои ца1це сопясгцсяог е1еяепс ЕОЫ ) (гон ца1це сояяггцсяог е1епеяс сопкза 11яя) гои яц1х1цегу кои ча1це содяскзсяог е1еп~епя::= ча1це ехртеяягоя ~ ИОВЕ ~ ВЕРИЛ.Т 375 Основы бвз данных Курс Самый простой пример использования этого варианта оператора вставки состоит в занесении в таблицу емР явно задаваемых данных о новом служащем (пример 17.2): 1ИЯЕЕТ 1НТО ЕМР НОХ (2445, 'Вгонп', '1985-04-08', 16500.00, 830, 772); В этом примере явно заданы значения всех столбцов заносимой строки (как показывают синтаксические правила, ключевое слово нох можно опустить).

Возможен и такой вариант (пример 17.2а): 1ИЯЕЕТ 1НТО ЕМР ЕОХ ( 2445, ВЕРИЛ Т, ИЛ 1, ВЕРИЛ Т, ИЛ Ь, Н(Л 1); В этом случае мы знаем о новом служащем очень мало, но уверены в том, что его имя и размер заработной платы должны быть назначены по умолчанию, а про дату рождения, номер отдела и номер проекта ничего не известно.

Обратите внимание, что выполнение подобной операции не нарушает ограничения целостности таблицы ЕМР. Если обладать полной информацией об определении таблицы емР, то формулировку операции примера 17.2а можно переписать короче следующим эквивалентным образом (пример 17.2Ь): 1ХЯЕНТ 1ИТО ЕМР (ЕМР ИО) 2445; Вспомним теперь, что одной нз разновидностей уа1ие ехргезз1оп рг1вагу является аса1аг заЬс(негу (см.

раздел «Скалярные выражения» лекции 13). Это означает, что в список элементов конструктора строки могут входить скалярные запросы, т. е. запросы, результат выполнения которых состоит из единственной строки, включающей единственный столбец. Поэтому допустима, например, такая операция вставки (пример 17.3): 1ЫЯЕЕТ 1НТО ЕМР ЧАЬОЕЯ НОХ (2445, (ЯЕьЕОТ ЕМР МАМЕ РРОМ ЕМР ХНЕЕЕ ЕМР НО = 2555), '1985-04-08', ЯЕЬЕОТ ЕМР ЯАЬ РВОМ ЕМР ХНЕНЕ ЕМР ИО = 2555), И1Л.1,, НЦЬ1 376 Лекция 17 Язык баз данных ЯОЬ: средства манипулирования данными ВОИ (2446, (ЯЕЬЕСТ ЕМР МАМЕ РВОМ ЕМР ГНЕВЕ ЕМР МО = 2556), '1978-05-09', (ЯЕЬЕСТ ЕМР ЯАЬ РВОМ ЕМР ХНЕВЕ ЕМР НО = 2556), ИБЬ1, НБЬ1 После выполнения этой операции в таблице емр появятся две новые строки для служащих с уникальными идентификаторами 2445 и 2446, причем первому из них будет присвоено имя и размер заработной платы служащего с уникальным идентификатором 2555, а второму — аналогичные данные о служащем с уникальным идентификатором 2556.

Вставка строк результата запроса Наконец, обсудим вариант оператора вставки, когда набор вставляемых строк определяется через спецификацию запроса. Предположим, например, что требуется сохранить в отдельной таблице БЕРТ ЯБММАВУ сведения о числе служащих каждого отдела, их максимальной, минимальной и суммарной заработной плате. Пусть таблица БЕРТ ЯБММАВУ уже создана и имеет слелующий заголовок*: БЕРТ ЯБММАВУ, Тогда заполнить таблицу можно с помощью следующей операции вставки (пример 17.4): 1ИЯЕВТ 1НТО БЕРТ ЯБММАВУ (ЯЕЬЕСТ БЕРТ ИО, СОБНТ(*), МАХ (ЕМР ЯАЬ), М1М (ЕМР ЯАЬ), ЯБМ (ЕМР ЯАЬ) РВОМ ЕМР ОВОБР ЕУ БЕРТ ИО); ' Мы не буден приводить полное определение таблицы, включающее требуемые ограничения целостности.

377 Курс Основы баз данных Оператор вройте для модификации существующих строк в существующих таблицах Общий синтаксис оператора ОРОАТЕ выглядит следующим образом: ОРЭАТЕ СаЫе паве ЯЕТ црдаге аав1дпвепс соцаа11ас ЖНЕЕЕ сопд1сдопа1 ехргевв(отз прдасе авв10ппсап' ;:= со1цтвп папе ( уа1це ехргева1оо ~ ОЕРАУЕТ ' ХОЕЕ Семантика оператора модификации существующих строк определяется следующим образом: (1) для всех строк таблицы с именем са)з1е паве вычисляется булевское выражение сопд1с(опа1 ехргевз(оп. Строки, для которых значением этого булевского выражения является вазе, считаются подлежащими модификации (обозначим множество таких строк через Т,); (2) каждая строка в (з б Т.,! подвергается модификации таким образом, что значение каждого столбца этой строки, указанного в списке црдасе авв1д нпепс сопава11вс, заменяется значением, указанным в правой части соответствующего элемента списка модификации*.

Значения столбцов строки и, не указанные в списке модификации, остаются неизменными. Приведем примеры операций модификации таблиц. Пример 17.5. Перевести всех служащих, выполняющих проект с номером 772, в отдел 632 и повысить им заработную плату на ! 000 руб. ОРРАТЕ ЕКР ЯЕТ ОЕРТ ЫО = 632, ЕМР Яйь = ЕИР Яйь + 1000.00 КНЕЕЕ РЕО ИО = 772; При выполнении данной операции на первом шаге в таблице ЕКР будут найдены все строки, относящиеся к служащим, которые участвуют в проекте с номером 772. На втором шаге во всех этих строках значение столбца ОЕРТ НО будет изменено на 632, а к значению столбца емр ЯАЕ будет прибавлено 1000.00.

Пример 17.6. Для всех служащих, работающих в отделах, заработная плата менеджеров которых превышает 30000 руб., установить размер заработной платы, на !000 руб. превышающий средний размер " Если в правой части элемента модификации присутствует татов ехрсеев оп, в котором содерзкится запрос, то в случае использования в эзом запросе имен столбцов модифицируемой таблицы под значениями этих столбцов понимается значение до модификации. 878 Язых бвз данных БСЬ: средства манипулирования данными Лекция 17 заработной платы соответствующего отдела, а номера проектов, в которых участвуют эти служащие, сделать неопределенными. НРРАТЕ ЕМР БЕТ ЕМР ЯАЬ = (БЕЬЕСТ АЧС (ЕМР1 ЯА1,) РЕОМ ЕМР ЕМР1 ХНЕЕЕ ЕМР.ОЕРТ ИО = ЕМР1.РЕРТ ИО) 1000.00, РЕО ИО = ННЬЬ ХНЕЕЕ (ЯЕЬЕСТ ЕМР1.ЕМР ЯАЬ РВОМ ЕМР ЕМР1, БЕРТ Утт!ЕЕЕ ЕМР.БЕРТ НО = БЕРТ.БЕРТ ИО АМР РЕРТ МИС = ЕМР1.ЕМР НО АМО» 30000.00; Конечно, если вам больше нравится другой стиль, то запрос, фигурирующий в разделе хнеее, можно переформулировать с использованием вложенного подзапроса (вример 17.ба).

ОРРАТЕ ЕМР БЕТ ЕМР ЯАЬ = (ЯЕЬЕСТ АтС (ЕМР1 БАЬ) РЕОМ ЕМР ЕМР1 ХНЕРЕ ЕМР.РЕРТ ИО = ЕМР1.РЕРТ ИО) 1000.00, РЕО ХО = ХОЬЬ ХНЕЕЕ Г)ЕРТ.ИО 1И (ЯЕЬЕСТ БЕРТ.РЕРТ ИО РВОМ ЕМР, БЕРТ ХНЕЕЕ БЕРТ гвтС = ЕМР ИО АХО ЕМР БАЬ > 30000.00); Эти примеры позволяют понять, насколько богаты возможности оператора ОРОАте. В разделе хнеее может содержаться любое условие, допускаемое в операторе выборки, а в элементах списка раздела Яет может присутствовать любой вид уа1це ехргеяя(оп, в том числе любой запрос, вырабатывающий одиночное значение (скалярный подзапрос).

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

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

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

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