Пример 6. Реляционная модель данных - страница 4 Пример Дополнительные операции Учебный сайт

Реляционная модель данных - страница 4




reshenie-geometricheskih-zadach.html
reshenie-golovolomki-gde-kogda-kak-i-kto-uiggins-a-uinn-ch-the-five-biggest-unsolved-problems-in-science.html

Пример 6. Q-соединение.

Необходимо найти соединение отношений S и Р по атрибутам Город_П и Город_Д соответственно, причем кортежи результирующего отношения должны удовлетворять отношению «больше» (в смысле лексикографического порядка — по алфавиту).

(S TIMES P) WHERE Город_П > Город_Д

П#


Имя


Статус


ГородП


Д#


Название


Тип


Вес


Города


S2


Иван


10


Киев


Р1


гайка


каленый


12


Москва


S2


Иван


10


Киев


Р4


винт


каленый


14


Москва


S2


Иван


10


Киев


Р6


шпилька


каленый


19


Москва


S3


Борис


30


Киев


Р1


гайка


каленый


12


Москва


S3


Борис


30


Киев


Р4


винт


каленый


14


Москва


S3


Борис


30


Киев


Р6


шпилька


каленый


19


Москва


Пример 7. Эквисоединение.

Пусть необходимо найти естественное соединение отношений S и Р по общему атрибу­ту, характеризующему город (в отношении S — это Город_П, а в отношении Р — Город_Д). Поскольку условие операции требует одинаковости имен атрибутов, по которым выполня­ется соединение, то применяется операция RENAME переименования атрибутов.

(S RENAME Город_П AS Город) JOIN (P RENAME Город_Д AS Город)

П#


Имя


Статус


Город


Д#


Название


Тип


Вес


S1


Сергей


20


Москва


Р1


гайка


каленый


12


S1


Сергей


20


Москва


Р4


винт


каленый


14


S1


Сергей


20


Москва


Р6


шпилька


каленый


19


S2


Иван


10


Киев


Р2


болт


мягкий


17


S2


Иван


10


Киев


Р5


палец


твердый


12


S3


Борис


30


Киев


Р2


болт


мягкий


17


S3


Борис


30


Киев


Р5


палец


твердый


12


S4


Николай


20


Москва


Р1


гайка


каленый


12


S4


Николай


20


Москва


Р4


винт


каленый


14


S4


Николай


20


Москва


Р6


шпилька


каленый


19


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

Операция переименования позволяет изменить имя атрибута отношения и

имеет вид:

RENAME AS ,

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

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

Замечание.

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

RENAME AS , AS ,... , AS .

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

EXTEND ADD AS ,

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

COUNT (количество), SUM (сумма), AVG (среднее), МАХ (максимальное), MIN (минимальное).

Например,

EXTEND (PJOIN SP) ADD (Вес * Количество) AS Общий_Вес.

Замечания.

EXTEND ADD AS , AS ,... ,

AS .

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

SUMMARIZE BY (<список атрибутов;») ADD AS <новый

атрибут>,

где исходное отношение задается именем отношения либо заключенным в круг­лые скобки выражением реляционной алгебры, представляет собой разделенные запятыми имена атрибутов исходного отношения Al, A2, ..., AN, — скалярное выражение, аналогичное выражению операции EXTEND, а — имя формируемого атрибута. В списке атрибутов и в выражении не должен использоваться .

Результатом операции SUMMARIZE является отношение R с заголовком, состоящим из атрибутов списка, расширенного новым атрибутом. Для получения тела отношения R сначала выполняется проецирование (назовем проекцию R1) исходного отношения на ат­рибуты Al, A2,..., AN, после чего каждый кортеж проекции расширяется новым (n+i)-m атрибутом. Поскольку проецирование, как правило, приводит к сокращению количе­ства кортежей по отношению к исходному отношению (удаляются одинаковые корте­жи), то можно считать, что происходит своеобразное группирование кортежей исход­ного отношения: одному кортежу отношения R1 соответствует один или более (если было дублирование при проецировании) кортежей исходного отношения. Значение (N+l)-ro атрибута каждого кортежа отношения R формируется путем вычисления выра­жения над соответствующей этому кортежу группой кортежей исходного отношения.

Пример 8. Подведение итогов.

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

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

П#


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


S1


6


S2


2


S3


1


S4


3


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

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

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

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

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

:= ,

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

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

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

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

Операция вставки INSERT имеет следующий вид:

INSERT INTO ,

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

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

Операция обновления UPDATE имеет следующий вид:

UPDATE ,

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

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

Операция удаления DELETE имеет следующий вид:

DELETE ,

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

Например, DELETE S WHERE Статус < 20.

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

Θ ,

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

Например, сравнение: "Совпадают ли города поставщиков и города хранения де­талей?" можно записать так: S [Город_П] = Р [Город_Д].
1 2 3 4 5 6 Похожие:Базы данных Реляционная модель данных. Объекты данных, целостность реляционных данных
Реляционная модель данных была предложена Е. Коддом, в 1970 году. Реляционная модель(РМ) данных представляет информацию в виде совокупности...
Реляционная модель данных
Реляционная модель данных для больших совместно используемых банков данных. В настоящее время публикацию этой статьи принято считать...
Лекция №07 Модели данных
Описание: Иерархическая модель данных. Режимы исключения. Сетевая модель данных. Объектно-ориентированная модель данных. Объектно-реляционная...
Вопросы для госэкзамена по курсу "Базы данных и знаний"
Реляционная модель данных. Основные понятия: отношение, кортеж, домен. Реляционная алгебра (РА)
Реляционная алгебра
Лекция Реляционная алгебра и реляционное исчисление. Нормализация данных в реляционной модели. Постреляционная модель данных
Разработка реляционной структуры данных. Реляционная база данных
Реляционная база данных – это совокупность двумерных таблиц, содержащих всю информацию, которая должна храниться в бд
Типы моделей данных
Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов...
«Реляционная модель данных»
В широком смысле слова база данных — это совокупность описаний объектов реального мира и связей между ними, актуальных для конкретной...
Технологии бд теоретические основы организации бд. Реляционная модель данны
Проектирование реляционных баз данных с использованием семантических моделей: er-диаграммы 56
Тем Виды моделей данных
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности...
Разместите кнопку на своём сайте:
ru.convdocs.org ru.convdocs.org
переименования

mpedagog.ru