Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Любая задача на C/C++
Одно любое задание в mYsql
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Главная » Лекции » Информатика и программирование » Теоретические языки запросов » Дополнительные операции реляционной алгебры

Дополнительные операции реляционной алгебры

2021-03-09СтудИзба

Дополнительные операции реляционной алгебры

Дейт предложил следующие дополнительные операции:

1. Переименование. Операция переименования позволяет изменить имя атрибута отношения и имеет вид:

RENAME <исходное отношение> <старое имя атрибута> AS <новое имя атрибута>,

где <исходное отношение> задается именем отношения либо выражением реляционной алгебры. В последнем случае выражение заключается в круглые скобки.

Пример, RENAME Город_П AS Город_размещения _Поставщика.

            Замечание.

            Для удобства записи выражений одновременного переименования нескольких атрибутов Дейтом введена операция множественного переименования, которая представляется следующим образом:

            RENAME <отн.><ст.имя атр.1> AS <нов.имя атр.1>,<ст.имя атр2> AS <нов.имя атр.2>, …, <ст.имя атрN> AS <нов.имя атр.N>

Рекомендуемые материалы

2. Расширения. Операция расширения порождает новое отношение, похожее на исходное, но отличающееся наличием добавленного атрибута, значения которого получаются путем некоторых скалярных вычислений. Операция расширения имеет вид:

EXTEND <исходное отношение> ADD <выражение> AS <новый атрибут>,

где к исходному отношению добавляется <новый атрибут>, подсчитываемый по правилам, заданным <выражением>. Исходное отношение может быть задано именем отношения и с помощью выражения реляционной алгебры, заключенного в круглые скобки. При этом имя нового атрибута не должно входить в заголовок исходного отношения и не может использоваться в <выражении>. Помимо обычных арифметических операций и операций сравнения, в выражении можно использовать различные функции, называемые итоговыми, такими как: COUNT (количество), SUM (сумма), AVG (среднее), MAX (максимальное), MIN (минимальное).

Пример, EXTEND (P JOIN SP) ADD (Вес*Количество) AS Общий_Вес.

           

            Замечание.

1. Пользуясь операцией расширения, можно выполнить переименование атрибута. Для этого нужно в выражении указать имя атрибута, в конструкции AS определить новое имя этого атрибута, затем выполнить проекцию полученного отношения на множестве атрибутов, исключая старый атрибут. Таким образом, запись (EXTEND S ADD Город_П AS Город) [П#, Имя, Статус, Город] эквивалента конструкции S RENAME Город_П AS Город.

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

EXTEND <отн.> ADD <выр.1> AS <атр.1>, <выр.2> AS <атр.2>, …, <выр.N> AS <атр.N>

3. Подведение итогов. Операция подведения итогов SUMMARIZE выполняет вертикальные или групповые вычисления и имеет следующий формат:

SUMMARIZE <исх.отн.> BY (<список атрибутов>) ADD <выр.> AS <новый атрибут>,

где исходное отношение задается именем отношения либо заключенными в круглые скобки выражением реляционной алгебры, <список атрибутов> представляет собой разделенными запятыми имена атрибутов исходного отношения А1, А2, …, АN, <выр.> - скалярное выражение, аналогичное выражению операции EXTEND, а <новый атрибут> - имя формируемого атрибута. В списке атрибутов и в выражении не должен использоваться <новый атрибут>.

Результатом операции SUMMARIZE является отношение R с заголовком, состоящим из атрибутов списка, расширенного новым атрибутом. Для получения тела отношения R сначала выполняется проецирование (проекция R1) исходного отношения на атрибуты А1, А2, …, АN, после чего каждый кортеж проекции расширяется новым (N+1) атрибутом. Поскольку проецирование, как правило, приводит к сокращению количества кортежей по отношению к исходному отношению (удаляются одинаковые кортежи), тьо можно считать, что происходит своеобразное группирование кортежей исходного отношения: одному кортежу отношения R1 соответствует один или более (если было дублирование при проецировании) кортежей исходного отношения. Значение (N+1)-го атрибута каждого кортежа отношения R формируется путем вычисления выражения над соответствующей этому кортежу группой кортежей исходного отношения.

Пример. Пусть требуется вычислить количество поставок по каждому из поставщиков.

SUMMARIZE SP BY (П#) ADD COUNT AS Количество_поставок

П#

Количество_поставок

S!

6

S2

2

S3

1

S4

3

Функция COUNT определяет количество кортежей в каждой группе исходного отношения.

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

Пример,

SUMMARIZE SP BY (Д#) ADD SUM Количество AS Общее_число_поставок AVG Количество AS Среднее_число_поставок.

4. Присвоение. Операция присвоения имеет вид:

<выражение_цель>:= <выражение_источник>,

где оба выражения задают совместимые (точнее, эквивалентные) по структуре отношения. Типичный случай выражения: в левой части – имя отношения, а в правой – некоторое выражение реляционной алгебры. Выполнение операции присвоения сводится к замене предыдущего значения отношения на новое .

С помощью операции присвоения можно не только полностью заменить все значения отношения_цельи, но и добавить или удалить кортежи.

Пример. В отношении Ы дописывается один кортеж:

S:=S UNION {{<П#:’S6’>, <Имя: 'Борис'>, <Статус:’50’>, <Город_П:'Мадрид'>}}

Более удобными операциями изменения тела отношения являются операции вставки, обновления м удаления.

5. Вставка. Операция вставки имеет вид:

INSERT <выражение_источник> INTO <выражение_цель>

Пример. INSERT (S WHERE Город_П='Москва') INTO Temp

6. Обновление. Операция обновления имеет вид:

UPDATE <выражение_цель> <список элементов>,

где <список элементов> представляет собой последовательность разделенных запятыми операций присвоения <атрибут>:=<скалярное выражение>. Результатом выполнения операции обновления является отношение, полученное после присвоения соответствующих значений атрибутам отношения, заданного целевым выражением.

Пример. UPDATE P WHERE Тип='каленый' Город:=’Москва’. Эта операция предписывает изменить значение атрибута Город (независимо от того, каким оно было) на новое значение – 'Москва' таких кортежей отношение P, атрибут Тип которых имеет значение 'каленый'.

7. Удаление. Операция удаление имеет вид:

DRLETE <выражение_цель>,

где <выражение_цель> представляет собой реляционное выражение, описывающее удаляемые кортежи.

Пример. DELETE S WHERE Статус<20

8. Реляционное сравнение. Операция реляционное сравнение может использоваться для прямого сравнения двух отношений. Она имеет вид:

<выражение1> Q <выражени2>,

где оба выражения задают совместимые по структуре отношения, а Q – один из следующих операторов сравнения: = (равно), ≠ (не равно), ≤ (собственное подмножество), < (подмножество), ≥ (надмножество), > (собственное надмножество).

Пример. S [Город_П] = P [Город_Д] сравнивает совпадают ли города поставщиков и города хранения деталей.

Основные правила записи выражений.

Результатом произвольной реляционной операции является отношение, которое, в свою очередь, может участвовать в другой реляционной операции. Это свойство реляционной алгебры называется свойством замкнутости. Это свойство позволяет записывать вложенные выражения.

При записи произвольного выражения реляционной алгебры надо принимать во внимание следующее:

Ещё посмотрите лекцию "Белки плазмы крови" по этой теме.

1. В реляционной алгебре должен быть определен приоритет выполнения операций, например операция пересечение более приоритетна чем операция объединение. Этот приоритет нужно учитывать при записи выражений. Для изменения порядка выполнения операций в выражениях можно использовать круглые скобки.

2. Существуют тождественные преобразования, позволяющие по-разному записывать одно и то же выражение. Например, следующие выражения эквивалентны (здесь A – отношение, C, C1, C2 – выражения):

A WHERE C1 AND C2 и (A WHERE C1) INTERSECT (A WHERE C2)

A WHERE C1 OR C2 и (A WHERE C1( UNION (A WHERE C2)

A WHERE NOT C и A MINUS (A WHERE C)

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

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