Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
8
Rozdział1:FunkcjeoknawjęzykuSQL
podrugim.Tensposóbmyśleniaprzypominarealizowanieoperacjiprzyużyciukurso-
rówwjęzykuT-SQL,dlategometodyopartenakursorachiiteracjiwydająsiętakzna-
jomeprogramistomzdoświadczeniemwkorzystywaniuzjęzykówproceduralnych.
Relacyjne,opartenazbiorachpodejściedoprzetwarzaniadanychjestzupełnieinne.
Abyułatwićjegozrozumienie,zacznijmyoddefinicjizbioruwprowadzonejprzeztwór-
teoriiGeorgaCantora:
ZbioremMjestspojeniewcałośćokreślonychrozróżnialnychpodmiotów
naszejpoglądowościczymyśli,którenazywamyelementamidanegozbiorum.
JosephW
.Dauben,GeorgCantor(PrincetonUniversityPress,1990)
Tazpozoruprostadefinicjajestwrzeczywistościtakzłożona,żejejinterpretacjimógł-
bympoświęcićkilkastron.Jednaknapotrzebytejksiążkiskoncentrujęsięnadwóch
kluczowychaspektach:jednym,któryzostałbezpośredniowyrażonywdefinicjioraz
drugim,któryzniejwynika:
Całość
Przyjrzyjmysięwykorzystaniuterminucałość.Zbiórpowinienbyć
postrzeganyitraktowanyjakocałość.Naszauwagapowinnaskoncentrowaćsię
nazbiorzejakocałości,zamiastnaposzczególnychelementachzbioru.Przetwarza-
nieiteracyjneniejestzgodnezkoncepcją,ponieważrekordyplikulubkursor
przetwarzanepojedynczo.TabelawbaziedanychSQLreprezentuje(choćnie
wdoskonałysposób)relacjęzmodelurelacyjnego.Relacjastanowizbiórpodob-
nychdosiebieelementów(tzn.elementówposiadającychtakiesameatrybuty).
Gdypodejmujemyinterakcjęztabelamiprzyużyciukwerendopartychnazbio-
rach,traktujemytabelęjakocałość,aniejakpojedynczewiersze(krotkirela-
cji)zarównopodwzględemsposobudeklarowaniażądańSQL,jakisposobu
postrzeganiazbioru.Niektóreosobymajądużetrudnościzzaadaptowaniemtego
sposobumyślenia.
Porządek
Jakmożnazauważyć,definicjaniewspominanicokolejnościele-
mentów.Wynikatozfaktu,elementywzbiorzenieuporządkowane.Nie-
którymosobomtrudnoprzywyknąćdotegofaktu.Plikiikursorydefiniująokre-
ślonąkolejnośćrekordówipobierającpojedynczerekordymożemypolegaćnatej
kolejności.Wierszewtabeliniemająkolejności,ponieważtabelastanowizbiór.
Osoby
,któretegonierozumieją,częstomyląlogicznąwarstwęmodeludanych
ijęzykazfizycznąwarstwąimplementacji.Zakładają,żejeśliistniejeokreślony
indeksnatabeli,mogąmiećpewność,żepodczaswykonywaniakwerendnatej
tabelidanebędązawszeprzetwarzanezgodniezporządkiemzdefiniowanym
windeksie.Cowięcej,czasemodspełnieniategozałożeniauzależniająpoprawne
działanierozwiązania.OczywiściewSQLServerniemożnamiećtakiejpewno-
ści.Abyzagwarantować,żewierszewzbiorzewynikówzostanązaprezentowane
wokreślonejkolejności,musimydodaćdokwerendyklauzulęORDERBY.Jednak