plik


ÿþProcedury skBadowane Przegld zagadnieD Czym s procedury skBadowane Praca z procedurami skBadowanymi Zalety i wady procedur skBadowanych Podsumowanie Laboratorium Czym s procedury skBadowane Procedura skBadowana (ang. stored procedure) jest nazwanym zbiorem zapytaD w jzyku SQL, który jest przechowywany na serwerze (w SZBD) i jest kompilowany przy pierwszym wykonaniu. Procedury wnosz do [rodowiska serwera baz danych przetwarzanie warunkowe i mo|liwo[ci programistyczne. W SZBD wykonanie dowolnego fragmentu kodu jzyka SQL wi|e si z pewnym cigiem procesów - poczwszy od sprawdzenia skBadni a| do kompilacji i wykonania. Czym s procedury skBadowane Proces wykonania zapytania SQL Wykonywanie procedur skBadowanych Rekompilacja procedur skBadowanych Czym s procedury skBadowane Jak odbywa si wykonanie pojedynczego zapytania w jzyku Transact-SQL w MS SQL Server: Kod musi zosta sprawdzony pod wzgldem poprawno[ci skBadni (kontrola poprawno[ci semantycznej - czyli czy kod nie odwoBuje si do nieistniejcych obiektów lub u|ywa nieistniejcych poleceD oraz kontrola poprawno[ci syntaktycznej - czy u|yta skBadnia jest poprawna). Nastpnie kod jest rozdzielany na fragmenty (czsto nazywane znacznikami) interpretowane przez ZSBD. Proces ten nazywamy parsowaniem (ang. parsing). Nastpnie SZBD standaryzuje wyodrbnione cz[ci kodu, tzn. zapisuje je w jednoznacznej postaci (usuwajc niepotrzebne znaczniki). Kolejnym etapem jest optymalizacja - ka|de zapytanie mo|e posiada wiele przygotowanych tzw. planów wykonania (ang. execution plan). MS SQL Server posiada wewntrzny proces (Query Optimizer), który wybiera optymalny sposób dostpu do danych - tzn. taki plan wykonania zapytania, w którym serwer bdzie skanowaB (przeszukiwaB) najmniejsz ilo[ stron danych. Na optymalizacj szczególny wpByw maj struktura indeksów oraz sposób Bczenia tabel. Nastpuje kompilacja zapytania wg optymalnego planu wykonania i wykonanie skompilowanego zapytania. Wyniki dziaBania zapytania s zwracane do klienta. Wykonywanie procedur skBadowanych Wykonywanie procedur skBadowanych odbywa si inaczej ni| wykonywanie pojedynczych zapytaD SQL. Schemat utworzenia i pierwszego wykonania procedury: Programista bazy danych tworzy definicj procedury skBadowanej - tzn. wykonuje polecenie CREATE PROCEDURE. Kod procedury jest sprawdzany pod wzgldem syntaktyki. Nazwa procedury i jej kod (tzw. ciaBo) s zapisywane do odpowiednich tabel systemowych bazy danych (sysobjects oraz syscomments). U|ytkownik wywoBuje procedur z odpowiednimi parametrami u|ywajc polecenia EXEC. Dalej nastpuje wBa[ciwe wykonanie procedury - optymalizacja planu wykonania i kompilacja. Skompilowany optymalny plan wykonania jest zapisywany w tzw. cache'u procedur. Wykonywanie procedur skBadowanych W MS SQL Server przy kontroli poprawno[ci kodu procedury w trakcie jej tworzenia serwer nie sprawdza, czy istniej obiekty (tabele, widoki), do których procedura si odwoBuje. Sprawdzenie to nastpuje dopiero przy wykonaniu procedury (w przypadku odwoBania do nieistniejcego obiektu procedura zgBosi bBd). Wykonywanie procedur skBadowanych Praca z procedurami skBadowanymi Tworzenie procedur skBadowanych WywoBywanie procedur skBadowanych Parametry procedur skBadowanych Kolejno[ parametrów Tworzenie procedur skBadowanych Do tworzenia procedur skBadowanych u|ywamy polecenia jzyka SQL CREATE PROCEDURE (lub CREATE PROC). W definicji procedury skBadowanej okre[lamy: nazw procedury; nazwy, typy danych oraz kierunek dziaBania parametrów procedury; ciaBo procedury - czyli kod wykonywany przez procedur; opcjonalnie deklarujemy, czy procedura ma by przy ka|dym wykonaniu rekompilowana. Parametry procedur skBadowanych Procedury skBadowane mog przyjmowa parametry wywoBania. Ilo[ i typ danych, które nale|y poda przy wywoBaniu procedury skBadowanej okre[lamy w trakcie tworzenia procedury (u|ywajc polecenia CREATE PROCEDURE). W zale|no[ci od tego, czy parametry bd potrzebne do wykonania procedury, czy te| maj by one przez procedur zwrócone, wyró|niamy dwa rodzaje parametrów: wej[ciowe (INPUT) oraz wyj[ciowe (OUTPUT). Mo|liwe jest te| zdefiniowanie w procedurze parametru przej[ciowego (bdcego jednocze[nie wej[ciowym i wyj[ciowym), czyli parametru, którego warto[ podajemy przy wywoBaniu procedury, a procedura podczas dziaBania mo|e zmieni warto[ parametru i zwróci now warto[. Parametry procedur skBadowanych  Kolejno[ parametrów U|ytkownik ma dwie mo|liwo[ci wywoBywania procedury skBadowanej z wieloma parametrami: poda warto[ci parametrów w takiej kolejno[ci, w jakiej parametry zostaBy zdeklarowane w definicji procedury skBadowanej, przyporzdkowywa warto[ci parametrom o konkretnych nazwach (kiedy nadajemy jawnie warto[ci parametrom, kolejno[ parametrów w wywoBaniu jest dowolna). Praca z procedurami skBadowanymi Tworzenie procedur skBadowanych WywoBywanie procedur skBadowanych Parametry procedur skBadowanych Kolejno[ parametrów Zalety procedur skBadowanych zwikszaj wydajno[ bazy danych, ograniczaj ruch w sieci (przesyBane s tylko nazwy procedur warto[ci parametrów). zapewniaj jedn logik biznesow dla wszystkich aplikacji klienckich, przesBaniaj szczegóBy tabel w bazie danych (przezroczystosc struktury dla zwykBego u|ytkownika aplikacji), umo|liwiaj modyfikacj danych bez bezpo[redniego dostpu do tabel bazy danych, dostarczaj mechanizmów bezpieczeDstwa (mo|na nadawa uprawnienia do wykonywania procedur poszczególnym u|ytkownikom bazy danych). Wady procedur skBadowanych rekompilacja czasem jest nastpstwem zmniejszenia wydajno[ci procedury (czyli administrator baz danych musi wiedzie, kiedy przeprowadzi rekompilacj), w procedurach skBadowanych podobnie jak w perspektywach wystpuje problem zerwanego BaDcucha wBasno[ci (patrz moduB 8), w przypadku zagnie|d|ania procedur skBadowanych nale|y pamita o tym, |e zmienia si kontekst wykonania (procedura zagnie|d|ana wykonuje si z uprawnieniami innej procedury), wreszcie, aby tworzy dobre (tzn. poprawnie dziaBajce) procedury skBadowane niezbdne jest poznanie zaawansowanych mechanizmów jzyka SZBD (np. T-SQL) takich jak: operowanie zmiennymi, funkcje i procedury systemowe, obsBuga bBdów. Podsumowanie Czym s procedury skBadowane Praca z procedurami skBadowanymi Zalety i wady procedur skBadowanych Laboratorium Procedury systemowe Tworzenie procedur skBadowanych

Wyszukiwarka

Podobne podstrony:
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
www plock edu pl prv logopeda zaburzenia studium?azja motor?azja motor html xdweucpb(1)
www plock edu pl prv logopeda komputer ulatwienia tablety graf tablety gra
www plock edu pl prv logopeda komputer ulatwienia lektor lektor
www plock edu pl prv logopeda komputer ulatwienia syntezator syntezator
www plock edu pl prv logopeda komputer ulatwienia nakladki nakladk
www plock edu pl prv logopeda zaburzenia studium uposledzenie um sluch uposledzenie um sluch html rq
www plock edu pl prv logopeda komputer ulatwienia pen pen html is1eeu4t
www plock edu pl prv logopeda komputer warsztat technika komp
http www nirvanowiec republika pl MHDD

więcej podobnych podstron