Widoki i Procedury Składowane

Autor: coach1

Przenoszenie logiki na serwer: Widoki i Procedury

Gdy aplikacja staje się bardzo rozbudowana, a zapytania SQL niezbędne do wygenerowania raportów osiągają długość kilkudziesięciu linijek kodu, zarządzanie tym z poziomu samej aplikacji staje się koszmarem. Z pomocą przychodzą wtedy mechanizmy wbudowane bezpośrednio w serwer bazodanowy.

Widoki (Views) – Wirtualne tabele

Widok to tak naprawdę skomplikowane zapytanie SELECT zapisane i nazwane w bazie, które dla użytkownika końcowego wygląda i zachowuje się jak zwykła, prosta tabela. Nie przechowuje on fizycznie swoich własnych danych, a jedynie odpytuje i formatuje dane z innych tabel "w locie".

  • Czytelność kodu: Skomplikowane wielokrotne złączenia typu JOIN ukrywamy pod jedną, prostą nazwą wirtualnej tabeli (np. SELECT * FROM widok_aktywnych_studentow).
  • Bezpieczeństwo: Możemy dać junior-programiście lub aplikacji zewnętrznej dostęp do Widoku pokazującego tylko imię i nazwisko pracowników, fizycznie ukrywając i blokując przed nimi oryginalną tabelę zawierającą wrażliwe dane (jak pensje, numery PESEL i zaszyfrowane hasła).

Procedury składowane (Stored Procedures)

Procedura składowana to prekompilowany blok kodu SQL zapisany w strukturach bazy danych. Możesz go wywoływać z poziomu kodu back-endowego (np. z języka PHP) przekazując mu odpowiednie parametry, dokładnie tak samo jak wywołujesz zwykłą funkcję. Procedury te obsługują instrukcje warunkowe (IF) czy pętle (WHILE). Pozwalają na ogromną optymalizację ruchu sieciowego (przez sieć wysyłamy tylko krótką nazwę procedury, a cała praca i przeliczanie odbywa się bezpośrednio na maszynie serwera bazy danych).


Miejsce na baner reklamowy Google AdSense w treści artykułu