Руководство по созданию эффективных запросов


 Теория: да, она нужна нам! Рис. 2.1



Download 17,08 Mb.
Pdf ko'rish
bet30/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   26   27   28   29   30   31   32   33   ...   210
Bog'liq
OptimizZaprvPostgreSQL

34

Теория: да, она нужна нам!
Рис. 2.1 

Фильтр
Здесь мы начинаем с отношения 
flight
и применяем ограничения на зна-
чения атрибутов 
arrival_airport

departure_airport
и 
scheduled_departure
. Ре-
зультат представляет собой множество записей, то есть тоже отношение.
Рис. 2.2 

Проекция
Проекция
(представленная на рис. 2.2) также принимает одно отношение 
в качестве аргумента и удаляет некоторые атрибуты (столбцы). Реляционная 
проекция удаляет из результата все дубликаты, но проекция SQL этого не 
делает. Например, запрос
SELECT city, zip FROM address
при выполнении в PostgreSQL вернет столько строк, сколько записей в таб-
лице 
address
. Но если выполнить реляционную проекцию, то для каждого 


Реляционные, логические и физические операции 

35
почтового индекса останется одна запись. Чтобы добиться того же результата 
в PostgreSQL, нужно добавить к запросу ключевое слово 
DISTINCT
:
SELECT DISTINCT city, zip FROM address
Рис. 2.3 

Произведение
Произведение
(также называемое декартовым произведением и изобра-
женное на рис. 2.3) порождает множество всех пар строк из первого и вто-
рого аргументов. Очень трудно найти полезный пример произведения из 
реальной жизни, но давайте представим, что мы ищем все возможные рейсы, 
которые только могут существовать (из любого аэропорта мира в любой аэро-
порт). Операция произведения будет выглядеть так:
SELECT d.airport_code AS departure_airport,
a.airport_code AS arrival_airport
FROM airport a,
airport d
Теперь, когда мы рассмотрели эти основные реляционные операции, вы, 
наверное, чувствуете себя обманутыми: где же соединения? Мы знаем, что 
соединения очень важны. Ответ на поверхности: соединение можно выра-
зить как произведение, за которым следует фильтрация. С точки зрения 
реляционной теории соединение избыточно. Это прекрасный пример того, 
как работает декларативный язык; формальное определение – один (но не 
единственный) из способов получить результат соединения. Если мы вычис-
лим декартово произведение двух таблиц, а затем применим фильтрацию, 
то получим желаемый результат. Но надеемся, что ни один из движков баз 
данных не делает так для больших наборов данных; на это могли бы уйти 
годы в буквальном смысле! В главе 3 мы обсудим, как реализовать соеди-
нение более эффективно, чем прямое вычисление на основе формального 
определения.
К реляционным операциям также относятся группировка, объединение, 
пересечение и разность множеств.
Последний элемент реляционной теории, который нужен для оптими-
зации, – 
правила
эквивалентности.
Реляционные операции удовлетворяют 
некоторым правилам эквивалентности, включая:



Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   26   27   28   29   30   31   32   33   ...   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish