Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Wprowadzeniedofunkcjiokna
9
dodająctęklauzulępowinniśmymiećświadomość,żeotrzymanywynikniejest
relacyjny
,ponieważdefiniujeokreślonąkolejność.
Abypisaćefektywnekwerendy
,trzebarozumiećnaturęjęzykaSQLimyślećwkatego-
riachzbiorów.Zpomocąprzychodząfunkcjeokna,któreułatwiająprzejściemiędzy
iteracyjnymsposobemmyślenia(pojedynczewierszewokreślonejkolejności)aspo-
sobemmyśleniawoparciuozbiory(postrzeganiezbiorujakonieuporządkowanej
całości).Awszystkotodziękipomysłowemuprojektowifunkcjiokna.
Gdyzachodzipotrzebaokreśleniakolejności,funkcjeoknawspierająklauzulę
ORDERBY.Jednaksamfakt,iżfunkcjaokreślakolejność,nieoznacza,żejestona
niezgodnazzałożeniamimodelurelacyjnego.Zarównodanewejściowe,jakidanewyj-
ściowefunkcjioknamającharakterrelacyjny(niewymagająiniegwarantujążadnej
kolejności).Porządekstanowijedynieelementspecyfikacjiobliczeniaiskutkujedoda-
niematrybutudowynikowejrelacji.Niemapewności,żewierszewzbiorzewyników
będąuporządkowanewtakiejsamejkolejności,jakawykorzystanazostaławoknie
funkcji.Cowięcej,różnefunkcjeoknawtejsamejkwerendziemogądefiniowaćróżne
porządki.Zasadniczotenrodzajuporządkowanianiemanicwspólnegozkolejnością
wierszywprezentowanymwynikuwykonaniakwerendy
.Jakwidaćnarysunku1-1,
zarównodanewejściowe,jakidanewyjściowekwerendyzfunkcjąoknasąrelacyjne,
mimoiżspecyfikacjafunkcjioknazawieradefinicjęporządku.
Zastosowanenailustracjiowaleorazróżnepozycjewierszywzbiorzewejściowym
iwyjściowymsłużądopodkreśleniafaktu,iżkolejnośćwierszyniemaznaczenia.
Istniejedodatkowyaspektfunkcjiokna,którypomagawstopniowymprzejściu
ziteratywnegosposobumyśleniadomyśleniarelacyjnego.Nauczycielomwprowadza-
jącymnowezagadnieniezdarzasięczasemnieconaciągnąćprawdę.Zdająonisobie
sprawęztego,żestudenciniesąwstaniezrozumiećszczegółowego,kompleksowego
omówienia.Czasamimożnaosiągnąćlepszerezultatyrozpoczynającodwyjaśnienia
koncepcjiwuproszczony
,choćniedokońcaprawdziwysposób.Wefekciestudenci
oswajająsięzogólnąideą.Prawdziwą,szczegółowąwersjęmożnaprzedstawićwprzy-
szłości,gdystudencibędąjużlepiejnaniąprzygotowani.
Wanalogicznysposóbmożnaprzedstawićmechanizmwykonywaniafunkcjiokna.
Możnawyjaśnićogólnąkoncepcjęwuproszczonysposób,który
,choćniejestcałkowi-
ciezgodnyzprawdą,dajedobreefekty
.Uproszczona,nieprawdziwaprocedurabazuje
nametodzieprzetwarzaniapojedynczychwierszywokreślonejkolejności.Wrzeczy-
wistościprocedurawykonywaniafunkcjioknabazujenametodzieprzetwarzaniazbio-
rów.Jednakprawdziwaprocedurajestbardziejskomplikowanaiabyjązrozumieć,
trzebaosiągnąćpewienstopieńwtajemniczenia.
Następującakwerendasłużydozilustrowaniategoproblemu:
SELECTorderid,orderdate,val,
RANK()OVER(ORDERBYvalDESC)ASrnk
FROMSalesiOrderValues;