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

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

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

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

Например, в примерах 16.3 и 16.4 столбец сонтлгнеР едет связывает конструктивный элемент автомобиля с входящими в его состав подэлементами (через значения их столбцов сонтлтнтнс едет). Раздел нет приводит к образованию нового столбца результирующей таблицы. Для строк, которые попадают в результат первый раз, в столбец сус1е вагх се1ипп папе заносится значение выражения ча1це ехргевв)оп 2. В повторно заносимых строках значение столбца — ча1пе ехргеввуоп 1.

Типом данных 369 Основы баз данных Курс этого столбца является тип символьных строк длины один, так что в качестве уа1пе ехргеяя(оп 1 и уа1пе ехргеяя(оп,2 разумно использовать константы '0' и '1' или 'у' и 'М'. Раздел Остии приводит к образованию еще одного дополнительного столбца результата с именем раей со1швп папе. Типом данных столбца является АККАУ, причем кардинальность этого типа предполагается достаточно большой, чтобы сохранить информацию обо всех строках, попавших в результат.

Элементы массива имеют «строчный тип» (гон туре), содержащий столько столбцов, сколько их указано в списке раздела суВ- С( Е. Каждый элемент массива соответствует строке результата, и в его столбцах содержится копия значений соответствующих столбцов этой строки. Вот пример запроса, содержащего раздел суксье (пример 16.5): Х1ТН ВЕСОКБ1Ж РАНТЕ (РАНТ НОМВЕВ, КОНВЕТЕ ОР РАВТБ, СОБТ) АБ (БЕЬЕСТ СОМТА1НЕО РАНТ, 1, 0.00 РВОМ Сйп ХНЕКЕ СОНТА1М1НО РАНТ ОН1ОН А1Л БЕ1 ЕСТ САВ.СОНТА1НЕО РАНТ, САВ.%)МЕЕВ ОР РАРТЯ, САВ.%)МВЕК ОР РАВТЯ * САК.РАНТ СОЯТ РВОМ СйК, РАВТЯ ЯНЕКЕ РАНТЕ.РАНТ %ЖЕЕВ = САК.СОНТА1Н1НО РАНТ) СУКОНКЕ СОНТА1НЕО РАНТ ЯЕТ СХСЬЕМАКК ТО 'У' РЕРАОЕТ 'Н' НЯ1НО СУВСЬЕРАТН ЯЕЬЕСТ РАНТ НОМВЕВ, Я()М(НОМВЕВ ОР РАНТЕ), ЯОМ(СОБТ) РВОМ РАВТЯ ОКРЕК ВУ РАНТ %)МЕЕВ; Имена столбцов сусьемйкк и суВсьерйтн выбраны произвольным образом — требуется только, чтобы имена этих столбцов отличались от имен столбцов рекурсивного запроса.

При выполнении запроса строки, удовлетворяющие его условию, накапливаются в результирующей таблице. Но, кроме того, эти строки «кэшируются» в столбце СУКСЬЕРАТН. При попытке добавления к результату новой строки на основе текущего содержимого столбца суксьеРАТН проверяется, не содержится ли она уже в результате. Если не содержится, то данные об этой строке добавляются к столбцу сунсьевйтн (к массиву добавляется новый элемент), в столбец сусьемйВК этой строки заносится значение 'Н', и строка добавляется к результату. Иначе в столбец СусьемйВК соответствующей строки результата заносится значение 'у', означающее, что от этой строки начинается цикл.

370 Лекция 16 Средства формулировки аналитических и рекурсивных запросов Рекурсмвные представления Рекурсивным называется представление, в определяющем выражении запроса которого используется имя этого же представления. В представлениях может использоваться и прямая, и взаимная рекурсия.

Синтаксис оператора определения рекурсивного запроса выглядит следующим образом: СЕЕЛтЕ ЕЕССЕЯтуЕ утЕИ Па]зте пап1е [ со1цппт пап1е сап«па 11вп ] АЯ с]вегу ехргевэтоп Хотя для того, чтобы представление было рекурсивным, требуется рекурсивность определяющего выражения запроса (т. е. в нем должна присутствовать спецификация ееспеЯ1уе); наличие избыточного ключевого нес]]еЯ туе в опрелелении рекурсивного представления является обязательным. Как говорят авторы стандарта, это сделано для того, чтобы избежать случайного появления непред)смотренных рекурсивных представлений. Наконец, обратите внимание на то, что еще не обсуждавшийся нами необязательный раздел иттН СНЕСК Орттоп не может присутствовать в определении рекурсивного представления (по той причине, что разработчики стандарта не смогли найти разумной интерпретации для комбинации ееснеЯтуе и итти снеск срттсп). В заключение этого раздела могу сказать, что лично мне механизм рекурсии, предлагаемый в стандарте БО(., представляется громоздким и ограниченным.

Кроме того, насколько мне известно, компании, поставляющие 3О) -ориентированные СУБД, не спешат внедрять в свои продукты средства рекурсии в соответствии со стандартом БОЕ: 1999 (или, по крайней мере, не слишком их афишируют). Заключение Если вернуться к синтаксическим определениям разд.

«Общие синтакические правила построения скалярных выражений» лекции 13, то можно убедиться, что в последних четырех лекциях мы рассмотрели все варианты организации оператора ЯЯЕЕст языка БОЕ (за исключением конструкцийсо11есптоп г]ег(пег] паыеиОиьу [саые ог с[пеку пап1е] относящихся к объектным расширениям языка БОЕ). Для общего понимания языка на модельном уровне более важными являются прелыдущие три лекции. Данная лекция включена в курс, скорее, с целью общего ознакомления читателей с новыми возможностями оператора выборки, чем с целью их подробного описания. С большой вероятностью средства формулировки аналитических и рекурсивных запросов языка БО будут пересматриваться при подготовке следующих вариантов стандарта языка.

371 Основы баа данных Курс Лекция 17. Язык баз данных 801: средства манипулирования данными Название этой лекции не совсем правильно отражает ее реальное содержание. Собственно средствам языка Я)Ь, предназначенным для обновления базы данных, посвящается только один нз трех основных разделов. Однако и следующие два раздела непосредственно примыкают к этой теме. В разделе «Представления, над которыми возможны операции обновления» рассматриваются возможности выполнения операций обновления базы данных через представляемые таблицы.

Обсуждается проблема в целом, подход к ее решению, применявшийся в ранних вариантах стацдарта 8(2Ь, н решение, принятое в стацдарте ВЯЬ:1999. Последний основной раздел лекции посвящается механизму триггеров, специфицированному в стандарте ВОЬ:1999.

Здесь тоже имеется явная связь с основной темой лекции, потому что главным условием срабатывания трипера является выполнение некоторой операции обновления базы данных, и действия, выполняемые в трнггерной процедуре, как правило, тоже связаны с обновлением базы данных. Ключевые слова: оператор тмБкнт, вставка всех строк указанной таблицы, вставка явно заданного набора строк, вставка строк результата запроса, оператор оролтк, оператор окьктк, представления, над которыми возможны операции обновления (цроагаЫс у(еуу), материализация представления, представления, допускающие применение операций обновления, в стандарте ЗОЬ/92, представления, допускающие применение операций обновления, в стандарте Я )Ь:1999, потенциальная применимость операций обновления, применимость операций обновления, простая применимость операций обновления, применимость операции вставки, аксиоматическая функциональная зависимость, известная функциональная зависимость, восмножество столбцов, Врк-множество столбцов, раздел нттн снеск орттон определения представления, режимы проверки слнслоко и г,ость, триггер, триггсрная процедура, активная база ланных, механизм триггеров в Б( Ь: 1999, прелметная таблица (ьцЬ~ссг (аые), инициирующий оператор Я)ь (гпяксппд з(2ь згагстспг), триггеры вкгонк и лкткн, триггеры тнякнт, оролтк и окьктк, триггеры дон и нтлткмкнт, раздел ннкм определения триггера, инициируемый 5(2Ь-оператором ((пйасгсд Я Ь згагстспг), составной инициируемый Я.1Ь-оператор, Я)Ь-процедура (ЯН.

ргоссдцгс), Я.1Ь/РБМ, выполнение триггеров, контекст выполнения триггера, переходная таблица, порядок выполнения триггеров, триггеры и ссылочныс действия. 372 Лекция 17 язык баз данных 50ц средства манипулирования данными Введение Базы данных, по крайней мере, в приложениях категории ОЕТР являются высоко динамичными объектами.

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

В этой лекции мы обсудим средства манипулирования данными, входяшие в прямой БОЕ. Заметим, что с практической точки зрения более важными являются средства манипулирования ланными, выходяшие за пределы прямого Я )Е и присутствующие во встраиваемом и динамическом 50Е. Но, как мы неоднократно отмечали, в этом курсе мы не обсуждаем возможности использования Я~Е для создания приложений. По мнению автора, материал данной лекции полезен для обшего понимания специфики операторов манипулирования данными, а расширения этих операторов, присутствующие во встраиваемом и динамическом Я;)Е, в любом случае нужно изучать совместно с другими аспектами подобных уровней языка.

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

Третий раздел посвящен механизму триггеров, которые, по сугцеству, представляют собой «хранимые процедуры», автоматически вызываемые при возникновении соответствующих условий. Триггеры не обязательно связываются с действиями, производимыми при манипулировании данных, но, поскольку одно из основных функций этого механизма состоит в поддержании целостности баз данных, как правило, такая связь имеется. Поэтому мы включили обсуждение механизма триггеров в соответствии со стандартом БОЕ именно в данную лекцию. Базовые средства манипулирования данными К базовым средствам манипулирования данными языка Я >Е относятся «поисковые» варианты операторов цррлтк и пеьктк.

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

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

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

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