KWALIFIKACJA INF3 - STYCZEŃ 2023 (test 2)

PYTANIE NR 23.
Tabela Pracownicy zawiera dane pracowników z różnych działów, co określa pole liczbowe dzial. Ponieważ zazwyczaj są wykonywane kwerendy tylko na dziale równym 2, to można uprościć zapytania do tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 za pomocą zapytania
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Widok tworzy się poleceniem, w którym po nazwie obiektu występuje AS, a następnie pełne zapytanie SELECT. Aby zawęzić dane do działu 2, filtr umieszcza się w klauzuli WHERE. Dlatego poprawna jest składnia
CREATE VIEW ... AS SELECT ... WHERE ...;
.

Pełne wyjaśnienie:

Widok (VIEW) w SQL jest obiektem bazy danych, który przechowuje definicję zapytania, a nie dane jak zwykła tabela. Dzięki temu można "opakować" często używany filtr w postaci widoku i potem odwoływać się do niego jak do tabeli, np. wykonując prostsze zapytania typu SELECT * FROM Prac_dzial2.

Poprawna definicja widoku wymaga trzech kluczowych elementów:

  • CREATE VIEW – informuje, że tworzymy widok.
  • AS – wprowadza zapytanie, które definiuje widok.
  • SELECT ... WHERE ... – właściwe zapytanie wybierające dane; filtr dzial=2 musi znaleźć się w klauzuli WHERE.

Dlatego poprawne polecenie ma postać: CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;

Dlaczego pozostałe propozycje są błędne?

  • Warianty z konstrukcją typu CREATE VIEW ... FROM Pracownicy są niepoprawne składniowo, bo po CREATE VIEW nazwa powinno pojawić się AS i całe zapytanie SELECT, a nie "FROM" jak w samym SELECT.
  • Warianty zaczynające się od samego słowa VIEW pomijają polecenie CREATE, więc nie tworzą obiektu w bazie w standardowy sposób.
  • Warianty typu VIEW ... SELECT FROM mają pomieszany szyk i brakuje w nich prawidłowej konstrukcji zapytania SELECT (SELECT musi wskazywać listę kolumn lub *).

W praktyce na egzaminie zwracaj uwagę na kolejność słów kluczowych: CREATE VIEWASSELECTFROMWHERE. To najczęstszy punkt, na którym uczniowie tracą punkty.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Widok to obiekt bazy danych przechowujący zapis zapytania SELECT. Działa jak "wirtualna tabela": gdy go odczytujesz, baza wykonuje zapisane zapytanie i zwraca wynik. Widok ułatwia ponowne użycie filtrów i porządkuje logikę zapytań.
Najczęściej spotkasz schemat: CREATE VIEW nazwa AS SELECT .... Po słowie AS musi wystąpić kompletne zapytanie SELECT (z FROM i ewentualnie WHERE). Brak AS lub brak SELECT zwykle oznacza błąd składni.
AS oddziela nazwę widoku od zapytania, które go definiuje. Dzięki temu baza jednoznacznie "wie", że dalsza część polecenia to treść zapytania SELECT. W praktyce brak AS jest jednym z najczęstszych powodów niepoprawnej definicji widoku.
Ograniczenie realizuje się filtrem w klauzuli WHERE, np. WHERE dzial=2. Taki warunek zapisany w widoku sprawia, że każdy odczyt widoku zwraca tylko wiersze spełniające warunek, bez dopisywania filtra w każdym kolejnym zapytaniu.
Typowy widok nie przechowuje danych "na stałe", tylko przechowuje definicję zapytania. Dane są pobierane z tabel podczas odczytu widoku. To ważne na egzaminie: widok upraszcza dostęp do danych, ale nie jest tym samym co kopia tabeli.
Najczęściej: pominięcie słowa CREATE, brak AS, pomieszanie kolejności słów kluczowych (np. wstawienie FROM od razu po nazwie widoku) oraz niepełne zapytanie SELECT (np. SELECT FROM bez listy kolumn).
W wielu systemach baz danych można użyć SELECT * w definicji widoku, ale w praktyce bywa to ryzykowne, bo zmiana struktury tabeli może wpływać na wynik widoku. Na egzaminie zwykle chodzi o poprawność składni, więc * jest akceptowalne jako lista kolumn.
Widok pozwala przenieść powtarzalną logikę (np. filtr działu, statusu, uprawnień) do bazy danych. Kod aplikacji wykonuje wtedy prostsze zapytania do widoku, co poprawia czytelność, zmniejsza liczbę powtórzeń i ułatwia utrzymanie projektu.
Najprościej wykonać zapytanie odczytujące widok, np. SELECT * FROM Prac_dzial2; i porównać wynik z zapytaniem źródłowym. Jeśli widok ma filtr WHERE dzial=2, w rezultacie nie powinny pojawiać się rekordy z inną wartością pola dzial.
Ogólny schemat jest podobny, ale szczegóły zależą od systemu (np. dodatkowe opcje, uprawnienia, ograniczenia aktualizacji). Na egzaminie najczęściej wymaga się rozpoznania poprawnej konstrukcji CREATE VIEW ... AS SELECT ... z poprawnym użyciem WHERE.
info

Statystycznie 56% uczniów zna prawidłową odpowiedź. średnie

Specjaliści zwracają uwagę: "Widok tworzy się poleceniem, w którym po nazwie obiektu występuje AS, a następnie pełne zapytanie SELECT."

Źródła:

  • PostgreSQL Documentation: CREATE VIEW — SQL Command Reference, https://www.postgresql.org/docs/current/sql-createview.html (dostęp: 2026-02-27)
  • MySQL 8.0 Reference Manual: CREATE VIEW Statement, https://dev.mysql.com/doc/refman/8.0/en/create-view.html (dostęp: 2026-02-27)
  • Microsoft Learn: CREATE VIEW (Transact-SQL), https://learn.microsoft.com/en-us/sql/t-sql/statements/create-view-transact-sql (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja systemu bazy danych używanego na zajęciach (sekcja CREATE VIEW)
  • Ćwiczenia z SQL: SELECT, WHERE oraz tworzenie obiektów bazy (widoki)
  • Zadania praktyczne: budowa widoków dla typowych filtrów (np. status, dział, rola)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego