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:
- Uproszczenie złożonych zapytań – ukrywa skomplikowane złączenia (
JOIN) i agregacje. - 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.