Przejdź do treści głównej
INF.03Bazy Danych

Widoki w SQL (VIEW)

Wirtualna tabela tworzona na podstawie zapytania SELECT, która nie przechowuje fizycznie danych, lecz generuje je dynamicznie w chwili odwołania.

Czym jest widok (VIEW)?

Widok to zapisane w bazie zapytanie SELECT, do którego możemy odwoływać się dokładnie tak samo jak do zwykłej tabeli.

SQL
-- Tworzenie widoku prezentującego aktywnych klientów z sumą ich zamówień:
CREATE VIEW widok_aktywni_klienci AS
SELECT k.id, k.nazwisko, SUM(z.kwota) AS laczna_kwota
FROM klienci k
JOIN zamowienia z ON k.id = z.id_klienta
WHERE k.status = 'aktywny'
GROUP BY k.id, k.nazwisko;

-- Użycie widoku:
SELECT * FROM widok_aktywni_klienci WHERE laczna_kwota > 1000;

-- Usunięcie widoku:
DROP VIEW widok_aktywni_klienci;

Zalety stosowania widoków:

  1. Uproszczenie złożonych zapytań – ukrywa skomplikowane złączenia (JOIN) i agregacje.
  2. Bezpieczeństwo – umożliwia udostępnienie użytkownikowi tylko wybranych kolumn tabeli bez dążenia do udostępniania całej tabeli źródłowej.

Najczęstsze pułapki na egzaminie INF.03:

  • Widok nie zajmuje miejsca na dysku na dane (poza samą definicją zapytania w słowniku danych).

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Widoki w SQL (VIEW) lub rozpocznij trening.