Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009, страница 15
Описание файла
PDF-файл из архива "Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009", который расположен в категории "". Всё это находится в предмете "информационное обеспечение разработок" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационное обеспечение разработок" в общих файлах.
Просмотр PDF-файла онлайн
Текст 15 страницы из PDF
Проекции.Р [Тип, Город Д](S W H E R E Город_П="Киев") [П#]ТипГород_ДП#Город_ПкаленыйМоскваS2КиевмягкийКиевS3КиевтвердыйРостовтвердыйКиевРезультатом деления отношения R1 с атрибутами А и В на отношение R2с атрибутом В (R1 D1V1DEBY R2), где А и В простые или составные атрибуты, причем атрибут В — общий атрибут, определенный на одном и том жедомене (множестве доменов составного атрибута), является отношение R сзаголовком А и телом, состоящим из кортежей г таких, что в отношении R1имеются кортежи (г, s), причем множество значений s включает множествозначений атрибута В отношения R2.3. Реляционнаямодельданных73Пример 5. Деление отношения.Пусть R1 — проекция SP [П#, Д#], a R2 — отношение с заголовком Д# и телом{Р2, Р4}, тогда результатом деления R1 на R2 будет отношение R с заголовком Г1#и телом {SI, S4}.R1R2R1DIVIDEBYR2Соединение C f (Rl, R2) отношений R1 и R2 по условию, заданному формулой f, представляет собой отношение R, которое можно получить путем Декартова произведения отношений R1 и R2 с последующим применениемк результату операции выборки по формуле f.
Правила записи формулы f такие же, как и для операции селекции.Другими словами, соединением отношения R1 по атрибуту А с отношением R2 по атрибуту В (отношения не имеют общих имен атрибутов) являетсярезультат выполнения операции вида:(R1 TIMES R2) W H E R E А 0 В,где Q — логическое выражение над атрибутами, определенными на одном (нескольких — для составного атрибута) домене. Соединение C f (Rl, R2), гдеформула f имеет произвольный вид (в отличие от частных случаев, рассматриваемых далее), называют также Q-соединением.Важными с практической точки зрения частными случаями соединенияявляются эквисоединение и естественное соединение.Операция эквисоединения характеризуется тем, что формула задает равенство операндов.
Приведенный выше пример демонстрирует частный случай операции эквисоединения по одному столбцу. Иногда эквисоединение двух отно-Часть 1. Основы построения74баз данныхшений выполняется по таким столбцам, атрибуты которых в обоих отношениях имеют соответственно одинаковые имена и домены. В этом случае говорят об эквисоединении по общему атрибуту.Операция естественного соединения (операция J O I N ) применяется к двумотношениям, имеющим общий атрибут (простой или составной). Этот атрибут в отношениях имеет одно и то же имя (совокупность имен) и определенна одном и том же домепе (доменах).Результатом операции естественного соединения является отношение R,которое представляет собой проекцию эквисоединения отношений R1 и R2 по общему атрибуту на объединенную совокупность атрибутов обоих отношений.Пример 6. Q-соединение.Необходимо найти соединение отношений S и Р по атрибутам Город_Г1 иГород_Д соответственно, причем кортежи результирующего отношения должны удовлетворять отношению «больше» (в смысле лексикографическогопорядка — по алфавиту).(S TIMES Р) W H E R E Город_П > Город_ДПример 7.
Эквисоединение.п#ИмяСтатусS2Иван10КиевS2Иван10S2ИванS3S3Город_П Д#НазваниеТипВесГород_ДР1гайкакаленый12МоскваКиевР4винткаленый14Москва10КиевР6шпилькакаленый19МоскваБорис30КиевР1гайкакаленый12МоскваБорис30КиевР4винткаленый14МоскваКиев30Р6 шпилька каленыйS3 Борис19МоскваПусть необходимо найти естественное соединение отношений S и Р по общему атрибуту, характеризующему город (в отношении S — это Город_П, а вотношении Р — Город_Д). Поскольку условие операции требует одинаковости имен атрибутов, по которым выполняется соединение, то применяется операция RENAME переименования атрибутов.(S RENAME Город_П AS Город) JOIN ( Р RENAME Город_Д AS Город)П#ИмяСтатусГородД#НазваниеТипВесS1Сергей20МоскваР1гайкакаленый12S1Сергей20МоскваР4винткаленый14S1Сергей20МоскваР6шпилькакаленый19S2Иван10КиевР2болтмягкий17S2Иван10КиевР5палецтвердый123.
Реляционнаямодельданных75S3Борис30КиевР2болтмягкий17S3Борис30КиевР5палецтвердый12S4Николай20МоскваР1гайкакаленый12S4Николай20МоскваР4винткаленый14S4Николай20МоскваР6шпилькакаленый19Дополнительные операции реляционной алгебры, предложенные Дейтом,включают следующие операции.Операция переименованияпозволяет изменить имя атрибута отношения и имеет вид:RENAME <исходное отношение> <старое имя атрибута> AS <новоеимя атрибута>,где <исходное отношение> задается именем отношения либо выражением реляционной алгебры.
В последнем случае выражение заключают в круглые скобки.Например, RENAME Город_П AS Город_размещения_Поставщика.Замечание.Для удобства записи выражений одновременного переименования нескольких атрибутов Дейтом введена операция множественногопереименования,которая представима следующим образом:RENAME <отн.> <ст. имя атр.1> AS <нов.
имя атр.1>,<ст. имя атр.2>AS <нов. имя агр.2>,... ,<ст. имя aTp.N> AS <нов. имя атр.№>.Операция расширения порождает новое отношение, похожее на исходное, по отличающееся наличием добавленного атрибута, значения которогополучаются путем некоторых скалярных вычислений. Операция расширения имеет вид:EXTEND <исходное отношение> ADD <выражение> AS <новый атрибут>,где к исходному отношению добавляется (ключевое слово ADD) <новый атрибуту подсчитываемый по правилам, заданным <выражением>. Исходноеотношение может быть задано именем отношения и с помощью выраженияреляционной алгебры, заключенного в круглые скобки. При этом имя новогоатрибута не должно входить в заголовок исходного отношения и не может использоваться в <выражении>. Помимо обычных арифметических операций иопераций сравнения, в выражении можно использовать различные функции,называемые итоговыми, такие как: COUNT (количество), SUM (сумма), AVG(среднее), МАХ (максимальное), MIN (минимальное).Например,EXTEND ( Р J O I N SP) ADD (Вес * Количество) AS 06щий_Вес.76Часть 1.
ОсновыпостроениябазданныхЗамечания.• Пользуясь операцией расширения, можно выполнить переименованиеатрибута. Д л я этого нужно в выражении указать имя атрибута, в конструкции AS определить новое имя этого атрибута, затем выполнить проекцию полученного отношения на множество атрибутов, исключая старый атрибут. Таким образом, запись ( E X T E N D S A D D Город_П ASГород) [П#, Имя, Статус, Город] эквивалента конструкции S RENAMEГород_Г1 AS Город.• Подобно тому, как это сделано для операции переименования, Дейт определил операцию множественного расширения, которая позволяет в одной синтаксической конструкции вычислять несколько новых атрибутов.
Формально операция представима следующим образом:E X T E N D < о т н > ADD<выр.1> AS<атр.1>,<выр.2>AS <атр.2>,... ,<Bbip.N> AS <aTp.N>.Операция подведения итогов S U M M A R I Z E выполняет «вертикальные»или групповые вычисления и имеет следующий формат:S U M M A R I Z E <исх. отн.> BY (<список атрибутов>) ADD <выр.>AS <новый атрибут>,где исходное отношение задается именем отношения либо заключенным вкруглые скобки выражением реляционной алгебры, <список атрибутов>представляет собой разделенные запятыми имена атрибутов исходного отношения A l , А2,..., AN, < в ы р . > — скалярное выражение, аналогичное выражению операции E X T E N D , а <новый атрибут> — имя формируемогоатрибута. В списке атрибутов и в выражении не должен использоваться<новый атрибут>.Результатом операции SUMMARIZE является отношение R с заголовком, состоящим из атрибутов списка, расширенного новым атрибутом.
Для получения телаотношения R сначала выполняется проецирование (назовем проекцию R1) исходного отношения на атрибуты Al, А2,..., AN, после чего каждый кортеж проекциирасширяется новым (N+1)-M атрибутом. Поскольку проецирование, как правило,приводит к сокращению количества кортежей по отношению к исходному отношению (удаляются одинаковые кортежи), то можно считать, что происходит своеобразное группирование кортежей исходного отношения: одному кортежу отношения R1 соответствует один или более (если было дублирование при проецировании)кортежей исходного отношения. Значение (N+l)-ro атрибута каждого кортежа отношения R формируется путем вычисления выражения над соответствующей этому кортежу группой кортежей исходного отношения.Пример 8.
Подведение итогов.Пусть требуется вычислить количество поставок по каждому из поставщиков.3. Реляционнаямодельданных77SUMMARIZE SP BY ( П # ) ADD C O U N T AS Количество_поставокп#Количество_поставокS16S22S31S43Отметим, что функция C O U N T определяет количество кортежей в каждой из групп исходного отношения.Операция множественного подведения итогов, подобно соответствующим операциям переименования и расширения, выполняет одновременно несколько «вертикальных» вычислений и записывает результаты в отдельные новые атрибуты.Простейшим примером такой операции может служить следующая запись:SUMMARIZE SP BY ( Д # ) ADD SUM Количество AS Общее_число_поставок AVG Количество AS Среднее_число_поставок.К основным операторам, позволяющим изменять тело существующего отношения, отнесем операции реляционного присвоения, вставки, обновления и удаления.Операцию присвоения можно представить следующим образом:<выражение-цель> := <выражение-источник>,где оба выражения задают совместимые (точнее, эквивалентные) по структуре отношения.
Типичный случай выражений: в левой части — имя отношения, а в правой — некоторое выражение реляционной алгебры. Выполнениеоперации присвоения сводится к замене предыдущего значения отношенияна новое (начальное значение, если тело отношения было пустым), определенное выражением-источником.С помощью операции присвоения можно не только полностью заменитьвсе значения отношения-цели, но и добавить или удалить кортежи.