Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример использования реляционных операторов



Информация о поставщиках, деталях и поставках содержится в трех отношения.

Отношение Поставщики (P) содержит номер поставщика, его имя, город и статус

P (P#, PNAME, CITY, STATUS)

Отношение Детали (D) содержит информацию о коде детали, наименовании, весе, цвете и месте хранения.

D (D#, DNAME, WEIGHT, COLOR, CITY)

Отношение Поставка (PD) содержит сведения о номере поставщика, коде детали и количестве.

PD (P#, D#, QTY)

Необходимо получить имена поставщиков, которые не поставляют деталь с кодом D2.

Рассмотрим пошаговое решение этого запроса:

1. Найдем коды поставщиков детали с кодом D2. Для этого из отношения PD выберем кортежи, в которых код детали равен D2. Получим отношение R1 с той же самой структурой, что и исходное отношение PD:

R1:=

Возьмем проекцию отношения R1 по атрибуту P#. Получим отношение R2 с одним атрибутом:

R2:= [P#](R1).

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

R3:= [P#](P).

Разность отношений R3 и R2 даст номера тех поставщиков, которые не поставляют деталь с кодом D2.

R4:= R3 - R2

3. Операция естественного соединения отношений R4 и P по атрибуту P# позволяет сформировать отношение R5 с такой же структурой, что и отношение P, но кортежи этого отношения будут содержать информацию лишь о тех поставщиках, которые не поставляют деталь D2:

R5:=

Выполним проекцию отношения R5 по атрибуту PNAME. Получим искомое отношение, содержащее имена поставщиков:

R6:= [PNAME](R5).

Выразим данный запрос в виде одной формулы.





Дата публикования: 2015-09-17; Прочитано: 300 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...