Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 15 października 2026 21:36
Zakończenie: 15 października 2026 22:18
Egzamin zdany!
Wynik: 25/40 punktów (62,5%)
Wymagane minimum: 20 punktów (50%)
Pewność odpowiedzi
Jako strzał oznaczono 20 odpowiedzi - trafionych: 10.
Z odpowiedzi deklarowanych jako pewne poprawnych było 15 z 20. Trafiony strzał to nie jest wiedza - te pytania warto powtórzyć w pierwszej kolejności.
Twój wynik na tle innych
Twój wynik jest lepszy niż 48% podejść do kwalifikacji INF.03.
Porównanie z 47762 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin trafi na Twoje konto, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
Przygotowując raport w systemie zarządzania relacyjnymi bazami danych, można uzyskać
A. aktualizowanie danych w tabelach
B. dodawanie danych do tabel
C. analizę wybranych danych
Twoja odpowiedź
D. usuwanie danych z tabel
Poprawna odpowiedź. W kontekście systemów obsługi relacyjnych baz danych, raportowanie odgrywa kluczową rolę w analizie danych. Wykonywanie raportu umożliwia użytkownikom dostęp do wybranych informacji, co pozwala na podejmowanie świadomych decyzji opartych na danych. Analiza danych to proces przetwarzania informacji w celu wydobycia wartościowych wniosków. Przykłady zastosowania to generowanie raportów sprzedażowych, finansowych czy analizy trendów klientów. W raportach można wykorzystać różne techniki, takie jak filtrowanie, grupowanie czy agregowanie danych, co umożliwia prezentację wyników w przystępnej formie graficznej. Dodatkowo, standardy takie jak SQL (Structured Query Language) są powszechnie używane do wykonywania zapytań w relacyjnych bazach danych, co pozwala na efektywne przeszukiwanie i analizowanie danych. W praktyce, raporty mogą być generowane na podstawie zapytań do bazy danych i mogą obejmować różne parametry, co zwiększa ich użyteczność w podejmowaniu decyzji strategicznych i operacyjnych.
Pytanie 2Strzał
W bazie danych istnieje tabela ksiazki, która posiada pola: tytul, id_autora, data_wypoz, id_czytelnika. Codziennie tworzony jest raport dotyczący książek wypożyczonych w danym dniu, który wyświetla jedynie tytuły książek. Która kwerenda SQL jest odpowiednia do generowania tego raportu?
Poprawna odpowiedź. Ta odpowiedź jest prawidłowa, ponieważ wykorzystuje funkcję CURRENT_DATE(), która zwraca bieżącą datę systemową. Zapytanie SQL SELECT tytul FROM ksiazki WHERE data_wypoz = CURRENT_DATE(); umożliwia wybranie jedynie tych książek, które zostały wypożyczone w dniu, w którym raport jest generowany. To podejście jest zgodne z dobrymi praktykami w zakresie zarządzania danymi, ponieważ pozwala na efektywne filtrowanie danych bez zbędnych informacji. W kontekście bazy danych, operacje takie jak filtrowanie danych według daty są kluczowe dla tworzenia raportów, które są użyteczne i zrozumiałe dla użytkowników. Dzięki temu możemy na przykład generować codzienne zestawienia wypożyczeń książek, co jest szczególnie przydatne w bibliotekach oraz innych instytucjach zajmujących się wynajmem materiałów. Użycie odpowiednich funkcji w SQL jest nie tylko korzystne, ale również zwiększa efektywność procesów analitycznych oraz zarządzania danymi.
Pytanie 3
Jakie jest określenie na element bazy danych, który umożliwia jedynie przeglądanie danych, przedstawiając je w formie tekstowej lub graficznej?
A. Zapytanie
Twoja odpowiedź
B. Raport
Poprawna odpowiedź
C. Tabela
D. Formularz
Niepoprawna odpowiedź. Tabela to struktura bazy danych, która służy do przechowywania danych w formie zorganizowanej w wiersze i kolumny. Tabele są fundamentem relacyjnych baz danych, jednak nie umożliwiają one bezpośredniego generowania raportów ani wizualizacji danych. Tabele są wykorzystywane w procesie wprowadzania i edycji danych, a nie w ich przetwarzaniu do analizy. Zapytanie to forma polecenia, która umożliwia użytkownikowi pobieranie określonych danych z bazy, na podstawie zdefiniowanych kryteriów. Mimo że zapytania są kluczowe w procesie obróbki danych, same w sobie nie generują raportów ani wykresów, lecz zwracają wyniki w postaci zbioru danych. Formularz to narzędzie, które służy do wprowadzania i edytowania danych w bazie. Rola formularzy polega na ułatwieniu interakcji użytkownika z bazą danych poprzez umożliwienie wprowadzania informacji w zorganizowanej formie. Formularze są przydatne w procesach zarządzania danymi, ale ich funkcjonalność nie obejmuje analizy ani prezentacji danych w formie raportów. W związku z tym, zarówno tabela, jak i zapytanie oraz formularz nie spełniają kryteriów określonych w pytaniu, ponieważ nie są dedykowane wyłącznie do odczytu danych w formie raportów.
Pytanie 4
Którego typu danych w MySQL należy użyć, aby w jednym polu zapisać datę i czas?
A.
YEAR
B.
BOOLEAN
C.
DATE
Twoja odpowiedź
D.
TIMESTAMP
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe typy przechowują tylko fragment informacji lub coś innego. DATE zapisuje samą datę (bez godziny) - nie da się w nim zapamiętać czasu. YEAR przechowuje wyłącznie rok, więc to jeszcze mniej danych. BOOLEAN to typ logiczny przyjmujący prawda/fałsz, zupełnie niezwiązany z datą. Datę razem z czasem przechowuje TIMESTAMP (lub DATETIME), dlatego ta odpowiedź jest poprawna.
Pytanie 5Strzał
Zakładając, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL przyzna użytkownikowi anna jedynie uprawnienia do
GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
A. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
Twoja odpowiedź
B. wybierania, dodawania pól oraz modyfikacji struktury wszystkich tabel w bazie o nazwie klienci
C. wybierania, dodawania pól oraz modyfikacji struktury tabeli o nazwie klienci
D. wybierania, wstawiania oraz modyfikacji danych w wszystkich tabelach w bazie o nazwie klienci
Poprawna odpowiedź. To polecenie SQL, które widzisz, czyli GRANT SELECT INSERT UPDATE ON klienci TO anna, po prostu przyznaje użytkownikowi anna konkretne uprawnienia do tabeli klienci. Dzięki temu, ona może odczytywać dane z tej tabeli, co jest naprawdę ważne, zwłaszcza przy robieniu różnych zapytań czy raportów. A jakbyś chciał dodać nowe rekordy, to właśnie INSERT na to pozwala. To mega istotne, bo w bazach danych często coś się zmienia! Natomiast UPDATE daje możliwość zmieniania już istniejących danych, co jest bardzo przydatne, żeby utrzymać wszystko w porządku i aktualności. To jakby standard w zarządzaniu bazami danych. Przyznawanie uprawnień do konkretnej tabeli, a nie całej bazy, zmniejsza ryzyko, że ktoś dostanie dostęp do danych, które nie są dla niego przeznaczone. To wszystko działa zgodnie z zasadą minimalnych uprawnień, co jest super ważne! Można też lepiej kontrolować, kto i jakie operacje może robić na danych, co zapewnia bezpieczeństwo i integralność danych w firmie.
Pytanie 6Strzał
W tabeli Recepta, kolumny Imie i Nazwisko odnoszą się do pacjenta, na którego wystawiona jest recepta. Jaką kwerendę należy wykorzystać, aby dla każdej recepty uzyskać datę jej wystawienia oraz imię i nazwisko lekarza, który ją wystawił?
Niepoprawna odpowiedź. Błędne odpowiedzi wynikają z nieprawidłowego zrozumienia struktury relacyjnej baz danych i mechanizmu łączenia tabel. W przypadku odpowiedzi pierwszej, kwerenda SELECT Imie, Nazwisko, DataWystawienia FROM Recepta; pobiera dane o pacjencie, a nie o lekarzu, ponieważ kolumny Imie i Nazwisko w tabeli Recepta odnoszą się do pacjenta. Chociaż uzyskujemy datę wystawienia recepty, brakuje kluczowej informacji o lekarzu wystawiającym. Odpowiedź druga, SELECT Lekarz.Imie, Lekarz.Nazwisko, DataWystawienia FROM Recepta;, jest błędna, ponieważ nie zawiera mechanizmu JOIN, który jest niezbędny do połączenia danych z tabeli Recepta z tabelą Lekarz. Bez tego połączenia próba odwołania się do kolumn z tabeli Lekarz zakończy się błędem. Odpowiedź trzecia, SELECT Imie, DataWystawienia FROM Recepta JOIN Lekarz ON Recepta.Lekarz_id = Lekarz.id;, również nie spełnia wymagań, ponieważ pobiera tylko imię pacjenta (co jest nieprawidłowe), a nie informacje o lekarzu. Podstawowym błędem w tych odpowiedziach jest brak zrozumienia relacji między tabelami oraz poprawnego zastosowania kluczy, co jest kluczowe w pracy z relacyjnymi bazami danych. Zrozumienie mechanizmu JOIN i prawidłowego odniesienia się do kolumn w różnych tabelach jest fundamentem efektywnego projektowania i wykorzystywania baz danych.
Pytanie 7Strzał
Kwerenda pozwalająca zmienić wiele rekordów lub przenieść wiele rekordów w jednej operacji nosi nazwę kwerendy
A. wybierającej
B. krzyżowej
Twoja odpowiedź
C. funkcjonalnej
Poprawna odpowiedź
D. parametrycznej
Niepoprawna odpowiedź. Pozostałe kwerendy nie modyfikują masowo danych. Wybierająca tylko odczytuje (SELECT), parametryczna pyta o wartość przed uruchomieniem, a krzyżowa podsumowuje dane w układzie tabelarycznym. Masowej zmiany rekordów dokonuje kwerenda funkcjonalna.
Pytanie 8Strzał
Aby wygodnie wprowadzać i edytować dane w bazie danych, można posłużyć się:
A. kwerendą SELECT
B. formularzem
Twoja odpowiedź
C. filtrowaniem
D. raportem
Poprawna odpowiedź. Formularz to wygodny interfejs do pracy z danymi: udostępnia pola odpowiadające kolumnom tabeli, dzięki czemu użytkownik może wprowadzać nowe rekordy i edytować istniejące bez ręcznego pisania zapytań SQL. Stosuje się go w aplikacjach i systemach baz danych, by uprościć i zabezpieczyć wpisywanie danych. Dlatego do wygodnego wprowadzania i modyfikowania danych służy właśnie formularz.
Pytanie 9Strzał
Jakie polecenie pozwala na zwiększenie wartości o jeden w kolumnie RokStudiów w tabeli Studenci dla uczniów, którzy są na roku 1÷4?
Poprawna odpowiedź. Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest prawidłowa, ponieważ poprawnie wykorzystuje składnię SQL do aktualizacji wartości w tabeli. W tym przypadku, polecenie zmienia wartość kolumny RokStudiow o jeden dla wszystkich studentów, którzy mają przypisany rok studiów mniejszy niż 5. Użycie 'SET RokStudiow = RokStudiow+1' jest zgodne z zasadą aktualizacji danych, gdzie przypisanie nowej wartości korzysta z obecnej wartości i modyfikuje ją. W praktyce, takie operacje są niezbędne w systemach zarządzania bazami danych, zwłaszcza w kontekście obliczeń związanych z postępem akademickim studentów, a przestrzeganie standardów SQL pomaga w utrzymaniu spójności i integralności danych. Dobrą praktyką jest również wykonanie operacji aktualizacji w sposób, który minimalizuje ryzyko utraty danych oraz zwiększa efektywność zapytań, co jest istotne w dużych bazach danych.
Pytanie 10Strzał
Za pomocą którego protokołu można bezpiecznie (z szyfrowaniem) przesłać pliki strony internetowej na serwer WWW?
A. SFTP
Poprawna odpowiedź
B. IMAP
C. Telnet
D. POP3
Twoja odpowiedź
Niepoprawna odpowiedź. Klucz tego pytania to dwa słowa: pliki i bezpiecznie. POP3 oraz IMAP odpadają już na pierwszym z nich - oba to protokoły poczty elektronicznej. POP3 pobiera wiadomości ze skrzynki na komputer i zwykle usuwa je z serwera, a IMAP zarządza nimi bezpośrednio na serwerze pocztowym; żaden z nich nie służy do wysyłania plików witryny na serwer WWW i pomyłka tu bierze się głównie z tego, że wszystkie cztery nazwy to skróty protokołów sieciowych. Telnet z kolei rzeczywiście łączy się ze zdalnym hostem, ale to narzędzie zdalnej konsoli, a nie transferu plików - i co najważniejsze, przesyła dane oraz hasła tekstem jawnym, więc nie spełnia warunku bezpieczeństwa. Pozostaje SFTP: przesyła pliki w sesji SSH, w pełni zaszyfrowanej, dzięki czemu zarówno zawartość, jak i dane logowania są chronione w drodze na serwer. To dlatego do bezpiecznej publikacji strony używa się SFTP, a nie nieszyfrowanego FTP czy któregokolwiek z pozostałych protokołów.
Pytanie 11Strzał
Który element relacyjnej bazy danych (kod w języku SQL) można WYWOŁAĆ wewnątrz zapytania, tak że zwróci wartość lub dane widoczne jak tabela?
A. procedura składowana
B. reguła
C. wyzwalacz
D. funkcja zdefiniowana przez użytkownika
Twoja odpowiedź
Poprawna odpowiedź. Funkcja zdefiniowana przez użytkownika (UDF) to kod SQL, który można WYWOŁAĆ wewnątrz zapytania - zwraca wartość albo zbiór danych widoczny jak tabela. Dlatego tym elementem jest funkcja zdefiniowana przez użytkownika.
Pytanie 12
Przedstawione zapytanie MySQL ma za zadanie
ALTER TABLEksiazkiMODIFYtytulVARCHAR(100)NOT NULL;
A. zmienić nazwę kolumny w tabeli ksiazki.
B. dodać do tabeli ksiazki kolumnę tytul.
C. usunąć kolumnę tytul z tabeli ksiazki.
D. zmienić typ kolumny tytul w tabeli ksiazki.
Twoja odpowiedź
Poprawna odpowiedź. Twoja odpowiedź dobrze odczytuje składnię polecenia ALTER TABLE w MySQL. Instrukcja: ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany definicji już istniejącej kolumny tytul w tabeli ksiazki. Słowo kluczowe MODIFY w MySQL oznacza właśnie modyfikację typu danych i atrybutów kolumny, bez zmiany jej nazwy. W tym przykładzie kolumna tytul zostaje ustawiona jako typ VARCHAR o długości 100 znaków oraz z ograniczeniem NOT NULL, czyli pole nie może przyjmować wartości pustej. Moim zdaniem to jedno z częstszych poleceń przy rozwijaniu aplikacji, bo schemat bazy prawie nigdy nie jest idealny od początku. W praktyce takie polecenie stosuje się np. gdy początkowo założyliśmy zbyt krótki tytuł, np. VARCHAR(50), i po czasie okazuje się, że część danych się nie mieści. Zamiast tworzyć nową kolumnę, zmieniamy typ i parametry istniejącej. Dobra praktyka przy pracy z ALTER TABLE to zawsze sprawdzić, czy modyfikacja nie spowoduje utraty danych, np. przy skracaniu długości VARCHAR. W środowiskach produkcyjnych często robi się to najpierw na kopii bazy lub w środowisku testowym, bo zmiany w strukturze tabel potrafią blokować tabelę i wpływać na wydajność. Warto też wiedzieć, że w MySQL do zmiany nazwy kolumny używa się ALTER TABLE ... CHANGE stara_nazwa nowa_nazwa typ, a do dodania nowej kolumny słowa kluczowego ADD. Dzięki rozróżnieniu MODIFY/CHANGE/ADD/ DROP łatwiej czyta się skrypty migracyjne i utrzymuje spójny model danych. Dobrą praktyką jest też trzymanie wszystkich takich zmian w repozytorium razem z kodem aplikacji, żeby zawsze było wiadomo, jaka wersja schematu jest aktualna.
Pytanie 13Strzał
Które z poniższych zdań poprawnie opisuje utworzoną tabelę?
CREATE TABLEdane(kolumnaINTEGER(3));
A. Tabela o nazwie dane ma jedną kolumnę typu całkowitego
Poprawna odpowiedź
B. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
C. Tabela o nazwie dane składa się z trzech kolumn typu całkowitego
Twoja odpowiedź
D. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
Niepoprawna odpowiedź. W tym zadaniu bardzo łatwo wpaść w pułapkę skojarzeń z programowaniem w innych językach, gdzie nawias przy typie sugeruje rozmiar tablicy albo liczbę elementów. W SQL, a szczególnie w składni zbliżonej do MySQL, zapis `INTEGER(3)` nie tworzy trzech kolumn ani trzyelementowej tablicy, tylko opisuje jedną kolumnę typu liczbowego. Nawias w tym miejscu oznacza co najwyżej szerokość wyświetlania albo pewne ograniczenie prezentacji, a nie ilość powtórzeń typu. Dlatego interpretacja, że tabela ma trzy kolumny typu całkowitego, jest po prostu przeniesieniem logiki z np. C lub Java na SQL, co jest częstym, ale błędnym nawykiem. Podobnie mylenie `INTEGER(3)` z tablicą trzyelementową wynika z tego, że w wielu językach zapis z nawiasami kwadratowymi czy okrągłymi kojarzy się z kolekcją. W relacyjnych bazach danych pojedyncza kolumna przechowuje pojedynczą wartość skalarnej dziedziny (liczba, tekst, data), a nie tablicę, chyba że używamy bardzo specyficznych typów, jak np. ARRAY w PostgreSQL – ale to wygląda zupełnie inaczej w definicji. Kolejny błąd to założenie, że skoro przy typie pojawia się liczba 3, to kolumny zostaną automatycznie nazwane `kolumna1`, `kolumna2`, `kolumna3`. Silniki SQL niczego takiego nie robią. Nazwy kolumn muszą być jawnie podane w definicji tabeli, oddzielone przecinkami, np. `kolumna1 INTEGER, kolumna2 INTEGER, kolumna3 INTEGER`. Jeżeli w nawiasie przy CREATE TABLE jest tylko jeden wpis `kolumna INTEGER(3)`, to mamy dokładnie jedną kolumnę o nazwie `kolumna`. Moim zdaniem dobrym nawykiem jest zawsze patrzeć na przecinki: ile jest elementów oddzielonych przecinkami w nawiasie po nazwie tabeli, tyle jest kolumn. Liczby w nawiasach przy typach (np. VARCHAR(50), DECIMAL(10,2), INT(3)) opisują parametry typu, a nie liczbę kolumn. To podstawowa, ale bardzo ważna zasada przy projektowaniu schematów baz danych i unikaniu dziwnych, mylących interpretacji.
Pytanie 14
Jakie zadanie wykonuje funkcja agregująca AVG w poniższym zapytaniu?
SELECTAVG(cena) FROMuslugi;
A. wyznaczyć największą cenę za usługi
B. sprawdzić, ile usług znajduje się w tabeli
C. zsumować ceny wszystkich usług
D. obliczyć średnią arytmetyczną cen wszystkich usług
Twoja odpowiedź
Poprawna odpowiedź. Dobra robota z odpowiedzią! Funkcja AVG w SQL służy do obliczania średniej z wartości w danej kolumnie, tutaj mamy kolumnę 'cena' w tabeli 'uslugi'. Korzystając z AVG, możesz łatwo dowiedzieć się, jaki jest średni koszt usług, co jest mega pomocne w analizowaniu wydatków. Moim zdaniem, średnia arytmetyczna ma spore znaczenie w raportach finansowych, przy podejmowaniu decyzji w biznesie i śledzeniu trendów rynkowych. Fajnie jest też wiedzieć, że ta funkcja ignoruje wartości NULL, co sprawia, że wyniki są bardziej wiarygodne, kiedy nie wszystkie usługi mają podane ceny. Warto pamiętać, że najlepiej używać funkcji agregujących z klauzulami GROUP BY, żeby móc dokładniej analizować, na przykład średnie ceny w różnych kategoriach usług.
Pytanie 15
Zapytanie przedstawione poniżej zwróci wynik:
SELECTCOUNT(cena) FROMuslugi;
A. wszystkie wartości cen usług w tabeli
B. sumę wartości cen usług w tabeli
C. średnią wartość cen usług w tabeli
D. liczbę wszystkich cen usług w tabeli
Twoja odpowiedź
Poprawna odpowiedź. Zapytanie SQL, które zostało przedstawione, korzysta z funkcji agregującej COUNT(), która zlicza ilość wierszy w tabeli, w której znajduje się kolumna 'cena'. W kontekście tego zapytania, COUNT(cena) zbiera wszystkie wartości w kolumnie 'cena', co oznacza, że zwróci liczbę wszystkich wierszy, w których wartość kolumny 'cena' nie jest NULL. Jest to istotne, ponieważ w praktycznych zastosowaniach bazy danych często potrzebujemy znać ilość elementów dostępnych w danym zbiorze danych, co ma kluczowe znaczenie przy analizowaniu danych oraz generowaniu raportów. Na przykład, jeśli prowadzisz firmę oferującą różne usługi, takie zapytanie pozwala Ci szybko określić, ile różnych usług posiadasz w swojej ofercie oraz jakie są ich ceny. Dobrą praktyką jest używanie funkcji COUNT() w połączeniu z klauzulą WHERE, aby dokładnie określić, które wiersze mają być zliczane, co pozwala na bardziej precyzyjne analizy.
Pytanie 16Strzał
Polecenie w języku SQL w formie
ALTER TABLE 'miasta'
ADD 'kod' text;
A. dodaje do tabeli kolumnę o nazwie kod typu text.
Twoja odpowiedź
B. zmienia nazwę tabeli miasta na kod.
C. dodaje do tabeli dwie kolumny o nazwach: kod i text.
D. w tabeli miasta zmienia nazwę kolumny kod na text.
Poprawna odpowiedź. Poprawna odpowiedź to 'dodaje do tabeli kolumnę o nazwie kod typu text'. Polecenie SQL ALTER TABLE służy do modyfikacji struktury istniejącej tabeli, a w tym przypadku dodaje nową kolumnę do tabeli 'miasta'. Składnia ADD 'kod' text oznacza, że do tabeli zostanie dodana kolumna o nazwie 'kod', której typ danych to 'text'. Typ danych 'text' jest używany do przechowywania długich ciągów tekstowych, co jest przydatne w przypadku danych takich jak opisy czy komentarze. W praktyce, dodawanie kolumn do tabeli jest często wykorzystywane w procesie rozwoju bazy danych, aby dostosować strukturę do zmieniających się potrzeb aplikacji. W przypadku dodawania kolumn w sposób nieinwazyjny, jak w tym przykładzie, zapewniamy, że istniejące dane nie zostaną utracone, a nowa kolumna będzie dostępna do natychmiastowego użycia. Warto również pamiętać, aby stosować konwencje nazewnictwa, które poprawiają czytelność i zrozumiałość kodu SQL, co jest zalecane w dobrych praktykach projektowania baz danych.
Pytanie 17
W języku SQL, jaki będzie efekt wykonania poniższego zapytania?
ALTER TABLEosobaDROP COLUMNgrupa;
A. Usunięta zostanie kolumna grupa.
Twoja odpowiedź
B. Dodana zostanie kolumna grupa.
C. Zmieniona zostanie nazwa tabeli na grupa.
D. Zmieniona zostanie nazwa kolumny na grupa.
Poprawna odpowiedź. Gratulacje, wybrałeś poprawną odpowiedź. W zaprezentowanym pytaniu skupiliśmy się na instrukcji 'ALTER TABLE' w języku SQL, a dokładniej na jej konkretnej odmianie, tj. 'DROP COLUMN'. Ta instrukcja służy do usunięcia kolumny z istniejącej tabeli. W tym konkretnym przypadku, użyto jej do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Jest to przydatne narzędzie w przypadku, gdy chcemy usunąć dane z bazy bez usuwania całej tabeli. Pamiętaj jednak o skutkach utraty wszystkich danych z tej kolumny. Zawsze warto zrobić backup bazy danych przed taką operacją. Dobrą praktyką jest także sprawdzenie, jakie inne elementy bazy są zależne od usuwanej kolumny, aby uniknąć niespodziewanych problemów.
Pytanie 18
Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest
A. formularz
B. raport
Twoja odpowiedź
C. zestawienie
D. zapytanie
Poprawna odpowiedź. Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.
Pytanie 19
Jakie środowisko jest wymagane do uruchomienia systemu CMS Joomla! (domyślna konfiguracja)?
A. C++ i MySQL
B. Python i MySQL
C. IIS, Perl i MySQL
D. Apache, PHP i MySQL
Twoja odpowiedź
Poprawna odpowiedź. Joomla! w domyślnej konfiguracji to aplikacja PHP korzystająca z bazy MySQL, uruchamiana na serwerze Apache - czyli klasyczny stos Apache + PHP + MySQL (LAMP/WAMP). Dlatego wymagane jest środowisko Apache, PHP i MySQL.
Pytanie 20
ID_Pracownika
Nazwisko
Imię
Stanowisko
Wynagrodzenie
1
Kowalski
Krzysztof
kasjer
3215,76
2
Nowak
Antoni
kierownik
5350,00
3
Zając
Alicja
księgowy
4568,70
4
Król
Witold
kasjer
3045,00
5
Nowik
Grzegorz
kasjer
2750,65
6
Kotulski
Andrzej
kierowca
3467,00
7
Tutka
Katarzyna
kierownik
4935,33
8
Porada
Jakub
magazynier
3321,56
Które zapytanie SQL należy wykonać na tabeli Pracownicy, aby otrzymać średnie wynagrodzenie dla pracownika na stanowisku kasjer?
Poprawna odpowiedź. Poprawne zapytanie to SELECT AVG(Wynagrodzenie) FROM Pracownicy WHERE Stanowisko='kasjer';, bo dokładnie robi to, o co chodzi w treści zadania. Funkcja AVG() w SQL jest standardową funkcją agregującą, która liczy średnią arytmetyczną z wartości liczbowych w danej kolumnie. W tym przypadku kolumna to Wynagrodzenie, czyli kwoty wypłat, a klauzula WHERE Stanowisko='kasjer' zawęża zestaw rekordów tylko do pracowników na stanowisku kasjera. Najpierw więc silnik bazy danych filtruje wiersze (kasjerów), a dopiero potem na tej ograniczonej grupie liczy średnią. To jest bardzo typowy i poprawny schemat pracy z danymi w SQL: najpierw filtrujesz, potem agregujesz. Moim zdaniem warto zauważyć, że taka konstrukcja jest uniwersalna – w praktyce w firmach często liczy się średnie wynagrodzenia dla różnych stanowisk, działów, lokalizacji. Wtedy zmienia się tylko warunek w klauzuli WHERE. Można też pójść krok dalej i użyć GROUP BY, np. SELECT Stanowisko, AVG(Wynagrodzenie) FROM Pracownicy GROUP BY Stanowisko; żeby dostać średnie dla wszystkich stanowisk naraz, co jest wygodne np. w raportach HR. To, co masz w odpowiedzi, to w zasadzie „wersja jednostanowiskowa” takiego raportu. Ważna dobra praktyka: zawsze filtrujemy w klauzuli WHERE, a nie próbujemy wpychać warunków do funkcji agregującej. Dzięki temu zapytanie jest czytelne, zgodne ze standardem SQL i dobrze optymalizowane przez silnik bazy. W realnych projektach staramy się też nadać alias wynikom agregacji, np. SELECT AVG(Wynagrodzenie) AS SredniaKasjera FROM Pracownicy WHERE Stanowisko='kasjer';, żeby w raportach i w kodzie aplikacji od razu było wiadomo, co oznacza zwracana kolumna.
Pytanie 21
W SQL przy użyciu kwerendy ALTER można
A. dodać dane do tabeli
B. stworzyć tabelę
C. zmienić strukturę tabeli
Twoja odpowiedź
D. zlikwidować tabelę
Poprawna odpowiedź. Kwerenda SQL <i>ALTER</i> jest kluczowym narzędziem do modyfikacji istniejących struktur tabel w bazach danych. Umożliwia programistom dostosowanie tabel do zmieniających się wymagań aplikacji lub organizacji. Przykładowo, za pomocą polecenia <i>ALTER TABLE</i> możemy dodać nową kolumnę, usunąć istniejącą, zmienić typ danych kolumny czy również ustawić nowe ograniczenia, takie jak klucze obce. W praktyce, gdy firma rozwija swoje usługi, często zachodzi potrzeba dostosowania struktury bazy danych, co może być realizowane przez odpowiednie kwerendy <i>ALTER</i>. Dobrą praktyką jest również regularne przeglądanie i aktualizowanie struktury bazy danych, aby zapewnić optymalizację wydajności oraz zgodność z wymaganiami biznesowymi. Standard SQL, który definiuje te operacje, jest szeroko używany i uznawany za fundamentalny w pracy z relacyjnymi bazami danych. Znajomość kwerendy <i>ALTER</i> jest zatem niezbędna dla wszystkich, którzy zajmują się administracją baz danych i programowaniem aplikacji opartych na danych.
Pytanie 22Strzał
Aby podczas tworzenia tabeli zdefiniować klucz obcy na wielu kolumnach, należy użyć zapisu:
Niepoprawna odpowiedź. Pozostałe zapisy łamią składnię definicji klucza obcego. W dwóch brakuje listy kolumn zaraz po FOREIGNKEY albo przestawiono słowa kluczowe (FOREIGNREFERENCESKEY zamiast FOREIGNKEY...REFERENCES) - serwer odrzuci je jako błąd. W jeszcze innym po FOREIGNKEY dopisano zbędne ON, którego w tej konstrukcji nie ma. Prawidłowy wielokolumnowy klucz obcy to CONSTRAINTnazwaFOREIGNKEY(kolumny)REFERENCEStabela(kolumny), dlatego to ten zapis jest poprawny.
Pytanie 23Strzał
Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek? $db = mysqli_connect("localhost", "root", "qwerty", "baza1"); if (!$db) { ... }
A. Obsługa błędu połączenia
Poprawna odpowiedź
B. Informacja o udanym połączeniu z bazą
Twoja odpowiedź
C. Obsługa danych uzyskanych z bazy
D. Zamknięcie połączenia z bazą danych
Niepoprawna odpowiedź. Zamknięcie bazy danych w kontekście nieudanego połączenia jest koncepcją, która nie ma sensu. Jeśli połączenie się nie uda, to nie ma nawet nawiązanej sesji, która mogłaby być zamknięta. Połączenie z bazą danych powinno być zamykane tylko w momencie, gdy zostało nawiązane i jest już niepotrzebne, a nie w przypadku, gdy wystąpił błąd w trakcie łączenia. Komunikat o pomyślnym połączeniu także nie ma zastosowania w tej sytuacji, ponieważ, skoro połączenie się nie udało, nie ma podstaw do informowania użytkownika o jego powodzeniu. Obsługa danych pobranych z bazy również nie ma miejsca, jeśli połączenie nie zostało ustanowione, co czyni te odpowiedzi błędnymi. Właściwe podejście w takich sytuacjach to zawsze najpierw sprawdzenie, czy połączenie zostało nawiązane, a następnie działania w przypadku usunięcia błędu. Ignorowanie tej zasady może prowadzić do nieprzewidzianych zachowań aplikacji, a nawet do wycieków danych lub awarii serwerów.
Pytanie 24
W tabeli o nazwie zadania znajduje się kolumna tekstowa status. Jakie zapytanie należy wykorzystać, aby usunąć te rekordy, w których status to ‘zamknięte’?
A.
TRUNCATETABLEzadania;
B.
DELETEFROMzadania;
C.
TRUNCATETABLEzadaniaWHEREstatus='zamknięte';
Twoja odpowiedź
D.
DELETEFROMzadaniaWHEREstatus='zamknięte';
Poprawna odpowiedź
Niepoprawna odpowiedź. Kwerendy 'TRUNCATE TABLE zadania;' i 'TRUNCATE TABLE zadania WHERE status = 'zamknięte';' są nieodpowiednie do rozwiązania przedstawionego problemu. W przypadku użycia 'TRUNCATE TABLE zadania;', następuje całkowite usunięcie wszystkich rekordów z tabeli, co jest nie tylko ryzykowne, ale również niezgodne z wymaganiem usunięcia tylko tych z określonym statusem. Ta operacja nie posiada możliwości ograniczenia działań do konkretnego zestawu danych, dlatego zawsze należy podchodzić do jej użycia z dużą ostrożnością. Dodatkowo, 'TRUNCATE TABLE' jest operacją szybszą od 'DELETE', ale nie można jej stosować z klauzulą WHERE, co sprawia, że 'TRUNCATE TABLE zadania WHERE status = 'zamknięte';' jest syntaktycznie błędne. Praktka używania TRUNCATE jest zalecana, gdy chcemy szybko usunąć wszystkie dane z tabeli, na przykład przed załadowaniem nowych danych, lecz w tym wypadku jest to niewłaściwa strategia. Warto również zauważyć, że podczas usuwania danych z bazy danych, kluczowe jest rozważenie wpływu na relacje między tabelami, integralność danych oraz możliwość ich późniejszej analizy. Używanie DELETE z odpowiednim warunkiem jest bardziej kontrolowane, co jest zgodne z najlepszymi praktykami w tworzeniu i zarządzaniu bazami danych.
Pytanie 25
Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:
A.
INTEGER(11)
B.
ENUM
C.
DECIMAL(10,2)
Twoja odpowiedź
D.
TINYTEXT
Poprawna odpowiedź. Do przechowywania kwot najlepiej nadaje się typ DECIMAL (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla FLOAT/DOUBLE. Zapis DECIMAL(10,2) oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest DECIMAL(10,2).
Pytanie 26
W jaki sposób będzie uporządkowana lista stworzona z wszystkich kolumn tabeli uczniowie, obejmująca uczniów o średniej wyższej niż 5, która zostanie zwrócona jako rezultat przedstawionego zapytania?
SELECT * FROM uczniowie WHEREsrednia > 5 ORDER BY klasa DESC;
A. Rosnaco według parametru srednia
B. Malejąco według parametru srednia
C. Rosnąca według parametru klasa
D. Malejąco według parametru klasa
Twoja odpowiedź
Poprawna odpowiedź. Zapytanie SQL używa klauzuli ORDER BY klasa DESC co oznacza że wyniki będą posortowane malejąco według kolumny klasa Klauzula ORDER BY jest używana w języku SQL do sortowania wyników zapytania Użycie DESC oznacza że sortowanie będzie w porządku malejącym co w praktyce oznacza że najwyższe wartości będą na początku listy a najniższe na końcu To jest przydatne gdy chcemy uzyskać strukturę danych w której najważniejsze lub najbardziej istotne rekordy są prezentowane na samym początku na przykład gdy analizujemy dane w kontekście hierarchicznym lub priorytetowym W tym przypadku sortujemy malejąco według klasy co może być użyteczne na przykład gdy chcemy szybko zidentyfikować uczniów z wyższych klas którzy osiągają wysokie wyniki średnia powyżej 5 Dobre praktyki w SQL zalecają jasne i precyzyjne definiowanie kryteriów sortowania co ułatwia zrozumienie logiki zapytania oraz zapewnia jego przewidywalne działanie Jeśli dane wymagają częstego sortowania warto rozważyć optymalizację poprzez odpowiednie indeksy co może znacząco poprawić wydajność zapytań zwłaszcza w dużych zestawach danych
Pytanie 27
Które polecenie MySQL aktualizuje statystyki tabeli wykorzystywane przez optymalizator zapytań?
A.
ANALYZETABLE
Poprawna odpowiedź
B.
RESTORETABLE
C.
BACKUPTABLE
D.
REPAIRTABLE
Twoja odpowiedź
Niepoprawna odpowiedź. Pozostałe polecenia robią co innego. REPAIRTABLE próbuje naprawić fizycznie uszkodzoną tabelę - to operacja ratunkowa, nie strojenie wydajności. Polecenia w stylu RESTORETABLE czy BACKUPTABLE kojarzą się z kopiami zapasowymi i odtwarzaniem danych, a nie ze statystykami optymalizatora (kopie w MySQL robi się raczej narzędziami typu mysqldump). Przeliczenie statystyk rozkładu danych dla planera zapytań wykonuje ANALYZETABLE, dlatego to ono jest poprawne.
Pytanie 28Strzał
Na ilustracji przedstawiono konfigurację serwera Apache dla środowiska XAMPP. Pod jakim lokalnym adresem jest on dostępny?
A. 127.0.0.1:70
Poprawna odpowiedź
B. htdocs
Twoja odpowiedź
C. localhost:80
D. 192.168.0.1:3306
Niepoprawna odpowiedź. W tym zadaniu kluczowe jest zrozumienie różnicy między katalogiem serwera, adresem IP, nazwą hosta i numerem portu. W XAMPP-ie Apache udostępnia pliki z katalogu „htdocs”, ale ten katalog nie jest adresem, pod który łączy się przeglądarka. To tylko folder w systemie plików, fizyczna lokalizacja plików strony. Adres, którego używamy w pasku URL, zawsze składa się z protokołu (np. http), nazwy hosta lub adresu IP oraz opcjonalnie numeru portu. Dlatego wpisanie samego „htdocs” w przeglądarce nie ma sensu – to nie jest ani host, ani protokół. Częsty błąd polega na myleniu ścieżki na dysku z adresem URL. Kolejna pułapka to założenie, że Apache w XAMPP zawsze działa na domyślnym porcie 80, więc „localhost:80” będzie na pewno poprawny. W teorii HTTP faktycznie używa domyślnie portu 80, ale w praktyce w środowisku deweloperskim bardzo często port jest zmieniany, np. gdy port 80 jest zajęty przez inny proces. Na zrzucie ekranu w kolumnie „Port(s)” wyraźnie widać, że Apache nasłuchuje na porcie 70, więc użycie „localhost:80” wskazywałoby na inny port niż rzeczywiście skonfigurowany. To powoduje brak połączenia lub połączenie z zupełnie inną usługą. Podobnie adres „127.0.0.1:70” jest poprawną kombinacją hosta lokalnego i właściwego portu, ale przykład „127.0.0.1:70” w zadaniu jest właśnie tą właściwą odpowiedzią, a nie jej modyfikacją z innym portem. Z kolei „192.168.0.1:3306” to już zupełnie inna bajka: adres z puli prywatnej sieci LAN i port 3306, który standardowo jest używany przez serwer MySQL, a nie przez serwer WWW Apache. Taki adres może wskazywać na bazę danych, do której łączy się aplikacja, ale nie jest to adres, pod który użytkownik wchodzi w przeglądarce, żeby zobaczyć stronę. Typowy błąd myślowy polega tutaj na mieszaniu pojęć: katalogu dokumentów, portu HTTP, portu MySQL oraz lokalnego adresu IP. Dobra praktyka jest taka, żeby zawsze patrzeć w panelu XAMPP konkretnie na kolumnę „Port(s)” przy module Apache i na tej podstawie budować URL, np. http://127.0.0.1:port lub http://localhost:port. Dzięki temu unikasz zgadywania i szybko wychwytujesz, czy problem leży w złym porcie, czy gdzie indziej.
Pytanie 29
Tabela odlotów zawiera dane przedstawione w tabeli. Wykonanie zapytania SQL spowoduje zwrócenie informacji:
SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%';
id
samoloty_id
nr_rejsu
kierunek
czas
dzien
status_lotu
1
1
FR1646
Neapol
09:20:00
2019-07-25
wystartowal
2
1
FR1327
ALICANTE
09:10:00
2019-07-25
Opóźniony 10 min
3
2
W63425
Warszawa
09:45:00
2019-07-25
odprawa
4
3
LX5647
Londyn LT
10:03:00
2019-07-25
odprawa
5
3
LX5673
Malta
10:06:00
2019-07-25
opoznienie 20 min
6
3
LX5622
Wieden
10:13:00
2019-07-25
7
4
LH9821
Berlin
10:16:00
2019-07-25
8
4
LH9888
Hamburg
10:19:00
2019-07-25
A. 4; 5; 6; 7; 8
B. zbiór pusty
C. 5; 8
Twoja odpowiedź
D. 3; 5; 8
Poprawna odpowiedź. Zapytanie SQL SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%' używa dwóch warunków w klauzuli WHERE. Pierwszy warunek samoloty_id > 2 filtruje rekordy, których pole samoloty_id jest większe niż 2. Drugi warunek kierunek LIKE '_a%' szuka w kolumnie kierunek ciągów znaków, które mają literę 'a' jako drugi znak, co jest osiągane przez użycie znaku podkreślenia '_' jako symbolu jednego dowolnego znaku. Operator LIKE pozwala na dopasowanie wzorca z użyciem symboli wieloznacznych, co jest przydatne w sytuacjach, gdy potrzebujemy znaleźć dane na podstawie częściowego dopasowania tekstu. Zastosowanie wzorca '_a%' oznacza, że szukamy tylko takich wartości, które mają co najmniej dwa znaki, a drugim znakiem musi być 'a'. W tabeli odloty, rekordy spełniające oba te warunki to rekordy 5 i 8, ponieważ ich pole samoloty_id jest odpowiednio 3 i 4 (czyli większe niż 2), a pole kierunek to odpowiednio Malta i Hamburg, które pasują do wzorca '_a%' gdzie 'M' i 'H' to odpowiednio pierwszy znak. Praktyczne zastosowanie takich zapytań SQL pozwala na efektywne przeszukiwanie baz danych pod kątem specyficznych potrzeb użytkownika, co ma kluczowe znaczenie w zarządzaniu informacjami w dużych systemach.
Pytanie 30
Na przedstawionej tabeli samochody wykonano zapytanie SQL. Jakie wartości zostaną zwrócone w jego wyniku?
id
marka
model
rocznik
kolor
stan
1
Fiat
Punto
2016
czerwony
bardzo dobry
2
Fiat
Punto
2002
czerwony
dobry
3
Fiat
Punto
2007
niebieski
bardzo bobry
4
Opel
Corsa
2016
grafitowy
bardzo dobry
5
Opel
Astra
2003
niebieski
porysowany lakier
6
Toyota
Corolla
2016
czerwony
bardzo dobry
7
Toyota
Corolla
2014
szary
dobry
8
Toyota
Yaris
2004
granatowy
dobry
SELECTmodelFROMsamochodyWHERErocznik=2016;
A. Czerwony, grafitowy
B. Punto, Corsa, Astra, Corolla, Yaris
C. Punto, Corsa, Corolla
Twoja odpowiedź
D. Fiat, Opel, Toyota
Poprawna odpowiedź. Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.
Pytanie 31
Czym jest odpowiednik encji w relacyjnej bazie danych?
A. wiersz
B. atrybut
Twoja odpowiedź
C. tabela
Poprawna odpowiedź
D. kolumna
Niepoprawna odpowiedź. Pozostałe pojęcia to mniejsze elementy. Wiersz (krotka) to pojedynczy egzemplarz encji, a nie cała encja. Kolumna i atrybut opisują pojedynczą cechę. Całej encji odpowiada tabela.
Pytanie 32Strzał
Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?
A. Wartość domyślną
B. Maskę wprowadzania
Poprawna odpowiedź
C. Regułę sprawdzania poprawności
D. Tagi inteligentne
Twoja odpowiedź
Niepoprawna odpowiedź. Tagi inteligentne są narzędziem umożliwiającym szybki dostęp do dodatkowych funkcji lub opcji związanych z danymi w polu. Nie mają jednak zdolności do ograniczania samej zawartości pola w kontekście dozwolonych znaków. Ich rola jest raczej wspomagająca użytkownika poprzez dodawanie kontekstowych opcji, ale nie dotyczą bezpośrednio walidacji danych. Wartość domyślna to z kolei predefiniowana wartość, jaką pole przyjmuje w momencie tworzenia nowego rekordu, jednak nie wpływa na to, jakie dane użytkownik może wprowadzić. Jest użyteczna do ułatwienia tworzenia danych, ale nie służy do ograniczania formatu wprowadzanych danych. Chociaż reguła sprawdzania poprawności może być stosowana do określania, jakie dane są uznawane za poprawne, jej główną rolą jest weryfikacja już wprowadzonych danych, a nie ich formatowanie w trakcie wprowadzania. Reguły te mogą informować o błędach po wprowadzeniu danych, lecz nie zapobiegają samemu wprowadzaniu błędnych danych. Wiele osób może mylnie sądzić, że reguła sprawdzania poprawności i maska wprowadzania pełnią podobne funkcje, jednak maska działa na poziomie interfejsu wprowadzania, wymuszając określony format w czasie rzeczywistym, podczas gdy reguła działa retrospektywnie. Zrozumienie tych różnic pozwala na odpowiednie zastosowanie tych narzędzi w projektowaniu baz danych, co skutkuje lepszym zarządzaniem jakością danych oraz zwiększeniem intuicyjności interfejsu użytkownika. Stosowanie masek wprowadzania jest szczególnie korzystne w kontekście aplikacji z dużą ilością danych liczbowych, gdzie precyzja jest kluczowa, a reguły poprawności lepiej sprawdzają się w kontekście logicznych zależności pomiędzy polami danych. To rozróżnienie jest kluczowe dla osiągnięcia wysokiej jakości danych i łatwej obsługi w systemach informatycznych.
Pytanie 33Strzał
Który plik konfiguracyjny pozwala ustawić parametry PHP dla całego serwera?
A.
config.inc.php
Twoja odpowiedź
B.
php.ini
Poprawna odpowiedź
C.
my.ini
D.
httpd.conf
Niepoprawna odpowiedź. Pozostałe pliki konfigurują inne oprogramowanie. my.ini to plik ustawień serwera bazodanowego MySQL (w systemach Windows), niezwiązany z PHP. httpd.conf to główna konfiguracja serwera WWW Apache - steruje samym serwerem, a nie interpreterem PHP. config.inc.php to plik konfiguracyjny konkretnej aplikacji napisanej w PHP (np. phpMyAdmin), a nie globalnych ustawień języka. Parametry PHP dla całego serwera ustawia php.ini, dlatego ta odpowiedź jest poprawna.
Pytanie 34Strzał
Jakie jest zadanie funkcji PHP o nazwie mysql_num_rows()?
A. zwrócić liczbę wierszy znajdujących się w wyniku zapytania
Twoja odpowiedź
B. ponumerować rekordy w bazie danych
C. zwrócić następny rekord z wynikami zapytania
D. zwrócić rekord o numerze podanym jako parametr funkcji
Poprawna odpowiedź. Funkcja mysql_num_rows() w PHP jest używana do zwracania liczby wierszy w wyniku zapytania SQL, co jest kluczowe w pracy z danymi w bazach danych. Gdy wykonujemy zapytanie, na przykład za pomocą mysql_query(), otrzymujemy wynik w formie zasobu. Funkcja mysql_num_rows() pozwala na określenie, ile wierszy zostało zwróconych przez to zapytanie. To jest szczególnie przydatne w sytuacjach, gdy chcemy wiedzieć, czy dane istnieją, na przykład w aplikacjach webowych, gdzie użytkownik szuka określonych informacji. Oznacza to, że możemy dostosować logikę naszej aplikacji na podstawie liczby wyników. Ponadto, korzystając z tej funkcji, możemy monitorować i optymalizować zapytania, co jest zgodne z najlepszymi praktykami w zakresie wydajności i zarządzania bazami danych. Warto również zauważyć, że mysql_num_rows() działa w kontekście wywołania do bazy danych, co oznacza, że musi być używana w kontekście zasobu wynikowego, aby działać poprawnie.
Pytanie 35
Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?
SELECT AVG(ocena) FROM uczniowie;
Nazwisko
Imie
ocena
Kowalski
Sebastian
4
Kaczmarek
Marta
3
Baryła
Zenon
4
Gota
Anna
3
A. Liczba wierszy równa 4
B. Dane 4, 3, 4, 3
C. Wartość 3.5
Twoja odpowiedź
D. Suma ocen równa 14
Poprawna odpowiedź. Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.
Pytanie 36
W pliku konfiguracyjnym serwera Apache httpd.conf linia kodu Listen 120 oznacza
A. numer portu, na którym nasłuchuje serwer.
Twoja odpowiedź
B. czwarty oktet adresu IP serwera.
C. jeden z numerów kodu błędu odpowiedzi HTTP.
D. maksymalną liczbę jednoczesnych połączeń z sieci do serwera.
Poprawna odpowiedź. Wpis „Listen 120” w pliku httpd.conf informuje serwer Apache, na jakim porcie ma nasłuchiwać przychodzących połączeń TCP. W praktyce oznacza to: jeżeli ktoś wchodzi na serwer, to ich przeglądarka łączy się z adresem IP serwera właśnie na ten numer portu. Standardowo HTTP działa na porcie 80, HTTPS na 443, ale w konfiguracji można ustawić dowolny inny port, np. 8080, 8000 czy właśnie 120. Dzięki dyrektywie Listen Apache „wiąże się” (binduje) z wybranym portem i zaczyna tam czekać na żądania HTTP. To jest podstawowy element konfiguracji warstwy sieciowej serwera WWW. W środowiskach produkcyjnych najczęściej stosuje się Listen 80 i Listen 443, czasem dodatkowe porty dla paneli administracyjnych, środowisk testowych albo aplikacji działających równolegle. Warto też wiedzieć, że można podać razem adres IP i port, np. Listen 192.168.0.10:80, wtedy Apache nasłuchuje tylko na konkretnym interfejsie sieciowym, co jest dobrą praktyką bezpieczeństwa, bo ogranicza ekspozycję usług. W nowoczesnych konfiguracjach często występuje kilka dyrektyw Listen, gdy serwer obsługuje wiele adresów IP lub protokołów. Z mojego doświadczenia porządek w portach i świadome używanie Listen bardzo ułatwia diagnostykę problemów typu „serwer nie odpowiada” czy konflikty z innymi usługami (np. innym serwerem WWW albo kontenerem Docker) działającymi na tej samej maszynie.
Pytanie 37Strzał
Na czym polega parkowanie domeny?
A. na dodaniu rekordu CNAME (aliasu) dla domeny
Twoja odpowiedź
B. na zmianie właściciela domeny (cesji)
C. na zakupie (rejestracji) nowej domeny
D. na utworzeniu strefy DNS domeny i wskazaniu serwerów nazw
Poprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe odpowiedzi opisują inne czynności związane z domeną. Zakup (rejestracja) domeny to nabycie prawa do nazwy w danym rejestrze - pierwszy krok, ale jeszcze nie parkowanie. Dodanie rekordu CNAME to konkretna operacja na DNS (alias jednej nazwy na drugą), a nie całościowe skonfigurowanie domeny. Zmiana właściciela (cesja) to przeniesienie praw do domeny na inny podmiot. Parkowanie polega na ustawieniu strefy DNS i wskazaniu serwerów nazw, dlatego ta odpowiedź jest poprawna.
Pytanie 38Strzał
Co oznacza termin „upload” danych?
A. trasę transferu pliku
B. pobieranie plików z serwera
C. przesyłanie plików na serwer
Twoja odpowiedź
D. opóźnienie w transmisji pliku
Poprawna odpowiedź. Termin „upload” oznacza PRZESYŁANIE plików z komputera użytkownika NA serwer - np. wgranie zdjęcia czy plików witryny przez FTP. To kierunek „w górę”, do serwera. Dlatego upload to przesyłanie plików na serwer.
Pytanie 39
Jakie są przykłady standardowych poleceń w języku zapytań SQL, odnoszących się do operacji na danych SQL DML, takich jak wstawianie, usuwanie oraz modyfikacja danych?
A.
DELETE,INSERT,UPDATE
Twoja odpowiedź
B.
SELECT,SELECTINTO
C.
DENY,GRANT,REVOKE
D.
ALTER,CREATE,DROP
Poprawna odpowiedź. Poprawna odpowiedź to DELETE, INSERT, UPDATE, które są podstawowymi poleceniami w języku SQL dla operacji manipulacji danymi (DML, Data Manipulation Language). Polecenie INSERT służy do dodawania nowych rekordów do tabeli, na przykład: 'INSERT INTO pracownicy (imie, nazwisko) VALUES ('Jan', 'Kowalski');'. DELETE umożliwia usunięcie istniejących danych, co można zrealizować poprzez 'DELETE FROM pracownicy WHERE nazwisko = 'Kowalski';', co kasuje rekordy spełniające określony warunek. Natomiast UPDATE pozwala na modyfikację danych w tabeli, na przykład: 'UPDATE pracownicy SET imie = 'Anna' WHERE nazwisko = 'Kowalski';'. Te instrukcje są zgodne z międzynarodowymi standardami SQL i są kluczowe w codziennym zarządzaniu bazami danych, umożliwiając efektywne manipulowanie danymi w różnych systemach zarządzania bazami danych, takich jak MySQL, PostgreSQL czy Microsoft SQL Server.
Pytanie 40Strzał
Przykład zapytania SQL przedstawia instrukcję:
UPDATEkatalogSETkatalog.cena= [cena]*1.1;
A. aktualizującej
Twoja odpowiedź
B. dołączającej
C. krzyżowej
D. usuwającej
Poprawna odpowiedź. Instrukcja SQL przedstawiona w pytaniu używa słowa kluczowego UPDATE co jest charakterystyczne dla kwerend aktualizujących. Komenda ta modyfikuje istniejące dane w tabeli poprawiając je zgodnie z podanymi kryteriami. W tym przykładzie wszystkie wartości w kolumnie cena tabeli katalog są zwiększane o 10 procent co jest typowym zastosowaniem instrukcji aktualizującej. W praktyce takie zmiany są niezbędne w przypadku modyfikacji cen produktów lub aktualizacji informacji biznesowych. Stosowanie kwerend aktualizujących wymaga zachowania szczególnej ostrożności aby nie naruszyć integralności danych. Dobre praktyki obejmują przygotowanie backupu danych przed wykonaniem operacji oraz przetestowanie kwerendy na mniejszym zbiorze danych w celu uniknięcia błędów. Aktualizacja danych to jedna z najczęstszych operacji w systemach bazodanowych dlatego zrozumienie mechanizmu działania kwerend SQL tego typu jest kluczowe dla efektywnego zarządzania danymi w każdej organizacji. SQL jako język deklaratywny umożliwia łatwe definiowanie co chcemy osiągnąć bez konieczności szczegółowego opisywania jak to zrobić co ułatwia pracę z dużymi i złożonymi zbiorami danych.