АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология
|
Деление
Пусть отношения A и B имеют заголовки A { B , т.е. – общие атрибуты для отношений, но в отношении A есть ещё атрибуты. Одноимённые атрибуты определены на одном и том же домене. Составные атрибуты , . Существует кортеж ϵ A для всех кортежей , входящих в отношение B.
Получить имена поставщиков, поставляющих деталь P2 ((SP JOIN S) WHERE P#='P2') [SNAME] Получить имена поставщиков, поставляющих как минимум 1 красную деталь (((P WHERE COLOR='RED') JOIN SP) [S#] JOIN S) [SNAME] Любопытно, что тот же результат даёт запрос (((P WHERE COLOR='RED') [P#] JOIN SP) JOIN S) [SNAME] Получить имена поставщиков, не поставляющих деталь P2 ((S [S#] MINUS (SP WHERE P#='P2') [S#]) JOIN S) [SNAME] Получить номера поставщиков, поставляющих по крайней мере все те же детали, которые поставляет поставщик S2 SP [S#, P#] DIVIDE BY (SP WHERE S#='S2') [P#]
Присвоение отношений: T1:=S [S#]; T2:=SP WHERE P#='P2'; T3:=T2 [S#]; T4:=T1 MINUS T3; T5:=T4 JOIN S; T6:=T5 [SNAME];
Получить все пары номеров поставщиков, различных, в одном городе. (((S RENAME S# AS FS#) [FS#, CITY] JOIN (S RENAME S# AS SS#) [SS#, CITY] WHERE FS# < SS#) [FS#, SS#]
S – отношение, описывающее поставщиков: номер, имя, город, статус P – детали: номер, название, цвет, вес, город SP – поставки: номер поставщика, номер детали, количество
Замечание: операции не формируют минимального базиса. Минимальный базис: выборка, проекция, произведение и вычитание.
Дата добавления: 2015-09-18 | Просмотры: 405 | Нарушение авторских прав
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
|