Tworzenie procedur - Notatki - Bazy danych - Część 1, Notatki'z Baza danych. Warsaw School of Economics
Irena85
Irena8524 March 2013

Tworzenie procedur - Notatki - Bazy danych - Część 1, Notatki'z Baza danych. Warsaw School of Economics

PDF (658.4 KB)
10 strona
357Liczba odwiedzin
Opis
W notatkach wyeksponowane zostają tematy z zakresu bazy danych: tworzenie procedur. Część 1.
20punkty
Punkty pobierania niezbędne do pobrania
tego dokumentu
Pobierz dokument
Podgląd3 strony / 10
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.

TWORZENIE PROCEDUR SKŁADOWANYCH I FUNKCJI BAZODANOWYCH

Z WYKORZYSTANIEM NARZĘDZIA MS SQL SERVER

docsity.com

Spis treści

1. WPROWADZENIE .............................................................................................. 3

2. PROCEDURY SKŁADOWANE .......................................................................... 3

2.1. Wprowadzenie .......................................................................................................................... 3

2.2. Zadanie 1 ................................................................................................................................... 4

2.3. Wykonanie zadania 1 ............................................................................................................... 4

2.4. Zadanie 2 ................................................................................................................................... 8

2.5. Wykonanie zadania 2 ............................................................................................................... 8

2.6. Zadanie 3 ................................................................................................................................. 10

2.7. Wykonanie zadania 3 ............................................................................................................. 10

2.8. Zadanie 4 ................................................................................................................................. 11

2.9. Wykonanie zadania 4 ............................................................................................................. 11

2.10. Zadanie 5 ................................................................................................................................. 12

2.11. Wykonanie zadania 5 ............................................................................................................. 12

3. FUNKCJE BAZODANOWE .............................................................................. 13

3.1. Wprowadzenie ........................................................................................................................ 13

3.2. Zadanie 1 ................................................................................................................................. 14

3.3. Wykonanie zadania 1 ............................................................................................................. 14

3.4. Zadanie 2 ................................................................................................................................. 16

3.5. Wykonanie zadania 2 ............................................................................................................. 16

3.6. Zadanie 3 ................................................................................................................................. 18

3.7. Wykonanie zadania 3 ............................................................................................................. 18

4. ZADANIE DO WYKONANIA............................................................................. 20

docsity.com

1. Wprowadzenie

Procedury składowane są obiektami zapewniającymi realizację ciągu zdefiniowanych w procedurze operacji w ramach jednego prostego wywołania. Pozwalają na budowanie złożonych (często zagnieżdżonych struktur programistycznych), a potem wywoływanie ich w dowolnych miejscach programu. Umożliwia to tworzenie również takich struktur, które wykonują kilka różnych operacji w ramach uruchomienia jednej procedury.

Funkcje bazodanowe, podobnie jak procedury składowane, są obiektami umieszczonymi na serwerze bazy danych. Posiadają jednak parę dodatkowych cech, którymi odróżniają się od procedur, a znacznie ułatwiają przeprowadzanie całego szeregu tworzących je operacji.

Procedury składowane tworzymy podobnie jak skrypty sql, ale działają one znacznie szybciej niż taki sam skrypt. Dzieje się tak, ponieważ SQL Server przy każdym uruchamianiu skryptu musi wykonać:

 sprawdzenie poprawności wpisanego skryptu,  sprawdzenie statystyk,  wykonanie planu zapytania.

Za każdym razem, gdy wykonywany jest skrypt SQL, wszystkie powyższe operacje są realizowane podczas jego uruchomienia. Procedura składowana jest z definicji sprawdzana przez kompilator podczas jej tworzenia, a plan zapytania jest tworzony automatycznie przy jej pierwszym uruchomieniu. Tak więc dodatkowym atutem procedur składowanych jest szybkość ich działania w stosunku do skryptów.

Poniższe ćwiczenia umożliwią zapoznanie się ze składnią procedur i funkcji składowanych w MS SQL Server.

2. Procedury składowane

2.1. Wprowadzenie

Procedury składowane są zbiorami instrukcji języka SQL zapisanymi pod wspólną nazwą i wywoływanymi jak pojedyncza instrukcja. Procedury składowane umożliwiają:

 przekazywanie parametrów wywołania,  wykonywanie instrukcji języka SQL - w tym wywoływania innych procedur

składowanych,  zwracanie dowolnej liczby wyników do programu, który wywołał tę procedurę,  zwracanie informacji o udanej lub niewykonanej procedurze.

Procedury składowane są podstawą przy tworzeniu warstwy bazodanowej systemów informatycznych. Są powszechnie używane w celu:

 implementacji reguł logiki biznesowej,  zabezpieczenia obiektów bazy danych przed bezpośrednim dostępem użytkowników,  ochrony bazy danych przed atakami polegającymi na iniekcji kodu SQL,  poprawy wydajności często wykonywanych instrukcji,  zminimalizowania obciążenia sieci - zamiast wysyłać całe instrukcje języka SQL,

użytkownik wywołuje jedynie procedurę, wysyłając jej nazwę i przekazując parametry jej wywołania.

Wewnątrz procedury możemy umieszczać dowolne instrukcje SQL. Dzięki temu można stworzyć standardową procedurę, która zapewni realizację określonych operacji, np. nada uprawnienia określonemu użytkownikowi albo usunie użytkownika i zapisy z nim związane z bazy danych. Takie grupowanie operacji usprawni obsługę bazy danych i stworzy

docsity.com

standardowe podprogramy, które będą możliwe do wielokrotnego wykorzystania w różnych typach zastosowań. Wywołanie procedury z wnętrza programu spowoduje automatyczne pobranie przez nią danych wejściowych i wykonanie wszystkich operacji, które zostały w niej zapisane.

Każda procedura składa się z nazwy oraz parametrów, dzięki którym komunikuje się z programem. Aby utworzyć procedurę składowaną wystarczy wstawić blok instrukcji w szablon tworzący procedurę składowaną: CREATE PROCEDURE.

2.2. Zadanie 1

Przygotować procedurę składowaną, której zadaniem jest wprowadzenie tabel: Jezyki oraz PracJezyki do bazy danych Kadry oraz wygenerowanie relacji pomiędzy tabelami Pracownicy –> PracJezyki i Jezyki -> PracJezyki.

Tabela Jezyki składa się z jednego pola, które jest jednocześnie kluczem podstawowym, o nazwie Jezyk. Pole to będzie przechowywało nazwy wszystkich możliwych języków, jakimi posługują się pracownicy firmy.

Tabela PracJezyki składa się z trzech pól: idPracJezyki (pole – klucz podstawowy tabeli), idPrac (numer pracownika), Jezyk (nazwa jezyka) oraz Poziom (poziom umiejętności w posługiwaniu się językiem).

2.3. Wykonanie zadania 1

 Należy odnaleźć w folderze Databases – Kadry – Programmability folder przechowujący procedury składowane – Stored Procedures i z menu podręcznego wybrać opcję New Stored Procedure (pp. Rys. 1)

Rys. 1 Tworzenie nowej procedury składowanej

 W oknie roboczym po prawej stronie pojawi się szablon procedury (pp. Rys. 2).

docsity.com

Rys. 2 Szablon procedury składowanej

 W szablon należy wprowadzić procedurę, która utworzy dwie tabele oraz relacje pomiędzy nimi - zgodnie z wytycznymi podanymi w zadaniu 1 (pp. Rys. 3).

docsity.com

Rys. 3 Treść procedury składowanej Tworzenie_Tabel

 Po wpisaniu treści procedury wystarczy ją uruchomić (przycisk Execute), a następnie odświeżyć folder Stored Procedures i sprawdzić czy nowa procedura składowana została utworzona (pp. Rys. 4)

Rys. 4 Utworzona procedura składowana w folderze Stored Procedures

 Utworzona procedura może być w każdym momencie uruchomiona z menu podręcznego na nazwie procedury - po wybraniu opcji Execute Stored Procedure (pp. Rys. 5).

docsity.com

Rys. 5 Uruchamianie procedury składowanej

UWAGA! Przy ponownym uruchomieniem procedury trzeba z folderu Tables usunąć najpierw tabelę PracJezyki, a następnie tabelę Jezyki.

 Tabele zostały utworzone – co można sprawdzić na liście tabel bazy danych (pp. Rys. 6)

Rys. 6 Nowe tabele na liście bazy danych Kadry

 Należy też uaktualnić strukturę relacji bazy danych (pp. Rys. 7)

docsity.com

Rys. 7 Uaktualniona struktura bazy danych Kadry

2.4. Zadanie 2

Przygotować procedurę składowaną, której zadaniem jest wprowadzenie do tabel Jezyki i PracJezyki nowych rekordów.

2.5. Wykonanie zadania 2

 Treść procedury, którą należy utworzyć prezentuje Rys. 8.

docsity.com

Rys. 8 Treść procedury Wprowadzanie_danych

 Procedura powinna spowodować wprowadzenie do tabeli Jezyki 6 nowych rekordów I do tabeli PracJezyki – 40 nowych rekordów (dane oczywiście mogą się różnić w

docsity.com

stosunku do zamieszczonego przykładu). Procedura powinna być dostępna na liście procedur składowanych (pp. Rys. 9).

Rys. 9 Uruchamianie procedury Wprowadzanie_danych

2.6. Zadanie 3

Przygotować procedurę składowaną, której zadaniem jest wyświetlenie informacji o pracownikach i ich umiejętności posługiwania się językami posortowanych według nazw jednostek organizacyjnych (miejsca zatrudnienia pracowników) i według nazwisk pracowników.

2.7. Wykonanie zadania 3

 Treść procedury składowanej prezentuje Rys. 10.

Rys. 10 Treść procedury Pracownicy_Jezyki

 Po uruchomieniu procedury składowanej (Execute Stored Procedure) można obejrzeć jej wyniki (pp. Rys. 11).

docsity.com

komentarze (0)
Brak komentarzy
Bądź autorem pierwszego komentarza!
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Docsity is not optimized for the browser you're using. In order to have a better experience we suggest you to use Internet Explorer 9+, Chrome, Firefox or Safari! Download Google Chrome