Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 08:09
  • Data zakończenia: 8 czerwca 2026 08:25

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Które wartości będą przechowywane w zmiennych po wykonaniu przedstawionej pętli języka PHP?

$i = 20;    $a = 0;
while($i) {
  $a += 2;
  $i--;
}
A. a = 0, i = 20
B. a = 40, i = 20
C. a = 40, i = 0
D. a = 20, i = 20
Zrozumienie, jak działa pętla w języku PHP, jest kluczowe do efektywnej pracy z tym językiem. Błędne odpowiedzi sugerują niezrozumienie, jak zmienne są aktualizowane i przechowywane w pętli. Można pomylić, że wartość 'a' będzie wynosić 0 lub 20, jeżeli nie zauważymy, że wartość 'a' jest zwiększana o 2 w każdej iteracji pętli. Podobnie, można pomylić, że wartość 'i' pozostanie na 20, jeśli nie zrozumie się, że 'i' jest zmniejszane o 1 w każdej iteracji pętli, aż osiągnie wartość 0, co kończy pętlę. To jest typowy błąd, który można zrobić, jeżeli nie zwróci się uwagi na szczegóły operacji wykonywanych w pętli. Przypomnijmy, że zrozumienie, jak działa pętla, jest kluczowe do tworzenia efektywnych i wydajnych programów w PHP i w każdym języku programowania.

Pytanie 2

W PHP zmienna typu float może przyjmować wartości

A. logiczne.
B. nieliczbowe.
C. zmiennoprzecinkowe.
D. jedynie całkowite.
Odpowiedź 'zmiennoprzecinkowe' jest poprawna, ponieważ w języku PHP zmienne typu float służą do przechowywania liczb rzeczywistych, które mogą mieć część dziesiętną. W PHP typ float jest bardzo przydatny w wielu zastosowaniach, takich jak obliczenia finansowe, naukowe czy inżynieryjne, gdzie dokładność pomiarów ma kluczowe znaczenie. Przykładem może być obliczanie wartości procentowych, średnich czy skomplikowanych operacji matematycznych, w których konieczne jest uwzględnienie wartości dziesiętnych. W praktyce, aby zadeklarować zmienną typu float, wystarczy przypisać jej wartość z częścią dziesiętną, na przykład: $cena = 19.99; Warto pamiętać, że w PHP zmienne typu float mogą być nieco niedokładne na skutek sposobu przechowywania liczb w pamięci komputera, co może prowadzić do błędów zaokrągleń, dlatego w krytycznych obliczeniach zaleca się stosowanie typów precyzyjnych lub bibliotek do obliczeń matematycznych.

Pytanie 3

Jaki typ relacji powstaje, gdy połączymy dwie tabele przez ich KLUCZE GŁÓWNE?

A. jeden do jednego
B. wiele do jednego
C. wiele do wielu
D. jeden do wielu
Gdy dwie tabele łączymy przez ich KLUCZE GŁÓWNE (oba unikalne), każdemu rekordowi jednej odpowiada dokładnie jeden rekord drugiej - to relacja JEDEN DO JEDNEGO (1:1). Stosuje się ją np. do rozdzielenia rzadko używanych pól. Zapamiętaj: dwa klucze główne naprzeciw siebie = 1:1.

Pytanie 4

W posiadanej tabeli zwanej przedmioty, która zawiera kolumny ocena oraz uczenID, aby wyliczyć średnią ocen dla ucznia z ID równym 7, należy użyć zapytania

A. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7
C. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7
D. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7
Odpowiedź 'SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;' jest poprawna, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią ocen dla wszystkich wpisów w tabeli 'przedmioty', gdzie 'uczenID' jest równy 7. W SQL funkcje agregujące są niezwykle przydatne do analizy danych, pozwalając na uzyskanie statystyk dotyczących zbiorów danych. Użycie klauzuli WHERE pozwala na filtrowanie danych do tych, które dotyczą konkretnego ucznia, co jest zgodne z najlepszymi praktykami w zakresie zarządzania danymi. Na przykład, w praktycznych zastosowaniach, może to być użyte do generowania raportów dotyczących wyników ucznia w określonym przedziale czasowym lub w porównaniu do innych uczniów. Warto również zauważyć, że poprawna konstrukcja zapytania SQL jest kluczowa dla utrzymania integralności i wydajności bazy danych, co podkreśla znaczenie płynnego zapisu zapytań. Takie umiejętności są nieocenione w pracy z bazami danych oraz w kontekście analizy danych w różnych dziedzinach.

Pytanie 5

Jakie kolory wchodzą w skład modelu barw CMYK?

A. cyjan, magenta, żółty i karmazyn
B. czerwony, zielony, niebieski i kanał alfa
C. cyjan, magenta, żółty i czarny
D. czerwony, zielony i niebieski
Model CMYK tworzą cztery składowe: cyan (niebieskozielony), magenta (purpurowy), yellow (żółty) i black (czarny, oznaczany K). Stosuje się go w druku. Dlatego CMYK to cyjan, magenta, żółty i czarny.

Pytanie 6

W bazie danych znajduje się tabela o nazwie pracownicy z kolumnami: nazwisko, imię, pensja, wiek. Jak powinna wyglądać składnia polecenia do obliczenia średniej pensji pracowników?

A. select VAR (pensja) from nazwisko
B. select AVG (nazwisko) into pensja
C. select VAR (pracownicy) into pensja
D. select AVG (pensja) from pracownicy
Poprawna odpowiedź, czyli polecenie 'select AVG (pensja) from pracownicy', wykorzystuje funkcję agregującą AVG, która jest standardowo stosowana w SQL do obliczania średniej wartości w kolumnie. W tym przypadku, polecenie to oblicza średnią pensję pracowników zapisanych w tabeli 'pracownicy'. Użycie funkcji AVG jest zgodne z dobrymi praktykami SQL, które zalecają stosowanie odpowiednich funkcji agregujących w celu efektywnego przetwarzania danych. Wartości w kolumnie 'pensja' są analizowane, a wynik zwraca jedną wartość — średnią pensję, co jest niezwykle użyteczne w kontekście raportowania czy analizy wynagrodzeń. Przykładowo, jeśli tabela zawiera pensje 3000, 4000 i 5000, funkcja AVG zwróci 4000. Tego rodzaju zapytania są powszechnie stosowane w raportach kadrowych oraz podczas analizy budżetu w organizacjach, co czyni je niezbędnym elementem wiedzy dla analityków danych oraz programistów baz danych.

Pytanie 7

Aby umożliwić wybór kilku opcji jednocześnie w rozwijanej liście formularza HTML, należy dodać atrybut do znacznika select

Ilustracja do pytania
A. size
B. disabled
C. multiple
D. value
Atrybut multiple w znaczniku select w HTML to super sprawa, bo dzięki niemu można zaznaczyć więcej niż jedną opcję z listy rozwijalnej. To się przydaje, jak ktoś musi wybrać kilka elementów w formularzu. Jak dodasz atrybut multiple, to przeglądarka pokazuje to jako pole do wyboru, gdzie można klikać na kilka wartości za pomocą klawiszy Ctrl albo Shift. Fajnie, że ten atrybut nie wymaga żadnych dodatkowych wartości, wystarczy, że go wrzucisz do znacznika select. To zgodne z dobrymi praktykami UX, bo pozwala na większą elastyczność i interaktywność formularzy. Co więcej, nie trzeba być programistycznym guru, żeby to wdrożyć, więc każdy może to zrobić. Używa się go w różnych aplikacjach webowych, zwłaszcza tam, gdzie zbieranie danych od użytkowników w prosty i przejrzysty sposób jest ważne.

Pytanie 8

Jakie zadania programistyczne mogą być realizowane wyłącznie po stronie klienta w przeglądarce?

A. Bezpieczne wyświetlenie spersonalizowanej treści strony na podstawie uprawnień użytkownika aplikacji
B. Weryfikacja danych wprowadzanych do pola tekstowego w czasie rzeczywistym
C. Zapis danych z formularza w bazie danych związanej z aplikacją internetową
D. Weryfikacja hasła użytkownika w bazie danych powiązanej z aplikacją internetową
Wszystkie pozostałe zadania wymagają interakcji z serwerem, co czyni je niewykonalnymi po stronie klienta. Bezpieczne wyświetlenie personalizowanej zawartości strony zgodnie z prawami użytkownika aplikacji wiąże się z koniecznością weryfikacji danych na serwerze. Ta operacja wymaga zrozumienia roli serwera w kontekście bezpieczeństwa i autoryzacji, ponieważ każdy użytkownik może mieć różne uprawnienia do przeglądania zawartości. Zapisanie danych pobranych z formularza w bazie danych również odbywa się po stronie serwera, gdzie następuje walidacja i przetwarzanie danych. Bazy danych są złożonymi systemami, które zapewniają integralność i bezpieczeństwo, a ich użycie wymaga odpowiednich zapytań SQL, które są wykonywane na serwerze. Podobnie, sprawdzenie hasła użytkownika w bazie danych wymaga komunikacji z serwerem, gdzie hasło jest porównywane z zapisanym hasłem w sposób bezpieczny, zazwyczaj poprzez haszowanie. To podejście jest zgodne z najlepszymi praktykami w zakresie bezpieczeństwa aplikacji webowych, a wszelkie operacje dotyczące integralności danych powinny być wykonywane w środowisku serwerowym, aby zapobiec potencjalnym atakom, takim jak SQL Injection. Właściwe zrozumienie rozróżnienia między operacjami po stronie klienta i serwera jest kluczowe dla tworzenia wydajnych, bezpiecznych aplikacji internetowych.

Pytanie 9

Które polecenie nadaje użytkownikowi uczen najniższe uprawnienia (najmniejszą możliwość modyfikacji danych i struktury)?

A.
GRANT DROP ON szkola.przedmioty TO uczen;
B.
GRANT ALTER, SELECT ON szkola.przedmioty TO uczen;
C.
GRANT SELECT ON szkola.przedmioty TO uczen;
D.
GRANT INSERT, DROP ON szkola.przedmioty TO uczen;
Najmniej ingerujące prawo to samo CZYTANIE danych - GRANT SELECT ON szkola.przedmioty TO uczen; pozwala tylko odczytywać tabelę, bez modyfikacji danych i struktury. Dlatego najniższe uprawnienia daje GRANT SELECT.

Pytanie 10

W tabeli pracownicy (kolumny: nazwisko, imie, pensja, wiek) chcemy obliczyć średnią pensję. Które zapytanie jest poprawne?

A.
SELECT AVG(nazwisko) FROM pracownicy
B.
SELECT AVG(pensja) FROM pracownicy
C.
SELECT VAR(pensja) FROM nazwisko
D.
SELECT VAR(pracownicy) INTO pensja
Średnią wartość z kolumny liczy funkcja agregująca AVG, której podaje się nazwę kolumny liczbowej, a po FROM - nazwę tabeli. Aby uzyskać średnią pensję, zapisuje się SELECT AVG(pensja) FROM pracownicy. Dlatego to zapytanie jest poprawne.

Pytanie 11

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
B. SELECT, SELECT INTO
C. DENY, GRANT, REVOKE
D. ALTER, CREATE, DROP
Wybór innych odpowiedzi nie jest poprawny, ponieważ skupiają się na różnych aspektach zarządzania bazami danych. Polecenia typu ALTER, CREATE i DROP są związane z definicją danych (DDL, Data Definition Language). ALTER umożliwia modyfikację struktury tabeli, na przykład dodawanie nowych kolumn, natomiast CREATE jest używane do tworzenia nowych obiektów w bazie danych, takich jak tabele czy widoki. DROP z kolei służy do usuwania tych obiektów. Te polecenia są fundamentalne dla zarządzania strukturą bazy, ale nie dotyczą bezpośrednio operacji na danych. Inna grupa poleceń, takich jak DENY, GRANT i REVOKE, odnosi się do zarządzania uprawnieniami użytkowników w systemie baz danych, co jest istotne dla bezpieczeństwa, ale nie wpływa na manipulację danymi. Te polecenia kontrolują, kto ma dostęp do jakich danych, co jest kluczowe w kontekście bezpieczeństwa, ale nie są one używane do wprowadzania, usuwania czy aktualizacji danych w tabelach. Dlatego te zestawy poleceń, mimo że są istotne w kontekście zarządzania bazami danych, nie odpowiadają na pytanie dotyczące operacji na danych w kontekście DML.

Pytanie 12

Strona internetowa została zaprezentowana w taki sposób:

Rozdział 1

tekst

Podrozdział 1.1

tekst

Podrozdział 1.2

Jakie są poprawne znaczniki do tego formatu?
A. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
B. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
C. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
D. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
Odpowiedź zawierająca znaczniki <h1>, <p> oraz <h2> jest poprawna, ponieważ odzwierciedla właściwą strukturę dokumentu HTML. Znaczniki nagłówków <h1> i <h2> są kluczowe dla hierarchii treści na stronie, co ma istotne znaczenie z punktu widzenia SEO oraz dostępności. Właściwe stosowanie tych znaczników wpływa na to, jak wyszukiwarki indeksują zawartość strony, a także ułatwia nawigację osobom korzystającym z urządzeń asystujących. Na przykład, znacznik <h1> powinien być używany raz na stronę, aby wskazać główny temat, podczas gdy <h2> może być stosowany do podziału treści na sekcje. Dodatkowo, znaczniki <p> są przeznaczone do wyświetlania akapitów tekstu, co jest standardową praktyką w tworzeniu treści webowych. Warto również pamiętać o zachowaniu odpowiednich zasad semantyki HTML, co bezpośrednio przekłada się na poprawę doświadczeń użytkowników oraz wydajność strony.

Pytanie 13

Która para znaczników HTML daje (bez stylów CSS) taki sam efekt wizualny - pogrubienie tekstu?

A. <meta> i <title>
B. <b> i <big>
C. <p> i <h2>
D. <b> i <strong>
Znaczniki <b> i <strong> domyślnie dają ten sam efekt wizualny - pogrubienie tekstu. Różnią się jednak znaczeniem (semantyką): <b> to czysto wizualne pogrubienie, a <strong> oznacza treść WAŻNĄ, co wykorzystują m.in. czytniki ekranu i wyszukiwarki. Podobna para to <i> i <em> (pochylenie). Dlatego wizualnie identyczny efekt daje para <b> i <strong>.

Pytanie 14

Tabela góry, której fragment został pokazany, obejmuje polskie pasma górskie oraz ich szczyty. Podaj kwerendę obliczającą dla każdego pasma górskiego średnią wysokość szczytów.

A. SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo
B. SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo
C. SELECT pasmo, AVG(wysokosc) FROM gory GROUP BY pasmo
D. SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo
Niestety, wybrana przez Ciebie odpowiedź jest błędna. Przyjrzyjmy się bliżej wszystkim niepoprawnym odpowiedziom. W odpowiedzi 'SELECT pasmo, AVG(wysokosc) FROM gory LIMIT pasmo;' użyto niepoprawnie klauzuli LIMIT. Klauzula LIMIT w SQL jest wykorzystywana do ograniczenia liczby zwracanych wierszy, a nie do grupowania wyników. W zapytaniu 'SELECT pasmo, COUNT(wysokosc) FROM gory ORDER BY pasmo;' użyto funkcji COUNT() zamiast AVG(). Funkcja COUNT() zlicza liczbę wartości, a nie oblicza ich średniej. Dodatkowo, zamiast grupowania wyników klauzulą GROUP BY, użyto klauzuli ORDER BY, która służy do sortowania wyników, a nie grupowania. Ostatnia błędna odpowiedź 'SELECT pasmo, SUM(wysokosc) FROM gory GROUP BY pasmo;' używa funkcji SUM() zamiast AVG(). Funkcja SUM() oblicza sumę wartości, a nie ich średnią. Klauzula GROUP BY jest poprawnie użyta do grupowania wyników. Pamiętaj, że wybór odpowiedniej funkcji agregującej i klauzuli jest kluczowy dla uzyskania prawidłowych wyników zapytania SQL.

Pytanie 15

Instrukcja użytkownika aplikacji nie powinna zawierać

A. opisu zastosowanych algorytmów.
B. wymagań sprzętowych.
C. sposobu działania poszczególnych komponentów.
D. opisu instalacji programu.
Poprawnie – instrukcja użytkownika aplikacji nie powinna zawierać opisu zastosowanych algorytmów. Dokument „dla użytkownika” ma jedno główne zadanie: w prosty sposób pokazać, jak korzystać z programu, a nie jak jest on zbudowany w środku. Algorytmy, struktury danych, złożoność obliczeniowa, szczegóły implementacyjne – to jest domena dokumentacji technicznej, przeznaczonej dla programistów, architektów systemów czy osób rozwijających oprogramowanie. Z punktu widzenia zwykłego użytkownika ważne jest raczej: na jakim sprzęcie aplikacja pójdzie, jak ją zainstalować, jak uruchomić konkretną funkcję i co zrobić, gdy coś nie działa. Moim zdaniem wrzucanie do instrukcji opisów algorytmów szkodzi na dwóch poziomach. Po pierwsze, zaciemnia obraz – użytkownik musi przebijać się przez techniczne treści, których i tak nie wykorzysta, zamiast skupić się na krokach „kliknij tu, wybierz to, zapisz”. Po drugie, z punktu widzenia bezpieczeństwa i ochrony własności intelektualnej firmy, zbyt szczegółowe ujawnianie algorytmów w publicznej instrukcji nie jest najlepszą praktyką. Standardem branżowym jest rozdzielenie dokumentacji na: user guide (instrukcja użytkownika), admin guide (dla administratorów), developer/technical documentation (dla twórców i integratorów). W user guide opisujemy np. wymagania sprzętowe (system operacyjny, ilość RAM, miejsce na dysku), sposób instalacji (krok po kroku, zrzuty ekranu), oraz działanie funkcji z punktu widzenia użytkownika („ten przycisk eksportuje dane do PDF”). Natomiast algorytmy sortowania, szyfrowania, kompresji czy przetwarzania danych trafiają do dokumentów technicznych, specyfikacji lub repozytorium kodu. W praktyce, jeśli użytkownik musi znać algorytm, żeby użyć programu, to znaczy, że interfejs jest po prostu źle zaprojektowany.

Pytanie 16

Wybierz prawidłowy sposób umieszczania komentarzy w kodzie źródłowym HTML

A. <!-- informacje komentarza -->
B. /* informacje komentarza */
C. "" informacje komentarza ""
D. -- informacje komentarza --
Poprawny komentarz w HTML musi być zapisany dokładnie w formie: <!-- treść komentarza -->. To jest jedyny format zgodny ze specyfikacją HTML (HTML5, ale też starsze wersje). Przeglądarka traktuje wszystko, co znajduje się między ciągiem znaków <!-- a -->, jako komentarz, czyli tego nie wyświetla użytkownikowi i nie interpretuje jako kod. Dzięki temu można w kodzie zostawiać sobie uwagi, opisy sekcji, tymczasowo coś „wyłączyć” albo oznaczyć fragment do późniejszej edycji. W praktyce stosuje się np.: <!-- Nawigacja główna strony --> albo <!-- TODO: dodać link do panelu logowania -->. Moim zdaniem komentarze są szczególnie ważne w większych projektach, bo po miesiącu naprawdę trudno pamiętać, po co była jakaś dziwna konstrukcja w HTML. Warto też wiedzieć, że w HTML nie stosujemy ani //, ani /* */ jak w JavaScript czy CSS. To są inne języki, inne reguły. Jeżeli wstawisz coś w stylu <!-- <p>Tekst</p> -->, to cały ten akapit jest ignorowany przez przeglądarkę, co jest wygodne przy testowaniu. Dobra praktyka jest też taka, żeby nie przesadzać z ilością komentarzy, ale tam gdzie struktura jest mniej oczywista (np. zagnieżdżone divy, rozbudowane formularze), lepiej dodać krótki, konkretny opis. W projektach komercyjnych często używa się komentarzy do oznaczania sekcji layoutu, np. <!-- HEADER START -->, <!-- FOOTER END -->, co ułatwia pracę całemu zespołowi. W skrócie: tylko zapis z nawiasami ostrymi i myślnikami, czyli <!-- ... -->, jest w HTML prawidłowy i rozpoznawany jako komentarz.

Pytanie 17

W ramce przedstawiono właściwości pliku graficznego:

Wymiary:4272 x 2848px
Rozdzielczość:72 dpi
Format:JPG
W celu optymalizacji czasu ładowania rysunku na stronę WWW należy:
A. zmienić proporcje szerokości do wysokości.
B. zmienić format grafiki na CDR.
C. zwiększyć rozdzielczość.
D. zmniejszyć wymiary rysunku.
Wybór niepoprawnej odpowiedzi wskazuje na nieporozumienie dotyczące optymalizacji czasu ładowania obrazów na stronie WWW. Zmiana formatu grafiki na CDR, zwiększenie rozdzielczości oraz zmiana proporcji szerokości do wysokości nie prowadzą do optymalizacji czasu ładowania. Format CDR jest specyficznym formatem firmy Corel i nie jest standardowo używany do obrazów internetowych. Zwiększenie rozdzielczości zwiększyłoby rozmiar pliku i tym samym spowolniłoby ładowanie strony, co jest przeciwne do zamierzonego celu. Zmiana proporcji obrazu może zmienić jego wygląd, ale nie wpłynie znacząco na rozmiar pliku. Optymalizacja czasu ładowania obrazów na stronę WWW jest najczęściej osiągana przez zmniejszenie ich wymiarów, co skutkuje zmniejszeniem rozmiaru pliku.

Pytanie 18

Jaka będzie wartość $a po wykonaniu kodu?

$i = 10; $a = 0;
while ($i) {
  $a = $a + 2;
  $i--;
}
A. 10
B. 20
C. 2
D. 0
Pętla while ($i) powtarza się tak długo, jak warunek w nawiasie jest prawdziwy - a w PHP każda liczba różna od zera znaczy „prawda”, więc pętla działa, dopóki $i nie spadnie do zera. Na starcie $i = 10, a $a = 0. W każdym obrocie ciało pętli najpierw zwiększa $a o 2 (instrukcja $a = $a + 2), a potem $i-- zmniejsza licznik o jeden. Warunek przestaje być spełniony, gdy $i osiągnie 0, więc obrotów jest dokładnie dziesięć - dla $i równego kolejno 10, 9, …, 1. Skoro przy każdym z dziesięciu obrotów dodajemy 2, końcowy wynik to 10 × 2 = 20. Zapamiętaj regułę: liczbę powtórzeń pętli warunkowej wyznacza zmienna sterująca - tu $i maleje o 1, co daje 10 iteracji. Dlatego szukaną wartością jest 20.

Pytanie 19

Aby stworzyć relację jeden do wielu, w tabeli po stronie wiele, co należy zdefiniować?

A. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden
B. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
C. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden
D. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden
W relacji jeden do wielu, klucz obcy w tabeli po stronie wiele jest kluczowym elementem, który wskazuje na klucz podstawowy tabeli po stronie jeden. Dzięki temu możliwe jest powiązanie wielu rekordów w tabeli 'wiele' z jednym rekordem w tabeli 'jeden', co jest fundamentalnym aspektem modelowania relacyjnych baz danych. Klucz obcy zapewnia integralność referencyjną, co oznacza, że każda wartość klucza obcego w tabeli 'wiele' musi odpowiadać istniejącemu kluczowi podstawowemu w tabeli 'jeden'. Przykładem może być sytuacja, w której mamy tabelę 'Klienci' i tabelę 'Zamówienia'. W tabeli 'Zamówienia' klucz obcy 'ID_Klienta' wskazuje na 'ID' w tabeli 'Klienci', co pozwala na przypisanie wielu zamówień do jednego klienta. Zgodnie z dobrymi praktykami branżowymi, klucze obce powinny być odpowiednio zindeksowane, co pozwala na szybsze zapytania oraz efektywniejsze przetwarzanie danych.

Pytanie 20

Tabela programy ma kolumny nazwa, producent, rokWydania. Która kwerenda zwróci producentów BEZ powtórzeń?

A.
SELECT producent FROM programy WHERE UNIQUE;
B.
SELECT UNIQUE producent FROM programy;
C.
SELECT DISTINCT producent FROM programy;
D.
SELECT producent FROM programy WHERE producent NOT DUPLICATE;
Aby wypisać producentów bez powtórzeń, dopisuje się DISTINCT zaraz po SELECT, przed nazwą kolumny: SELECT DISTINCT producent FROM programy;. Słowo to każe bazie pominąć duplikaty i zwrócić każdą nazwę producenta tylko raz. Dlatego ta kwerenda jest poprawna.

Pytanie 21

Która para znaczników HTML daje TEN SAM efekt wizualny (bez CSS)?

A. <b> i <big>
B. <meta> i <title>
C. <b> i <strong>
D. <p> i <h2>
Znaczniki <b> i <strong> domyślnie wyświetlają tekst pogrubiony, więc bez stylów CSS wyglądają identycznie. Różni je znaczenie: <strong> niesie wagę semantyczną (ważna treść, czytana z naciskiem przez czytniki), a <b> to czysto wizualne pogrubienie. Dlatego ten sam efekt dają <b> i <strong>.

Pytanie 22

Do ilu pól edycyjnych zostanie przypisane tło Teal dla przedstawionego fragmentu dokumentu HTML i stylu CSS?

<input type="text">
<input type="number">
<input type="email">
<input type="number">
<input>

input[type="number"] {
    background-color: Teal;
}
A. Do żadnego.
B. Do trzech.
C. Do wszystkich.
D. Do dwóch.
Bardzo dobrze! Wybrałeś prawidłową odpowiedź, mówiącą, że tło Teal zostanie przypisane do dwóch pól edycyjnych. W przedstawionym fragmencie dokumentu HTML mamy pięć pól edycyjnych (input), z których tylko dwa mają typ 'number'. Tło Teal jest zdefiniowane w stylu CSS i ma być zastosowane tylko do pól typu 'number'. Jest to zgodne z dobrymi praktykami stosowania selektorów atrybutów w CSS, które pozwalają na precyzyjne określenie, do jakich elementów strony internetowej powinien być zastosowany dany styl. Dzięki temu możemy na przykład zastosować różne style dla różnych typów pól wejściowych, jak to jest w tym przypadku. To jest przykład, jak możemy wykorzystać moc CSS do kontroli wyglądu różnych elementów na naszej stronie.

Pytanie 23

W którym przypadku plik graficzny należy zapisać w formacie GIF?

A. gdy trzeba zapisać obraz lub prostą animację
B. gdy potrzebny jest zapis bez kompresji
C. gdy jest to grafika wektorowa
D. gdy jest to obraz stereoskopowy (3D)
Format GIF nadaje się do zapisu prostej grafiki i krótkich ANIMACJI - obsługuje ograniczoną paletę (256 kolorów) i sekwencje klatek. Dlatego GIF stosuje się, gdy trzeba zapisać obraz lub prostą animację.

Pytanie 24

Co powinno znaleźć się w dokumentacji UŻYTKOWNIKA aplikacji?

A. opis algorytmów zastosowanych w kodzie
B. instrukcja obsługi funkcji systemu
C. opis użytych technologii i bibliotek
D. szczegółowy opis kodu źródłowego
Pozostałe treści należą do dokumentacji TECHNICZNEJ, przeznaczonej dla programisty. Szczegółowy opis kodu źródłowego, użyte technologie i biblioteki oraz algorytmy nie są potrzebne użytkownikowi końcowemu. Dokumentacja użytkownika zawiera instrukcję obsługi funkcji systemu.

Pytanie 25

Dane z pola input o typie number zostały zapisane do zmiennej a, a następnie przetworzone w kodzie JavaScript w sposób następujący:

var x = parseFloata);
Jakiego typu będzie zmienna x?
A. zmiennoprzecinkowego
B. liczbowego, całkowitego
C. NaN
D. napisowego
Widzisz, zmienna x dostaje wartość z funkcji parseFloat, która zmienia coś z pola input typu number na liczbę zmiennoprzecinkową. To jest dość standardowa funkcja w JavaScript, często używana do zamiany tekstu (czyli stringów) na liczby zmiennoprzecinkowe. Na przykład, jak w polu input masz '123.45', to po napisaniu var x = parseFloat(a);, x stanie się liczbą 123.45. Tylko pamiętaj, że jak przekazany tekst nie może być zmieniony na liczbę, to dostaniesz NaN (czyli Not-a-Number). Ta funkcja jest zgodna z ECMAScript i jest naprawdę przydatna, np. w sytuacjach, gdy trzeba walidować dane, które użytkownicy wprowadzają. Twoja odpowiedź jest na plus, bo korzystając z parseFloat, dostajesz typ zmiennoprzecinkowy, co jest ważne w obliczeniach matematycznych. Zresztą, dokładność w tych wartościach liczbowych jest kluczowa.

Pytanie 26

W przedstawionym diagramie bazy danych biblioteka, elementy: czytelnik, wypozyczenie i ksiazka są

Ilustracja do pytania
A. krotkami.
B. atrybutami.
C. encjami.
D. polami.
W diagramie bazy danych pokazanym w pytaniu elementy „czytelnik”, „wypozyczenie” i „ksiazka” to klasyczne przykłady encji. Encja w modelu relacyjnym (a dokładniej w modelu ER – Entity-Relationship) oznacza pewien typ obiektu ze świata rzeczywistego, o którym chcemy przechowywać dane w bazie. W praktyce encja odpowiada tabeli w relacyjnej bazie danych: encja CZYTELNIK → tabela czytelnik, encja KSIĄŻKA → tabela ksiazka, encja WYPOŻYCZENIE → tabela wypozyczenie. Każda z tych encji ma swój klucz główny (np. czytelnik_id, ksiazka_id, wypozyczenie_id), czyli atrybut jednoznacznie identyfikujący rekord. To jest dokładnie to, co w dobrych praktykach projektowania baz danych (np. wg standardowych metodologii ERD używanych w SQL Server, MySQL Workbench czy Oracle Data Modeler) uważa się za podstawę poprawnego modelu danych.

Moim zdaniem bardzo ważne jest rozróżnienie poziomów: encja to „typ obiektu” (tabela), atrybut to „cecha obiektu” (kolumna), a krotka/rekord to „konkretne wystąpienie obiektu” (pojedynczy wiersz). Na przykład: encja CZYTELNIK opisuje wszystkich możliwych czytelników biblioteki, atrybuty tej encji to imie, nazwisko, ulica itd., a jedna konkretna krotka w tabeli czytelnik opisuje jedną osobę, np. Jana Kowalskiego z ulicy Lipowej 5. W projektowaniu systemów bibliotecznych, systemów sprzedażowych, magazynowych czy w aplikacjach webowych z bazą danych zawsze zaczyna się właśnie od zidentyfikowania encji: klient, zamówienie, produkt, faktura itd. Dopiero potem dopisuje się atrybuty, ustala relacje (tak jak tu: czytelnik – wypożyczenie – książka) i definiuje klucze obce. To podejście jest zgodne z normalizacją i ogólnymi zasadami projektowania relacyjnych baz danych – pomaga uniknąć nadmiarowości danych i błędów logicznych w aplikacji.

Pytanie 27

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. wykluczenia.
C. sumy.
D. grupowania.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 28

Aby na stronie internetowej wyswietlic logo, ktorego tlo jest przezroczyste, nalezy zastosowac format:

A. PNG
B. CDR
C. JPG
D. BMP
PNG (Portable Network Graphics) to jedyny z wymienionych formatow, ktory zachowa przezroczyste tlo logo na stronie internetowej. Decyduje o tym kanal alfa - dodatkowa informacja o przezroczystosci kazdego piksela, dzieki ktorej miejsca bez grafiki pozostaja puste i przepuszczaja tlo strony. Logo wpasowuje sie wtedy w dowolne tlo bez bialego prostokata dookola. PNG stosuje przy tym kompresje bezstratna, wiec ostre krawedzie liter i jednolite barwy logo nie zostaja rozmyte. Format jest obslugiwany przez wszystkie przegladarki, co czyni go standardowym wyborem dla grafik z przezroczystoscia w sieci WWW.

Pytanie 29

Które oprogramowanie jest typowe do obróbki grafiki WEKTOROWEJ?

A. Paint
B. Audacity
C. Brasero
D. Inkscape
Inkscape to darmowy edytor grafiki WEKTOROWEJ - tworzy obrazy opisane krzywymi i kształtami (format SVG), skalowalne bez utraty jakości. Dlatego do grafiki wektorowej służy Inkscape.

Pytanie 30

Obraz o rozdzielczości 72 PPI oznacza, że ma 72 piksele na:

A. megabajt
B. milimetr
C. centymetr
D. cal
Skrót PPI to „pixels per inch”, czyli piksele na CAL - więc 72 PPI oznacza 72 piksele przypadające na jeden cal długości obrazu. To miara gęstości obrazu rastrowego. Zapamiętaj: „inch” = cal, więc PPI zawsze odnosi się do cala, nie do centymetra czy milimetra.

Pytanie 31

Jak w CSS ustawić, aby hiperłącze nieodwiedzone było żółte, a odwiedzone zielone?

A.
a:visited { color: yellow; } a:link { color: green; }
B.
a:hover { color: green; } a:link { color: yellow; }
C.
a:hover { color: yellow; } a:visited { color: green; }
D.
a:link { color: yellow; } a:visited { color: green; }
Wygląd odnośników zależnie od ich stanu ustawiają w CSS pseudoklasy. a:link dotyczy linku jeszcze nieodwiedzonego, a a:visited - już odwiedzonego. Aby nieodwiedzony był żółty, a odwiedzony zielony, zapisuje się a:link { color: yellow; } a:visited { color: green; }. Istnieją też :hover (po najechaniu) i :active (w trakcie kliknięcia); zaleca się definiować je w kolejności LVHA. Dlatego poprawny jest ten zapis.

Pytanie 32

W jakim celu stosuje się kwerendę SELECT DISTINCT?

A. aby pogrupować rekordy
B. aby posortować rekordy rosnąco lub malejąco
C. aby wybrać rekordy występujące w bazie tylko raz
D. aby w wskazanej kolumnie nie powtarzały się wartości w wyniku
Gdy w kolumnie ta sama wartość powtarza się w wielu wierszach (np. miasto klienta), zwykłe zapytanie zwróci wszystkie powtórzenia. SELECT DISTINCT usuwa duplikaty z WYNIKU, pokazując każdą wartość tylko raz - przydatne, by zrobić listę unikalnych pozycji. Dlatego stosuje się je, by w wybranej kolumnie wartości się nie powtarzały.

Pytanie 33

Polecenie DBCC CHECKDB 'sklepAGD', Repair_fast) w systemie MS SQL Server

A. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
B. potwierdzi spójność bazy danych i utworzy kopię zapasową
C. zweryfikuje spójność danej tabeli
D. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
Odpowiedzi sugerujące, że polecenie DBCC CHECKDB sprawdza spójność jedynie określonej tabeli są nieprecyzyjne, ponieważ w rzeczywistości działa na całej bazie danych. Choć istnieje możliwość sprawdzania poszczególnych tabel za pomocą innych poleceń, DBCC CHECKDB jest narzędziem, które analizuje całą strukturę bazy danych wraz z jej indeksami i danymi. Twierdzenie, że to polecenie jedynie sprawdza spójność bazy danych oraz wykonuje kopię bezpieczeństwa, jest mylące. DBCC CHECKDB nie tworzy kopii zapasowych, a jego głównym celem jest identyfikacja i raportowanie błędów, co jest kluczowe w kontekście utrzymania zdrowia bazy danych. Użytkownicy mogą zatem błędnie zakładać, że polecenie zapewnia automatyczną naprawę danych, co w rzeczywistości wymaga zastosowania dodatkowych opcji naprawy, takich jak Repair_fast lub Repair_rebuild. Ponadto, niektóre odpowiedzi wskazują na naprawę uszkodzonych rekordów, co nie jest precyzyjne, ponieważ DBCC CHECKDB zajmuje się głównie naprawą indeksów oraz strukturalnych problemów w bazie danych, a nie pojedynczych rekordów. Rzetelne zrozumienie tych różnic jest kluczowe dla skutecznego zarządzania bazą danych i unikania nieporozumień dotyczących działania narzędzi diagnostycznych w MS SQL Server.

Pytanie 34

Ile razy zostanie wykonana zaprezentowana pętla w języku PHP, zakładając, że zmienna sterująca nie jest zmieniana wewnątrz pętli?

 for ($i = 0; $i <= 10; $i++) {
    // kod pętli
}
A. 10
B. 11
C. 0
D. Nieskończenie wiele
Prawidłowa odpowiedź wynika z analizy działania pętli for w języku PHP. W przedstawionej pętli warunek iteracji jest ustawiony na '$i <= 10', co oznacza, że pętla będzie wykonywana tak długo, jak długo zmienna $i będzie mniejsza lub równa 10. Zmienna $i jest inicjalizowana wartością 0 i inkrementowana o 1 przy każdym obiegu pętli. W efekcie, pętla będzie wykonywana dla wartości $i od 0 do 10, co daje 11 iteracji. Praktycznym zastosowaniem takiej pętli może być na przykład generowanie listy numerów lub przetwarzanie elementów w tablicy. Dobrą praktyką podczas używania pętli jest również upewnienie się, że warunek zakończenia jest poprawnie zdefiniowany, aby uniknąć niezamierzonych nieskończonych iteracji. Warto także uwzględnić możliwość modyfikowania zmiennej sterującej w ciele pętli, co może prowadzić do złożonych przypadków, ale w tym konkretnym przykładzie nie mamy takiej sytuacji.

Pytanie 35

W języku PHP symbol "//" oznacza

A. operator alernatywy
B. początek skryptu
C. operator dzielenia całkowitego
D. początek komentarza jednoliniowego
W PHP znak "//" oznacza początek komentarza jednoliniowego. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie objaśnień i notatek, które nie są wykonywane przez interpreter. Dzięki temu kod staje się bardziej czytelny i łatwiejszy w utrzymaniu, zwłaszcza w projektach zespołowych czy przy dłuższych skryptach. Na przykład, można użyć komentarza, aby wyjaśnić, jak działa dana funkcjonalność lub dlaczego podjęto określoną decyzję projektową. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami zwiększa jakość dokumentacji projektu oraz ułatwia przyszłym programistom (lub samemu autorowi) zrozumienie logiki kodu. Warto również zauważyć, że w PHP istnieją inne sposoby komentowania, takie jak "#" dla komentarzy jednoliniowych oraz "/* ... */" dla komentarzy wieloliniowych. Użycie komentarzy w kodzie źródłowym jest istotnym aspektem programowania, promującym najlepsze praktyki związane z czytelnością i zarządzaniem projektami.

Pytanie 36

W trakcie obróbki dźwięku, by wyeliminować niepożądane hałasy wynikające z niskiej jakości mikrofonu, należy użyć narzędzia

A. usuwania szumów
B. wyciszenia
C. obwiedni
D. odgłosów echa
Usuwanie szumów to technika, która jest kluczowa w procesie przetwarzania dźwięku, szczególnie w kontekście nagrań audio i transmisji. Działa na zasadzie identyfikacji i eliminacji niepożądanych dźwięków, takich jak szumy tła, które mogą pochodzić z niskiej jakości mikrofonów lub hałaśliwych środowisk. W praktyce, narzędzia do usuwania szumów analizują dźwięk w czasie rzeczywistym lub podczas edycji i wykorzystują algorytmy, które rozpoznają różnice między pożądanym sygnałem (np. głosem) a szumem. Standardy branżowe, takie jak AES67, podkreślają znaczenie czystości dźwięku w transmisji mediów, co sprawia, że eliminacja szumów staje się kluczowym elementem produkcji audio. Przykładowo, w studio nagraniowym, inżynierowie dźwięku często korzystają z wtyczek do usuwania szumów, aby poprawić jakość nagrań wokalnych. Dzięki tym technikom można osiągnąć klarowność i profesjonalny standard nagrań, co jest niezbędne w przemyśle muzycznym, radiowym czy filmowym.

Pytanie 37

W trakcie edycji grafiki rastrowej w oprogramowaniu obsługującym kanały, dodanie kanału alfa wskazuje na

A. ustalenie prawidłowego balansu bieli
B. dodanie warstwy z przezroczystością
C. wyostrzenie krawędzi obrazu
D. zwiększenie głębi ostrości obrazu
Dodanie kanału alfa w obróbce grafiki rastrowej oznacza wprowadzenie warstwy odpowiedzialnej za przezroczystość obrazu. Kanał alfa rozszerza możliwości tradycyjnych obrazów, które składają się tylko z trzech podstawowych kanałów kolorystycznych: czerwonego, zielonego i niebieskiego (RGB). Dzięki kanałowi alfa, każdy piksel w obrazie może mieć przypisaną wartość przezroczystości, co pozwala na tworzenie efektów takich jak cienie, rozmycia, a także na precyzyjne maskowanie elementów w projekcie. Przykładem zastosowania kanału alfa może być tworzenie grafik do użycia w reklamach czy wideo, gdzie elementy muszą być płynnie nałożone na różnorodne tła. W profesjonalnym oprogramowaniu graficznym, takim jak Adobe Photoshop czy GIMP, dodanie kanału alfa jest standardową praktyką w procesie tworzenia i edycji obrazów. Ponadto, tworząc animacje czy interaktywne projekty multimedialne, kanał alfa pozwala na bardziej elastyczne zarządzanie przezroczystością poszczególnych warstw, co jest kluczowe dla finalnego efektu wizualnego.

Pytanie 38

Jak wygląda poprawny zapis samozamykającego się znacznika łamania linii?

A.
<br/>
B.
</ br>
C.
</br>
D.
<br> </br>
Pozostałe zapisy łamią zasady void-elementów. </br> i </ br> to znaczniki ZAMYKAJĄCE, a element pusty takiego nie posiada (do tego spacja w drugim jest niedozwolona). <br></br> próbuje domknąć go osobną parą, jakby miał zawartość. Poprawna samozamykająca forma to <br/>.

Pytanie 39

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika root na serwerze localhost
B. do wszystkich tabel w bazie hurtownia
C. do wszystkich kolumn w tabeli hurtownia
D. dla użytkownika root na serwerze sprzedawca
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; jest często źle interpretowane co prowadzi do błędnego przypisania uprawnień. Częstym problemem jest mylne przekonanie, że przyznanie uprawnień do wszystkich pól w tabeli oznacza to samo co do wszystkich tabel. Symbol * w poleceniu odnosi się do wszystkich tabel w bazie hurtownia a nie do wszystkich pól pojedynczej tabeli. To ważne rozróżnienie wpływa na sposób przyznawania i zarządzania uprawnieniami w kontekście bezpieczeństwa i dostępu do danych. Błędna interpretacja że uprawnienie dotyczy użytkownika root jest wynikiem niezrozumienia konwencji dotyczącej składni SQL gdzie specyficzna definicja użytkownika pojawia się po słowie TO w naszym przypadku jest to sprzedawca@localhost. To wyklucza użytkownika root z opcji możliwych odbiorców tego uprawnienia. Warto zwrócić uwagę że identyfikacja użytkownika sprzedawca@localhost jednoznacznie określa użytkownika działającego z lokalnego serwera a nie z dowolnego hosta co jest istotne z punktu widzenia bezpieczeństwa systemu. Zrozumienie tych niuansów jest kluczowe dla efektywnego zarządzania bazami danych i ochrony przed nieautoryzowanym dostępem. W praktyce przyznanie uprawnień powinno być starannie rozważone i dostosowane do potrzeb zgodnie z zasadą najmniejszych uprawnień co minimalizuje ryzyko błędów i nadużyć systemowych.

Pytanie 40

W języku PHP, aby nawiązać połączenie z bazą danych MySQL przy użyciu biblioteki mysqli, w poniższym zapisie w miejsce litery 'c' należy wpisać:

$a = new mysqli('b', 'c', 'd', 'e');
A. nazwa bazy danych
B. hasło dla użytkownika
C. nazwa użytkownika
D. adres serwera bazy danych
Odpowiedź 'nazwa użytkownika' jest na pewno właściwa, bo w konstruktorze klasy mysqli w PHP musimy podać nazwę użytkownika jako drugi argument. To ważne, bo bez tych danych, czyli nazwy użytkownika i hasła, nie da się połączyć z bazą danych. Używanie mysqli to dobra praktyka, zwłaszcza jeśli chodzi o bezpieczeństwo przed atakami SQL injection. Jak chcemy się połączyć, to zapisujemy to tak: $a = new mysqli('localhost', 'nazwa_użytkownika', 'hasło', 'nazwa_bazy'). Dzięki temu możemy na przykład ściągnąć dane z tabeli 'użytkownicy'. Warto też pamiętać o walidacji danych wejściowych i korzystaniu z przygotowanych zapytań, bo to naprawdę podnosi poziom bezpieczeństwa naszej aplikacji. I nie zapominaj, żeby zamknąć połączenie po zakończonej pracy, używając metody close().