Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: CRUD Formularz bazy danych INSERT INTO w SQL Instrukcja DELETE FROM w SQL UPDATE w SQL

Widok (VIEW) w relacyjnej bazie danych tworzy się w celu

A. trwałego skopiowania danych z tabeli do nowej tabeli.
Źle. Trwałą kopię tworzy CREATE TABLE ... AS SELECT. Widok nie przechowuje danych.
B. zdefiniowania relacji między dwiema tabelami.
Źle. Relacje definiuje się kluczami obcymi. Widok może łączyć tabele w zapytaniu, ale nie tworzy powiązania.
C. zapisania zapytania SELECT, z którego potem można korzystać jak z wirtualnej tabeli.
Dobrze. Widok to nazwane zapytanie SELECT, z którego korzysta się jak z tabeli, zawsze na aktualnych danych.
D. przyspieszenia wyszukiwania przez utworzenie indeksu na kolumnie.
Źle. Wyszukiwanie przyspiesza indeks, CREATE INDEX. Widok wykonuje zapisane zapytanie przy każdym odczycie.

Widok to zapisane w bazie zapytanie SELECT, które ma nazwę i używa się go tak jak tabeli. Sam nie przechowuje danych: za każdym razem, gdy ktoś z niego czyta, baza wykonuje zapisane zapytanie na aktualnych danych z tabel źródłowych.

Przykład: CREATE VIEW klienci_platynowi AS SELECT imie, nazwisko FROM klienci WHERE status = 'Platynowy';, a potem SELECT * FROM klienci_platynowi;. Widoki upraszczają powtarzane złożone zapytania z łączeniem tabel i pozwalają ukryć kolumny, np. pensje, nadając użytkownikowi prawo tylko do widoku. Usuwa się je poleceniem DROP VIEW, bez wpływu na dane w tabelach.

Listę widoków w bazie pokazuje SHOW FULL TABLES WHERE Table_type = 'VIEW';.

Każda błędna odpowiedź opisuje inny obiekt bazy. Trwała kopia danych powstaje np. przez CREATE TABLE kopia AS SELECT * FROM klienci;. Kopia od tej chwili żyje własnym życiem i nie widzi późniejszych zmian w tabeli źródłowej. Widok przeciwnie: zawsze pokazuje stan bieżący, bo niczego nie kopiuje.

Relacje między tabelami definiuje się kluczami obcymi, FOREIGN KEY ... REFERENCES .... Widok może łączyć tabele przez JOIN w swoim zapytaniu, ale nie tworzy powiązania w strukturze bazy i nie pilnuje spójności danych.

Przyspieszenie wyszukiwania daje indeks: CREATE INDEX idx_nazwisko ON klienci (nazwisko);. Widok nie przyspiesza zapytań, bo baza i tak wykonuje to samo zapytanie co bez niego. Jego zaletą jest wygoda i bezpieczeństwo, a nie wydajność.

Dobrze mieć w głowie podział: tabela przechowuje, indeks przyspiesza, klucz obcy wiąże, a widok pokazuje wynik zapytania.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.