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 grudnia 2025 08:20
  • Data zakończenia: 8 grudnia 2025 09:01

Egzamin zdany!

Wynik: 22/40 punktów (55,0%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jaką czynność należy wykonać przed zrobieniem kopii zapasowej danych w MySQL?

A. przyznanie uprawnień do przeglądania bazy dla Administratora
B. sprawdzenie, czy baza działa wystarczająco wydajnie
C. zweryfikowanie poprawności tabel w bazie oraz ewentualne naprawienie usterek
D. ustalenie systemu kodowania znaków w bazie
Sprawdzenie poprawności tabel w bazie przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który pozwala na zapewnienie integralności danych. W przypadku, gdy w tabelach występują błędy, takie jak uszkodzone wiersze czy niedopasowane indeksy, proces tworzenia kopii zapasowej może nie uwzględnić tych problemów, co w konsekwencji prowadzi do utraty danych lub trudności w ich przywróceniu. W MySQL, przed rozpoczęciem backupu, zaleca się użycie polecenia 'CHECK TABLE' do weryfikacji stanu tabel. Przykładowo, jeśli tabela 'users' jest sprawdzana i wykryto błąd, można zastosować 'REPAIR TABLE', aby naprawić uszkodzenia. Dobrą praktyką w branży jest regularne tworzenie kopii zapasowych oraz prowadzenie audytów jakości danych, co pozwala na minimalizację ryzyka utraty informacji. Utrzymywanie bazy danych w dobrym stanie technicznym poprzez regularne sprawdzanie tabel oraz ich naprawianie jest zalecane w dokumentacji MySQL oraz innych systemów zarządzania bazami danych, co podkreśla znaczenie tego procesu w kontekście bezpieczeństwa danych.

Pytanie 2

Aby włączyć zewnętrzny skrypt JavaScript o nazwie skrypt.js, konieczne jest umieszczenie w kodzie HTML

A. <script> skrypt.js </script>
B. <link rel="script" href="/skrypt.js" />
C. <link rel="JavaScript" type="js" href="/skrypt.js" />
D. <script src="/skrypt.js"></script>
Poprawna odpowiedź to <script src="/skrypt.js"></script>. Wykorzystanie atrybutu src w tagu <script> to standardowa metoda do ładowania zewnętrznych skryptów JavaScript w HTML. Dzięki temu przeglądarka wie, żeby pobrać i uruchomić kod z pliku skrypt.js. To z kolei pozwala na lepszą organizację, bo możemy używać tego samego skryptu w różnych miejscach projektu. No i w praktyce, to przynosi dużo korzyści, jak łatwiejsze utrzymanie czy debugowanie aplikacji. Jak mamy porządnie zorganizowany kod, to strona się szybciej ładuje, a przeglądarka może buforować te skrypty. Na koniec warto dodać, że dobrze osadzone skrypty wpływają też pozytywnie na SEO, bo wyszukiwarki lubią strony, które są zorganizowane i zoptymalizowane. Warto pamiętać, żeby umieszczać tagi <script> na końcu dokumentu HTML, zaraz przed zamknięciem tagu </body>, bo to pozwala na szybsze wyświetlanie zawartości.

Pytanie 3

Gdzie w dokumencie HTML powinien być umieszczony wewnętrzny arkusz stylów?

A. W obrębie znacznika, którego dotyczy styl
B. W sekcji treści strony
C. W skrypcie dołączonym do dokumentu
D. W sekcji nagłówkowej dokumentu
Wewnętrzny arkusz stylów należy umieścić w części nagłówkowej strony HTML, co oznacza, że powinien być zawarty w znaczniku <head>. Jest to zgodne z zaleceniami standardów W3C, które określają, że nagłówek powinien zawierać metadane oraz inne informacje dotyczące dokumentu. Umieszczając arkusz stylów w sekcji <head>, zapewniamy, że przeglądarka ma dostęp do stylów przed renderowaniem treści strony, co przyczynia się do lepszego doświadczenia użytkownika. Przykładowo, kod CSS umieszczony w <style> w <head> może wyglądać tak: <style> body { background-color: lightblue; } </style>. Taki wewnętrzny arkusz stylów pozwala na łatwe zarządzanie stylem pojedynczej strony bez potrzeby tworzenia osobnych plików CSS. Ponadto, umieszczając style w nagłówku, unikamy problemów z wydajnością, które mogłyby wystąpić, gdyby były one wstrzykiwane w treści strony. Warto również zauważyć, że umieszczanie arkuszy stylów w <head> jest standardową praktyką w tworzeniu responsywnych i semantycznych stron internetowych.

Pytanie 4

Wskaż problem z walidacją w podanym fragmencie kodu HTML

<h6>CSS</h6>
<p>Kaskadowe arkusze stylów (<b>ang. <i>Cascading Style Sheets</b></i>)<br>to język służący... </p>
A. Nieznany znacznik h6
B. Znacznik br nie może występować wewnątrz znacznika p
C. Znacznik zamykający /b niezgodny z zasadą zagnieżdżania
D. Znacznik br nie został poprawnie zamknięty
Znacznik zamykający b niezgodny z zasadą zagnieżdżania czyli poprawna odpowiedź 1 odnosi się do zasady poprawnego zagnieżdżania znaczników HTML Zasada ta mówi że znaczniki muszą być zamykane w odwrotnej kolejności do ich otwarcia W naszym przykładzie mamy otwierający znacznik b a następnie i co oznacza że najpierw powinien być zamknięty znacznik i a potem b Tego typu błąd jest często spotykany w kodzie HTML i może prowadzić do nieoczekiwanych problemów z wyświetlaniem strony Warto pamiętać że poprawne zagnieżdżanie znaczników wpływa na czytelność i utrzymanie kodu co jest kluczowe w większych projektach HTML jest językiem opartym na strukturze drzewiastej i każda niezgodność w zagnieżdżaniu może wpłynąć na sposób przetwarzania dokumentu przez przeglądarki Dbałość o szczegóły w strukturze dokumentu HTML jest zgodna z dobrymi praktykami branżowymi i wspomaga zgodność z różnymi przeglądarkami i urządzeniami co w konsekwencji poprawia dostępność i użyteczność strony internetowej

Pytanie 5

W bazie danych znajduje się tabela artykuły z kolumnami: nazwa, typ, producent, cena. Jakie polecenie należy użyć, aby wyświetlić wszystkie nazwy artykułów tylko o typie pralka, których cena mieści się w przedziale od 1000 PLN do 1500 PLN?

A. SELECT nazwa FROM artykuły WHERE typ='pralka' OR cena BETWEEN 1000 OR 1500
B. SELECT nazwa FROM artykuły WHERE typ='pralka' OR cena BETWEEN 1000 AND 1500
C. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500
D. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500
Jak chcesz wyciągnąć nazwy artykułów tylko dla pralek, które kosztują między 1000 a 1500 PLN, to musisz użyć polecenia SELECT z dobrymi warunkami. W SQL klauzula WHERE jest właśnie do tego, żeby określić, jakie dane chcesz wyciągnąć z tabeli. Ważne, żeby użyć operatora AND, bo musisz połączyć dwa warunki: typ musi być 'pralka', a cena musi mieścić się w tym przedziale. W tym wypadku operator BETWEEN będzie najlepszy, bo pozwala łatwo ustawić zakres wartości bez zawirowań z innymi operatorami. Takie zapytanie: SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena BETWEEN 1000 AND 1500, zwróci wszystkie nazwy, które spełniają te kryteria. Dzięki BETWEEN masz pewność, że dolna i górna granica też są uwzględniane, co jest zgodne z zasadami SQL, a to z kolei sprawia, że przeszukiwanie danych jest efektywne. Dzięki temu zapytaniu dostajesz dokładne wyniki, co w zarządzaniu bazą danych jest mega ważne.

Pytanie 6

Jakie są określenia typowych komend języka SQL, które dotyczą przeprowadzania operacji na danych SQL DML (np.: dodawanie danych do bazy, usuwanie, modyfikowanie danych)?

A. ALTER, CREATE, DROP
B. SELECT, SELECT INTO
C. DELETE, INSERT, UPDATE
D. DENY, GRANT, REVOKE
Odpowiedź DELETE, INSERT, UPDATE jest prawidłowa, ponieważ te polecenia stanowią podstawowe instrukcje języka SQL DML (Data Manipulation Language), które są wykorzystywane do manipulacji danymi w bazie danych. DELETE służy do usuwania rekordów z tabel, co jest niezbędne w sytuacjach, gdy dane są już nieaktualne lub niepotrzebne. INSERT umożliwia dodawanie nowych rekordów, co jest kluczowe w procesie wprowadzania danych, na przykład dodawania nowych klientów do bazy danych. Z kolei UPDATE pozwala na modyfikację już istniejących danych, co jest istotne w przypadku zmiany informacji, takich jak aktualizacja adresu klienta. W praktyce te operacje są niezwykle ważne dla utrzymania spójności i aktualności danych w systemach zarządzania bazami danych. Warto również zauważyć, że stosowanie tych poleceń zgodnie z dobrymi praktykami, takimi jak transakcje, pozwala na zabezpieczenie integralności danych oraz umożliwia łatwe wycofywanie zmian w przypadku błędów.

Pytanie 7

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

A. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden
B. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden
C. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
D. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden
W kontekście relacji jeden do wielu w bazach danych, każda z podanych niepoprawnych opcji wprowadza w błąd odnośnie do zasady funkcjonowania kluczy obcych i ich roli w modelowaniu danych. Klucz obcy wskazujący na klucz obcy tabeli po stronie jeden jest konceptualnie błędny, ponieważ klucz obcy zawsze odnosi się do klucza podstawowego innej tabeli, a nie do innego klucza obcego. Taki układ narusza zasady referencyjności i integralności danych, co może prowadzić do trudności w utrzymaniu spójności w bazie. Kolejną niepoprawną opcją jest klucz sztuczny odnoszący się do kluczy podstawowych obu tabel. Klucze sztuczne, choć mogą być użyteczne w pewnych kontekstach, nie powinny być używane jako sposób tworzenia relacji, ponieważ nie odzwierciedlają naturalnych powiązań między danymi. Klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden również jest mylny, ponieważ w relacji jeden do wielu klucz podstawowy tabeli 'jeden' musi być referencjonowany przez klucz obcy w tabeli 'wiele', a nie odwrotnie. Te nieporozumienia mogą prowadzić do błędów projektowych w bazach danych, co w efekcie utrudnia ich rozwój i zarządzanie, szczególnie w dużych systemach, gdzie spójność danych jest kluczowa dla funkcjonowania aplikacji.

Pytanie 8

$x = 0; while($x < 5) { echo "$x,"; $x++; } Wskaż instrukcję, która jest funkcjonalnie równoważna dla podanej pętli while w języku PHP.

Ilustracja do pytania
A. Instrukcja 2
B. Instrukcja 4
C. Instrukcja 1
D. Instrukcja 3
W programowaniu często spotyka się różne sposoby implementacji pętli, jednak nie wszystkie z nich są równie efektywne czy poprawne w kontekście stawianych wymagań. W przypadku zaproponowanych instrukcji for, które miałyby być równoważne funkcjonalnie do podanej pętli while, kluczowym aspektem jest zachowanie identycznych warunków początkowych, warunku końcowego oraz sposobu inkrementacji zmiennej sterującej. Podczas gdy instrukcja 3 dokładnie odwzorowuje działanie pętli while pod względem inicjalizacji wartości $x, warunku kontynuacji ($x < 5) oraz kroku inkrementacyjnego ($x++), inne opcje różnią się w tych aspektach. Instrukcja 1 zawiera podwójną inkrementację zmiennej w każdym kroku pętli, co skutkuje zbyt szybkim osiągnięciem warunku końcowego. Instrukcja 2 zmienia krok inkrementacji na $x+=2, co prowadzi do pominięcia wartości i skrócenia pętli. Instrukcja 4 modyfikuje warunek początkowy, startując z $x równym 1, zamiast 0, co również wpływa na zakres wyświetlanych wartości. Te modyfikacje mogą wprowadzać w błąd i generować nieprzewidywalne wyniki, co jest niepożądane w kontekście pisania stabilnego i przewidywalnego kodu. Zrozumienie różnic w tych implementacjach jest kluczowe dla skutecznego programowania i unikania typowych błędów, które mogą prowadzić do niezamierzonych konsekwencji w działaniu aplikacji. Dlatego ważne jest, aby każda z pętli była precyzyjnie dostosowana do zamierzonej funkcjonalności i zgodna z założonymi celami projektu, co jest podstawą dobrych praktyk w branży inżynierii oprogramowania.

Pytanie 9

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. rowspan
B. colspan
C. cellpadding
D. cellspacing
W kontekście scalania komórek w pionie w HTML, inne proponowane atrybuty są nieodpowiednie. Atrybut colspan służy do scalania komórek w poziomie, co oznacza, że pozwala na połączenie kilku komórek w jednym wierszu, co jest zupełnie inną operacją niż scalanie w pionie. Używanie colspan byłoby nieodpowiednie w sytuacji, gdy celem jest połączenie komórek w kolumnie. Atrybut cellpadding dotyczy natomiast przestrzeni wewnętrznej, określającej odstęp pomiędzy zawartością komórki a jej krawędziami. Jego zastosowanie nie wpływa na scalanie komórek, a jedynie na ich wygląd, co sprawia, że jest to zupełnie inny aspekt formatowania tabeli. Podobnie atrybut cellspacing, który jest używany do definiowania odstępów między komórkami tabeli, również nie ma zastosowania w procesie scalania komórek. Obydwa te atrybuty mogą być użyte do poprawy estetyki tabeli, ale nie wpływają na strukturę danych w sposób, który byłby wymagany do osiągnięcia pionowego scalania komórek. Użycie ich zamiast rowspan jest błędne i prowadzi do niepoprawnego zrozumienia struktury HTML oraz sposobu, w jaki tabele powinny być zbudowane.

Pytanie 10

Aby ustalić wysokość grafiki wyświetlanej na stronie internetowej, należy użyć właściwości CSS o nazwie

A. margin
B. height
C. width
D. padding
Odpowiedź 'height' jest prawidłowa, ponieważ właściwość CSS o tej nazwie bezpośrednio określa wysokość elementu na stronie internetowej. Używając 'height', możemy zdefiniować wartość w pikselach, procentach lub innych jednostkach miary, co pozwala na precyzyjne dostosowanie wyglądu elementów do wymagań projektu. Na przykład, zdefiniowanie wysokości obrazka jako 'height: 200px;' sprawi, że obrazek zawsze będzie miał 200 pikseli wysokości, niezależnie od jego oryginalnych wymiarów. Dobrą praktyką jest również używanie wartości procentowych, które pozwalają na responsywne projektowanie, dostosowujące się do różnych rozmiarów ekranu. Ponadto, warto wspomnieć o zastosowaniu 'min-height' i 'max-height', które umożliwiają kontrolowanie minimalnych i maksymalnych wymiarów elementów, co jest pomocne w tworzeniu elastycznych i estetycznych układów stron. Ponadto, definiując wysokość obrazków, warto pamiętać o zachowaniu proporcji poprzez odpowiednie użycie również właściwości 'width'.

Pytanie 11

W bazie danych wykonano poniższe polecenia dotyczące uprawnień użytkownika adam:

GRANT ALL PRIVILEGES ON klienci TO adam;
REVOKE SELECT, INSERT, UPDATE ON klienci FROM adam;
Po wykonaniu tych instrukcji użytkownik adam uzyska dostęp do:
A. tworzenia tabeli klienci i modyfikowania w niej danych
B. usunięcia tabeli lub jej rekordów
C. przeglądania tabeli klienci oraz dodawania do niej rekordów
D. zmiany danych oraz przeglądania tabeli klienci
Odpowiedzi, które sugerują, że <b>adam</b> nie ma uprawnień do usunięcia tabeli lub jej rekordów, mogą wynikać z niepełnego zrozumienia pojęcia uprawnień w bazach danych. Przede wszystkim, użytkownik z uprawnieniami ALL PRIVILEGES zyskuje pełny zestaw możliwości, co obejmuje również prawo do usuwania danych. W związku z tym, stwierdzenie, że użytkownik może tylko aktualizować dane i przeglądać tabelę, jest błędne. Ponadto, nieprawidłowe twierdzenie, że <b>adam</b> może tworzyć tabelę <b>klienci</b>, jest także mylące, ponieważ przydzielone uprawnienia dotyczą już istniejącej tabeli, a nie tworzenia nowych struktur. Użytkownik przyznany ALL PRIVILEGES na konkretnej tabeli nie ma automatycznie możliwości tworzenia nowych tabel w bazie danych; wymaga to oddzielnego przydziału uprawnień. Kluczowym błędem w myśleniu jest założenie, że uprawnienia administracyjne dotyczą jedynie wstawiania i przeglądania danych, podczas gdy tak naprawdę obejmują one również usuwanie. W praktyce, zarządzając uprawnieniami, należy jasno zdefiniować, jakie konkretne działania są dozwolone, aby zapewnić bezpieczeństwo bazy danych oraz uniknąć nieautoryzowanych modyfikacji. Dobre praktyki w zarządzaniu użytkownikami wskazują na potrzebę ograniczonego dostępu, co może ułatwić kontrolę nad danymi i zachować ich integralność.

Pytanie 12

Aby uzyskać dane z formularza HTML bez ich widoczności w adresie URL, powinno się użyć

A. metody POST
B. samych kontrolek bez zastosowania formularza
C. metody GET
D. wyłącznie funkcji z biblioteki PDO
Wybór metody POST do przesyłania danych z formularza HTML jest odpowiedni, gdyż ta metoda nie ujawnia przesyłanych informacji w adresie URL, co zwiększa bezpieczeństwo danych. Metoda POST wysyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne dla użytkowników, a także nie są rejestrowane w historii przeglądarki ani w logach serwera tak, jak ma to miejsce w przypadku metody GET. W praktyce, metodę POST wykorzystuje się w sytuacjach, gdy przesyłane są wrażliwe dane, takie jak hasła czy dane osobowe. Na przykład, podczas rejestracji użytkownika na stronie internetowej, dane osobowe są najczęściej przesyłane metodą POST, aby zminimalizować ryzyko ich wycieku. Dobrą praktyką jest również stosowanie HTTPS w połączeniu z metodą POST, co dodatkowo zabezpiecza przesyłane dane przed przechwyceniem przez osoby trzecie. W kontekście standardów, zaleca się stosowanie metody POST, gdyż zapewnia ona większą kontrolę nad przesyłanymi danymi i umożliwia większą ilość danych w porównaniu do metody GET, która jest ograniczona do około 2048 znaków w adresie URL.

Pytanie 13

W formularzu wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w sposób następujący: ```var x = parseInt(a);``` Jakiego typu będzie zmienna x?

A. liczbowego, całkowitego
B. zmiennoprzecinkowego
C. napisowego
D. Nan
Zmienna x, przypisana w wyniku zastosowania funkcji parseInt na zmiennej a, będzie typu liczbowego, całkowitego. Funkcja parseInt jest używana w JavaScript do konwersji wartości na liczbę całkowitą. Jeśli a jest wartością wprowadzoną przez użytkownika w polu input o typie number, to parseInt(a) zwróci wartość liczbową, eliminując wszelkie znaki niebędące cyframi. Wartością return będzie liczba całkowita, ponieważ parseInt zwraca tylko całkowite części liczb. Wartością zwróconą będzie NaN, jeśli a nie zawiera żadnych cyfr, co w tym kontekście nie ma miejsca, zakładając, że użytkownik wprowadził poprawne dane. Przykład: jeśli użytkownik wprowadzi '42.5', to parseInt('42.5') zwróci 42, eliminując część dziesiętną. Warto zaznaczyć, że parseInt może przyjąć drugi argument, który określa system liczbowy (bazę), w jakim liczba ma być interpretowana, co jest zgodne z wytycznymi ECMAScript. Poznanie możliwości i ograniczeń funkcji parseInt jest kluczowe w pracy z danymi liczbowymi w JavaScript, szczególnie w kontekście walidacji danych wejściowych.

Pytanie 14

Który z poniższych fragmentów kodu XHTML odpowiednio sformatuje tekst według przedstawionego wzoru?

A. <p>Ala ma <b>kota</b><br/> a <b>kot</b> ma Alę</p>
B. <p>Ala ma <b>kota</i><br/> a <b>kot</b> ma Alę</p>
C. <p>Ala ma <b>kota</b><br/> a <i>kot</i> ma Alę</p>
D. <p>Ala ma <b>kota<br/> a <i>kot</i> ma Alę</p>
W pozostałych odpowiedziach występują różne błędy, które wpływają na ich poprawność. W pierwszym przypadku zamknięcie tagu <b> jest poprawne, jednak brak jest prawidłowego zakończenia tagu <i>, co powoduje, że kod nie jest zgodny z zasadami XHTML. Poprawne zamykanie tagów jest kluczowe, ponieważ XHTML jest bardziej restrykcyjny niż HTML, a niepoprawne zamknięcie tagu powoduje błędne renderowanie. W drugiej analizowanej opcji, również występuje niepoprawne zamknięcie tagu <b>, gdzie użyto <i> zamiast <b>, co wprowadza zamieszanie w semantyce tekstu. W przypadku dokumentów XHTML, każdy otwarty tag musi mieć swoje odpowiadające zamknięcie, co nie zostało spełnione. W trzeciej opcji pojawia się błąd z brakiem zamknięcia tagu <p>, co jest fundamentalnym błędem strukturalnym. Nieprawidłowe zagnieżdżenie i brak zamknięcia tagów prowadzi do sytuacji, w której przeglądarki internetowe mogą niepoprawnie interpretować kod, co wpływa na ostateczny wygląd strony. W każdej z tych nieprawidłowych odpowiedzi brakuje elementarnej dbałości o zgodność z zasadami XHTML, co jest niezbędne dla uzyskania wiarygodności i prawidłowego funkcjonowania dokumentów internetowych.

Pytanie 15

Jaką wartość zwróci funkcja zoo zdefiniowana w języku C++, wywołana z aktualnym parametrem 3.55

int zao(float x){
    return (x + 0.5);
}
A. 4
B. 4.05
C. 3.5
D. 3
Dobra robota! Wybrałeś poprawną odpowiedź, która wynosi 4. W języku C++ typy zmiennoprzecinkowe (float) są konwertowane do typów całkowitych (int) poprzez odrzucenie części ułamkowej liczby. W tym przypadku, nawet jeśli wynik działania wewnątrz funkcji wynosi 4.05, po konwersji do typu int, zostaje z tego tylko 4. Jest to dobra praktyka, aby zawsze pamiętać o tym zachowaniu podczas pracy z różnymi typami danych w językach programowania, zwłaszcza jeśli precyzja jest istotna dla twojego kodu. Odrzucenie części ułamkowej może prowadzić do nieoczekiwanych wyników, jeśli nie jest to świadome działanie. Dlatego w języku C++ zaleca się zawsze jasne i precyzyjne określenie typu danych.

Pytanie 16

W SQL przy użyciu kwerendy ALTER można

A. stworzyć tabelę
B. dodać dane do tabeli
C. zmienić strukturę tabeli
D. zlikwidować tabelę
Kwerenda <i>ALTER</i> w SQL ma na celu modyfikację istniejących tabel, a nie ich usuwanie czy tworzenie nowych. Usunięcie tabeli realizowane jest za pomocą komendy <i>DROP</i>, która trwałego eliminuje tabelę z bazy danych, wraz z wszystkimi danymi, które zawiera. Tworzenie nowych tabel odbywa się za pomocą kwerendy <i>CREATE</i>, która definiuje nową strukturę i jest niezbędna, gdy potrzebujemy zacząć od zera lub wprowadzić nowe dane w zgodzie z innymi wymaganiami lub projektami. Natomiast wprowadzanie danych do tabeli zrealizowane jest przy pomocy komendy <i>INSERT</i>, która pozwala na dodawanie nowych rekordów do już istniejących tabel w bazie. Odpowiedzi te mogą prowadzić do mylnych wniosków, ponieważ nie uwzględniają konkretnej funkcjonalności kwerendy <i>ALTER</i</i>, co jest kluczowe dla zrozumienia relacyjnych baz danych. W praktyce, brak zrozumienia roli i zastosowania poszczególnych kwerend SQL może prowadzić do błędów w projektowaniu baz danych oraz ich administracji, co może skutkować utratą danych lub wydajności. Ważne jest zatem, aby jasno rozróżniać te komendy i ich zastosowania w kontekście zarządzania danymi w systemach bazodanowych.

Pytanie 17

Która z poniższych funkcji w języku PHP zamienia słowo "kota" na "mysz" w ciągu "ala ma kota"?

A. replace("ala ma kota", "kota", "mysz");
B. replace("kota", "mysz", "ala ma kota");
C. str_replace( "kota", "mysz", "ala ma kota");
D. str_replace("ala ma kota", "kota", "mysz");
Odpowiedź str_replace( "kota", "mysz", "ala ma kota") jest prawidłowa, ponieważ funkcja str_replace w PHP jest dedykowana do zastępowania określonych ciągów znaków innymi ciągami w danym tekście. W tym przypadku, str_replace przyjmuje trzy argumenty: pierwszy to ciąg, który chcemy zamienić ("kota"), drugi to ciąg, na który chcemy zamienić ("mysz"), a trzeci to tekst, w którym dokonujemy zamiany ("ala ma kota"). Funkcja przeszukuje tekst i zamienia wszystkie wystąpienia pierwszego argumentu na drugi. W praktyce, jeśli potrzebujemy na przykład zmienić fragmenty tekstu w aplikacji internetowej lub podczas przetwarzania danych, stosowanie str_replace jest bardzo efektywne i powszechnie uznawane za najlepszą praktykę w PHP. Dzięki tej funkcji programiści mogą łatwo modyfikować teksty w bazach danych lub na stronach internetowych, co zwiększa ich elastyczność oraz zwiększa wygodę użytkowników. Z tego powodu, zrozumienie działania str_replace jest kluczowe dla efektywnego programowania w PHP.

Pytanie 18

W języku PHP, po wykonaniu poniższego fragmentu kodu, w zmiennej o nazwie Nowy_Napis zostanie zapisany:

$Napis = "ZaWszE SpRaWdZ swoj KoD";
$Nowy_Napis = strtolower($Napis);
A. zAwSZe sPrAwDz SWOJ kOd
B. ZaWszE
C. ZAWSZE SPRAWDZ SWOJ KOD
D. zawsze sprawdz swoj kod
Wybór odpowiedzi, które nie są poprawne, opiera się na niewłaściwym zrozumieniu działania funkcji strtolower(). Niektóre z odpowiedzi sugerują, że tekst wynikowy pozostaje w różnych formach, jednak każda z nich nie odzwierciedla efektu działania tej funkcji. Odpowiedź 'ZAWSZE SPRAWDZ SWOJ KOD' wskazuje, że wszystkie litery powinny pozostać w oryginalnej wielkości, co jest niezgodne z działaniem strtolower(). Inna odpowiedź, 'ZaWszE', sugeruje, że funkcja mogłaby tylko częściowo zmieniać wielkości liter, co jest również błędne, ponieważ funkcja ta konwertuje cały łańcuch do małych liter. Z kolei 'zAwSZe sPrAwDz SWOJ kOd' pokazuje, że użytkownik myli działanie strtolower() z innymi operacjami przekształcającymi tekst. Ważne jest, aby zrozumieć, że strtolower() nie wprowadza żadnych warunków ani nie zachowuje oryginalnej struktury tekstu, a jego celem jest zapewnienie jednolitości w zapisie tekstu. W związku z tym, aby uzyskać prawidłowy wynik, kluczowe jest zrozumienie zasady działania tej funkcji i jej zastosowania w kontekście przetwarzania danych.

Pytanie 19

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
C. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
D. SELECT psy FROM rok_szczepienia < 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015' jest poprawny, ponieważ spełnia wszystkie kryteria zawarte w pytaniu. Kluczowym elementem jest zastosowanie klauzuli WHERE, która filtruje wyniki do tych, gdzie rok szczepienia jest mniejszy niż 2015. Używając SELECT, wybieramy tylko kolumnę 'telefon_wlasciciela', co odpowiada na konkretną potrzebę, jaką jest uzyskanie numerów telefonów właścicieli psów, które były szczepione przed określoną datą. W praktyce, takie zapytanie może być użyteczne w sytuacjach np. przypominania właścicielom o konieczności szczepień, co wpisuje się w szerszy kontekst zarządzania zdrowiem zwierząt. Dobre praktyki w SQL obejmują również staranność przy określaniu warunków filtracji, aby zminimalizować ryzyko błędnych wyników. Warto także pamiętać o indeksowaniu kolumn w bazie danych, co może przyspieszyć wykonywanie takich zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 20

Czym w relacyjnej bazie danych jest odpowiednik encji?

A. tabela
B. kolumna
C. wiersz
D. atrybut
No, odpowiedzi w formie wierszy, kolumn czy atrybutów nie oddają tego, co encja oznacza w relacyjnych bazach danych. Wiersz to niby pojedynczy rekord, ale nie pokazuje encji w pełni. Jakbyśmy uznali wiersz za encję, to moglibyśmy źle zrozumieć, że encja to tylko jeden zestaw danych, a nie cały zbiór rekordów. Kolumna z kolei definiuje atrybuty encji, ale sama nie oddaje encji w całości. Atrybuty są do opisu cech obiektów, ale to nie znaczy, że same w sobie pokazują ich zbiór. Ważne jest, żeby pojąć, że encja jako całość jest reprezentowana przez tabelę, a nie przez pojedyncze składniki jej struktury. W praktyce wiele osób myli te pojęcia, co rzadko prowadzi do efektywnego modelowania danych i może sprawiać problemy z integracją oraz wydajnością zapytań. Dlatego warto uczyć się o strukturze bazy danych, skupiając się na tym, jak różne elementy współdziałają, żeby tworzyć sensowną całość, która dobrze przechowuje i zarządza danymi.

Pytanie 21

Co oznacza w języku C++ przedstawiony fragment kodu?

struct CONTACT
{
std::string nazwisko;
std::string telefon;
int numer;
};
A. Organizację zmiennych
B. Typ strukturalny składający się z trzech pól
C. Interakcję między zmiennymi lokalnymi a globalnymi
D. Trzy niezależne zmienne
W C++ struktury to takie narzędzia do grupowania danych, co już wiesz. Jednak w twoim opisie pojawił się błąd dotyczący zmiennych globalnych i lokalnych. To nie do końca ma związek z tym, co robi struktura. Globalne zmienne to te, które możesz używać wszędzie w programie, a lokalne tylko w danym bloku kodu. Hierarchia zmiennych to inny temat, bo zazwyczaj chodzi o klasy i dziedziczenie, a nie o struktury. W przypadku CONTACT, wszystkie pola są równorzędne, więc nie ma tam żadnej hierarchii. Twoje stwierdzenie, że te zmienne są niepowiązane, również jest nietrafione, bo z definicji struktury wszystkie te pola skupiają się na tym samym obiekcie. To, że struktury grupują dane, to jedna z ich najważniejszych cech, którą trzeba mieć na uwadze, żeby dobrze wykorzystywać możliwości C++.

Pytanie 22

Aby baza danych działała poprawnie i konsekwentnie, konieczne jest wprowadzenie w każdej tabeli

A. klucza PRIMARY KEY z wartością NOT NULL i UNIQUE
B. klucza obcego z wartością NOT NULL i UNIQUE
C. klucza FOREIGN KEY z wartością NOT NULL
D. kluczy PRIMARY KEY i FOREIGN KEY
Każda z pozostałych opcji jest błędna z perspektywy podstawowych zasad projektowania baz danych. Klucz FOREIGN KEY jest ważnym elementem w relacyjnych bazach danych, jednak jego sama obecność nie wystarcza do zapewnienia integralności danych w tabeli. Klucz obcy służy jako odniesienie do klucza głównego innej tabeli, co pozwala na łączenie danych, ale nie gwarantuje, że każdy rekord w tabeli będzie miał unikalny identyfikator. W przypadku wartości NOT NULL, nie jest to wymagane dla klucza FOREIGN KEY, ponieważ klucz obcy może odnosić się do wartości NULL w tabeli głównej. Wprowadzenie ograniczenia UNIQUE na kluczu obcym również nie jest konieczne, ponieważ jego głównym celem jest relacja pomiędzy tabelami, a nie zapewnienie unikalności w obrębie jednej tabeli. Dodatkowo, klucz PRIMARY KEY z wartością NOT NULL i UNIQUE jest niezbędny, ponieważ to właśnie te cechy zapewniają, że tabela będzie dobrze zorganizowana i efektywna. Dlatego też, aby zapewnić spójność i integralność danych, klucz PRIMARY KEY odgrywa kluczową rolę, a inne opcje nie mogą zastąpić jego fundamentalnych właściwości.

Pytanie 23

W SQL wykorzystywanym przez system baz danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. Jest używany, gdy wartości w kolumnie nie mogą się powtarzać
B. Zabrania wprowadzenia wartości NULL
C. Wymusza unikalne nazwy kolumn w tabeli
D. Jest stosowany wyłącznie w przypadku kolumn liczbowych
Istnieje kilka powszechnych nieporozumień dotyczących atrybutu UNIQUE w kontekście relacyjnych baz danych, które mogą prowadzić do błędnych wniosków. Przede wszystkim, twierdzenie, że atrybut UNIQUE wymusza unikatowe nazwy pól tabeli, jest nieprecyzyjne. UNIKATOWOŚĆ odnosi się do wartości przechowywanych w kolumnie, a nie do nazw kolumn. W rzeczywistości, nowa kolumna nie może mieć takiej samej nazwy jak istniejąca kolumna w tej samej tabeli, co jest regułą odzwierciedlającą strukturalne ograniczenia bazy danych, ale nie ma to związku z atrybutem UNIQUE. Ponadto, atrybut ten nie blokuje możliwości wpisania wartości NULL w kolumnach. W MySQL, kolumna z atrybutem UNIQUE może zawierać wiele wartości NULL, ponieważ NULL jest traktowane jako wartość nieokreślona i nie jest uważane za duplikat. Dlatego stwierdzenie, że UNIQUE blokuje możliwość wpisania wartości NULL, jest mylące. Co więcej, atrybut UNIQUE nie jest ograniczony tylko do pól liczbowych; może być zastosowany do dowolnego typu danych, w tym tekstowych czy datowych. Stosowanie UNIQUE w zbiorach danych, które nie wymagają unikalności, może prowadzić do zbędnych błędów i komplikacji podczas wprowadzania danych. Dlatego ważne jest, aby zrozumieć, że atrybut ten odnosi się do wartości w kolumnach, a nie do ich typów czy nazw, co jest kluczowe dla efektywnego projektowania baz danych.

Pytanie 24

Jak określa się program, który realizuje polecenia zawarte w kodzie źródłowym tworzonego oprogramowania bez wcześniejszego generowania programu wynikowego?

A. Konwerter kodu
B. Konwerter języka
C. Interpreter
D. Kompilator
Interpreter to program, który wykonuje instrukcje zawarte w kodzie źródłowym bez potrzeby wcześniejszego generowania kodu wynikowego. Działa on na zasadzie analizy i wykonywania kodu w czasie rzeczywistym, co pozwala na szybkie testowanie i debugowanie aplikacji. Dzięki temu programiści mogą wprowadzać zmiany w kodzie i natychmiastowo sprawdzać ich efekty, co znacznie przyspiesza proces tworzenia oprogramowania. Interpretery są często wykorzystywane w językach skryptowych, takich jak Python, JavaScript czy Ruby, gdzie szybka iteracja jest kluczowa. Warto również zaznaczyć, że interpretery mogą być częścią większych środowisk programistycznych, co jest zgodne z praktykami Agile, które promują elastyczność i szybkie dostosowywanie się do zmieniających się wymagań. Dlatego znajomość działania interpreterów jest niezbędna dla każdego programisty, który chce skutecznie rozwijać swoje umiejętności i dostosowywać się do nowoczesnych trendów w programowaniu.

Pytanie 25

Strona internetowa została wyświetlona przez przeglądarkę w poniższy sposób. Wskaż kod HTML, który prawidłowo reprezentuje zaprezentowaną hierarchiczną strukturę tekstu:

Ilustracja do pytania
A. <big>Rozdział 1</big>tekst<big>Podrozdział 1.1</big>tekst<big>Podrozdział 1.2</big>
B. <ul><li>Rozdział 1<li>tekst<li>Podrozdział 1.1<li>tekst<li>Podrozdział 1.2</ul>
C. <h1>Rozdział 1</h1> <p>tekst</p> <h2>Podrozdział 1.1</h2> <p>tekst</p> <h2>Podrozdział 1.2</h2>
D. <h1>Rozdział 1<p>tekst <h2>Podrozdział 1.1<p>tekst <h2>Podrozdział 1.2
Odpowiedzi nie wyszły za dobrze. To pewnie przez to, że źle zrozumiano, jak działa semantyczna struktura HTML. Znacznik <ul> i <li> sugerują listę punktowaną, co w tym przypadku nie jest właściwe do pokazywania hierarchii informacji w formie rozdziałów i podrozdziałów. HTML powinien być semantyczny, co znaczy, że struktura dokumentu musi odpowiadać jego treści i zastosowaniu. Jak masz treści hierarchiczne, nagłówki <h1> i <h2> są bardzo ważne, bo jasno układają, co jest główną sekcją a co podsekcją, co pomaga w logice całego tekstu. Użycie <big> to już przeżytek, bo nie ma sensu w nowoczesnym HTML, więc lepiej go unikać. Dobre praktyki webowe w dzisiejszych czasach stawiają na semantykę i dostępność, a to ma wpływ na SEO i doświadczenia użytkowników, w tym tych korzystających z różnych technologii wspomagających. Błędne użycie znaczników wprowadza chaos w kodzie, co utrudnia jego czytelność i późniejsze zarządzanie, dlatego tak ważne jest, żeby używać odpowiednich znaczników zgodnie z ich znaczeniem w HTML.

Pytanie 26

W przedstawionej regule CSS: h1 {color: blue} h1 symbolizuje

A. selektor
B. klasę
C. wartość
D. deklarację
W podanej regule CSS, h1 {color: blue}, h1 jest selektorem, który identyfikuje elementy HTML, na które ma być zastosowany styl. Selektory są kluczowym elementem w CSS, ponieważ pozwalają na precyzyjne określenie, do których elementów stosować dane style. W tym przypadku h1 wskazuje na wszystkie nagłówki pierwszego poziomu w dokumentach HTML. Używając selektora h1, możemy na przykład zmienić kolor wszystkich tytułów na niebieski, co jest istotne dla poprawy estetyki i czytelności strony. Dobrą praktyką jest stosowanie odpowiednich selektorów, aby unikać niepotrzebnej redundancji w kodzie, co przyczynia się do lepszej wydajności ładowania strony. Zrozumienie selektorów CSS jest niezbędne do efektywnego stylizowania stron internetowych i jest zgodne z najlepszymi standardami w branży, takimi jak W3C. Na przykład, możemy również używać selektorów klas lub identyfikatorów, aby stosować różne style do konkretnych elementów, co pozwala na większą elastyczność i kontrolę nad wyglądem strony.

Pytanie 27

Kto z wymienionych zajmuje się nieprzerwanym przygotowaniem systemu bazy danych do pracy produkcyjnej, zarządzaniem kontami użytkowników oraz instalowaniem aktualizacji systemu bazodanowego?

A. Administratorzy serwerów oraz sieci komputerowych
B. Twórcy narzędzi dla deweloperów
C. Administratorzy systemu bazy danych
D. Projektanci i programiści Systemu Zarządzania Bazą Danych
Wybór projektantów narzędzi deweloperskich jako odpowiedzialnych za przygotowanie systemu bazy danych do pracy produkcyjnej jest błędny, ponieważ ich głównym zadaniem jest projektowanie i rozwijanie narzędzi oraz aplikacji, które ułatwiają proces tworzenia oprogramowania. Nie zajmują się oni bezpośrednio zarządzaniem bazami danych, lecz tworzą rozwiązania, które mogą być wykorzystywane przez administratorów baz danych. Z kolei administratorzy serwerów i sieci komputerowych koncentrują się na zarządzaniu infrastrukturą sieciową i serwerową, co obejmuje utrzymanie sprzętu oraz zapewnienie jego dostępności i wydajności. Ich praca jest istotna dla ogólnego funkcjonowania systemów, ale nie zajmują się oni bezpośrednio bazami danych ani nie zarządzają nimi. Ostatnia grupa, czyli projektanci i programiści Systemu Zarządzania Bazą Danych, koncentruje się na tworzeniu oprogramowania do zarządzania bazą danych oraz na jego rozwoju. Choć ich praca jest niezbędna w kontekście tworzenia funkcjonalności bazy danych, to nie odpowiadają oni za codzienne zarządzanie i utrzymanie działającego systemu. Dlatego też tylko administratorzy systemu bazy danych są odpowiedzialni za ciągłe przygotowanie systemu do pracy produkcyjnej oraz zarządzanie użytkownikami.

Pytanie 28

W CSS zapisany w ten sposób:

p { background-image: url("rysunek.png"); }

spowoduje, że rysunek.png stanie się

A. tłem każdego akapitu
B. wyświetlony, jeśli w kodzie użyty zostanie znacznik img
C. widoczny obok każdego akapitu
D. tłem całej witryny
Zapis CSS p { background-image: url("rysunek.png"); } oznacza, że dla każdego elementu akapitowego <p> w dokumencie zostanie ustawione tło w postaci grafiki o nazwie rysunek.png. Ta reguła selektora p dotyczy wyłącznie znaczników akapitu, więc nie wpłynie na inne elementy strony, takie jak body czy img. Tak się to stosuje w praktyce: projektując na przykład bloga, możesz dodać delikatny deseń lub obrazek w tle akapitu, żeby całość wyglądała ciekawiej albo podkreślała styl witryny. Co ciekawe, background-image w CSS pozwala na olbrzymią elastyczność — możesz wykorzystać obrazy, gradienty czy nawet SVG jako tło. Standardy CSS jasno to definiują: background-image działa zawsze na tym elemencie, dla którego zadeklarowano regułę w selektorze. Warto pamiętać, że tło nie przesłoni tekstu w akapicie, tylko się pod nim wyświetli, więc czytelność jest zachowana. Z własnego doświadczenia uważam, że umiejętność stosowania background-image do konkretnych elementów to jedno z podstawowych narzędzi webdevelopera — pozwala przygotować naprawdę estetyczne i przejrzyste layouty. Dobrym nawykiem jest także testowanie widoczności tła na różnych urządzeniach, bo rozdzielczości i skalowanie potrafią zaskoczyć. Dla porządku, jeśli podasz background-image bez żadnych dodatkowych parametrów (jak powtarzanie czy pozycjonowanie), obrazek domyślnie będzie się powtarzał w poziomie i pionie, aż pokryje cały akapit.

Pytanie 29

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
B. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
C. Połączyć relacją pola ID z obu tych tabel
D. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
Relacja jeden do wielu polega na tym że jedna wartość z jednej tabeli może być związana z wieloma wartościami w innej tabeli W tym przypadku jeden klient może mieć wiele zamówień co oznacza że musimy dodać pole klucza obcego w tabeli Zamowienia które będzie odnosiło się do Klientów Klucz obcy w bazach danych to pole które odwołuje się do klucza głównego w innej tabeli Dobre praktyki projektowania baz danych sugerują aby takie połączenia realizować za pomocą kluczy obcych co pozwala na utrzymanie integralności danych oraz łatwiejsze ich przetwarzanie W praktyce oznacza to że w tabeli Zamowienia dodajemy pole które przechowuje ID z tabeli Klienci Standardy branżowe jak SQL ANSI określają sposób tworzenia takich relacji co zapewnia kompatybilność z większością systemów zarządzania bazami danych Dzięki temu możemy łatwo uzyskać wszystkie zamówienia przypisane do konkretnego klienta co jest funkcjonalnością często wymaganą w aplikacjach biznesowych

Pytanie 30

W HTML, aby utworzyć sekcję z cytatem, która może zawierać wiele akapitów i aby przeglądarka dodała wspólne wcięcie, trzeba użyć znacznika

A. <q>
B. <blockquote>
C. <indent>
D. <blockq>
Znacznik <q> jest używany do oznaczania cytatów wprowadzonej w linii, co oznacza, że jest przeznaczony do krótkich cytatów, a nie dłuższych fragmentów tekstu. Jego zastosowanie nie zapewnia odpowiedniego wcięcia ani oddzielenia wizualnego od reszty treści, co może prowadzić do nieczytelności dłuższych cytatów. Odpowiedź <indent> nie jest poprawna, ponieważ nie istnieje taki znacznik w HTML. Użytkownicy mogą pomylić go z CSS, gdzie właściwość 'text-indent' służy do dodawania wcięć, ale sama nie definiuje struktury dokumentu. Z kolei <blockq> to literówka, gdyż poprawny znacznik to <blockquote>. Użycie nieistniejącego znacznika prowadzi do błędów w renderowaniu strony i zmniejsza jej semantyczność. Ważne jest, aby w projektowaniu stron internetowych stosować właściwe i standardowe znaczniki HTML, które nie tylko wpływają na estetykę, ale również na SEO i dostępność. W kontekście zarządzania treścią na stronie internetowej, niepoprawne użycie znaczników może wprowadzać w błąd użytkowników oraz maszyny przeszukujące, co negatywnie wpływa na ich doświadczenia i skuteczność wyszukiwania.

Pytanie 31

Jakim protokołem można bezpiecznie przesłać pliki strony internetowej na serwer WWW?

A. POP3
B. SFTP
C. Telnet
D. IMAP
SFTP, czyli Secure File Transfer Protocol, to taki fajny protokół do bezpiecznego przesyłania plików między komputerami w sieci. Działa to na bazie SSH, co sprawia, że nasze dane są w miarę bezpieczne, bo są szyfrowane. Dzięki temu wiadomo, że nikt nieprzyjemny ich nie przechwyci. SFTP jest super przydatne, zwłaszcza jak przesyłamy pliki na serwery WWW, bo można też nimi zarządzać na serwerze bez strachu, że coś pójdzie nie tak. Przykładowo, programista może potrzebować wrzucić nowe wersje plików HTML, CSS czy JavaScript na serwer. Warto wiedzieć, że są jakieś standardy jak RFC 4253 czy RFC 4251, które mówią, jak to wszystko działa, więc mamy pewność, że jest to dosyć solidny sposób na transfer danych.

Pytanie 32

Zgodnie z zasadami ACID dotyczącymi transakcji, wymóg izolacji (ang. isolation) wskazuje, że

A. jeśli dwie transakcje są wykonywane równolegle, to zazwyczaj nie zauważają wprowadzanych przez siebie zmian
B. pod określonymi warunkami dane modyfikowane przez transakcję mogą zostać anulowane
C. gdy wystąpi konflikt z inną transakcją, obie mogą modyfikować te same dane równocześnie
D. po zrealizowaniu transakcji system baz danych będzie w stanie spójności
Po pierwsze, odpowiedź, która sugeruje, że po wykonaniu transakcji system bazy danych będzie spójny, nie odnosi się bezpośrednio do aspektu izolacji. Spójność to w rzeczywistości inne z wymaganych stanów ACID, które koncentruje się na tym, że wszystkie transakcje muszą zapewnić, że system przechodzi z jednego stanu spójnego do innego. Izolacja działa w zupełnie innym kontekście. Kolejna odpowiedź wskazująca na konflikt modyfikacji danych przez różne transakcje sugeruje sytuację, która w rzeczywistości powinna być unika, a nie opisana jako cecha izolacji. Izolacja ma na celu zapobieganie takim konfliktom, a nie ich akceptację. Dodatkowo, odpowiedź mówiąca o wycofywaniu danych pod pewnymi warunkami odnosi się do działania mechanizmu rollback, który jest związany z innym aspektem transakcji – atomowością. Atomowość dotyczy tego, czy cała transakcja zostanie pomyślnie zakończona, czy też w razie problemów zostanie wycofana, ale nie bezpośrednio do izolacji. Powszechny błąd myślowy polega na myleniu tych pojęć i ich wzajemnych interakcji. Właściwe zrozumienie izolacji jako ochrony przed widocznością zmian między transakcjami współbieżnymi jest kluczowe dla projektowania poprawnych i odpornych na błędy systemów baz danych.

Pytanie 33

Jak nazywa się metoda tworząca obiekt w języku PHP?

A. __new
B. __open
C. __construct
D. __create
Odpowiedzi, które nie są poprawne, nie odnoszą się do właściwego sposobu definiowania konstruktorów w PHP. Wyrażenie __new sugeruje mechanizm związany z tworzeniem instancji obiektów, jednak nie jest ono używane jako konstruktor. W PHP __new jest używane w kontekście wzorców projektowych, ale nie jest to metoda konstrukcyjna, lecz metodą statyczną związaną z prototypowaniem obiektów, co wykracza poza standardowy sposób inicjalizacji obiektów. Z kolei __open oraz __create nie są metodami rozpoznawanymi przez PHP jako mające jakiekolwiek znaczenie w kontekście konstruktorów. __open mogłoby sugerować otwarcie zasobu, co nie ma związku z inicjalizacją obiektu klasy, a __create jest nieodpowiednim terminem, gdyż PHP nie definiuje żadnej metody o takiej nazwie. Użycie tych nazw w kontekście konstruktorów wprowadza zamieszanie i może prowadzić do błędów w kodzie oraz nieporozumień dotyczących działania obiektów. Właściwe użycie __construct jako konstruktorów w PHP jest kluczowe dla zapewnienia prawidłowego działania aplikacji, a niewłaściwe nazewnictwo może prowadzić do problemów technicznych i ograniczeń funkcjonalnych.

Pytanie 34

Jak nazywa się element systemu zarządzania treścią, który jest bezpośrednio odpowiedzialny za wygląd strony internetowej?

A. Motyw w systemie WordPress lub szablon w systemie Joomla!
B. Kokpit w systemie WordPress lub panel administracyjny w systemie Joomla!
C. Widżet w systemie WordPress lub moduł w systemie Joomla!
D. Wtyczka w systemie WordPress lub dodatek w systemie Joomla!
Wybranie kokpitu w systemie WordPress lub panelu administracyjnego w systemie Joomla! jako kluczowego elementu odpowiedzialnego za wygląd witryny jest błędne, ponieważ te interfejsy służą przede wszystkim do zarządzania treścią i konfiguracji strony, a nie do jej wizualizacji. Kokpit WordPressa oraz panel Joomla! to narzędzia służące do dodawania, edytowania i organizowania treści, zarządzania użytkownikami oraz różnymi funkcjami witryny. Użytkownicy często mylą te dwa pojęcia, nie zdając sobie sprawy, że odpowiedzialność za estetykę witryny leży w zupełnie innym miejscu. Wtyczki i dodatki, jak sugerowane w kolejnej odpowiedzi, są narzędziami rozszerzającymi funkcjonalność serwisu, ale nie wpływają bezpośrednio na jego wygląd. Wtyczki mogą zmieniać sposób, w jaki treści są prezentowane, ale to motywy i szablony decydują o ich ostatecznym układzie wizualnym. Widżety i moduły, które również były wymienione w odpowiedziach, są elementami interfejsu, które mogą wpływać na rozmieszczenie zawartości w obrębie istniejącego motywu, ale nie są odpowiedzialne za podstawowy wygląd. W związku z tym błędne jest przypisywanie wyglądu witryny do narzędzi administracyjnych czy rozszerzeń, które w rzeczywistości pełnią inne funkcje. Zrozumienie różnicy pomiędzy tymi terminami jest kluczowe dla efektywnego zarządzania i projektowania stron internetowych.

Pytanie 35

Określ, w jaki sposób należy odnosić się do pliku default.css, jeżeli index.html znajduje się bezpośrednio w folderze Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
B. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
C. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
D. <link rel="stylesheet" type="text/css" href="./style/default.css" />
Poprawna odpowiedź wskazuje na relatywną ścieżkę do pliku CSS. W HTML, stosowanie ścieżek relatywnych jest standardem i dobrą praktyką. Relatywna ścieżka ./style/default.css oznacza, że plik default.css znajduje się w folderze style, który jest bezpośrednio wewnątrz katalogu, w którym znajduje się plik index.html. Stosowanie relatywnych ścieżek zapewnia większą elastyczność i przenośność projektu, ponieważ nie są one zależne od struktury folderów na danym komputerze. Jest to szczególnie ważne w kontekście aplikacji webowych, które mogą być przenoszone między różnymi środowiskami serwerowymi. Zaleca się, aby projektanci stron zawsze używali ścieżek relatywnych, aby uniknąć problemów z odwoływaniem się do zasobów po zmianie lokalizacji projektu. Użycie poprawnej składni w tagu link, jak rel=stylesheet oraz type=text/css, zgodnie z dobrymi praktykami zapewnia poprawne załadowanie stylów CSS, co wpływa na poprawne wyświetlanie się strony w przeglądarkach.

Pytanie 36

Co można powiedzieć o przedstawionym zapisie języka HTML5?

<title>Strona o psach</title>
A. Jest jedynie informacją dla robotów wyszukiwarek i nie jest wyświetlany przez przeglądarkę.
B. Pojawi się na karcie dokumentu w przeglądarce.
C. Zostanie wyświetlony w treści strony, na samej górze.
D. Jest opcjonalny w języku HTML5 i nie musi występować w dokumencie.
Brawo, Twoja odpowiedź jest prawidłowa! Znacznikiw języku HTML 5 służy do określenia tytułu strony internetowej, który jest wyświetlany na karcie przeglądarki. Nie jest to opcjonalna informacja - każda strona powinna mieć tytuł dla lepszej identyfikacji i optymalizacji SEO (Search Engine Optimization). Tytuł strony jest jednym z kluczowych elementów dla SEO, ponieważ wyszukiwarki internetowe, takie jak Google, często wykorzystują tytuł strony jako główny link w wynikach wyszukiwania. Tytuł strony jest również ważny z punktu widzenia użytkownika - dobrze sformułowany tytuł może przyciągnąć uwagę potencjalnego odbiorcy i zachęcić go do odwiedzenia strony. Warto zauważyć, że tytuł nie jest wyświetlany bezpośrednio na stronie, ale na pasku tytułu przeglądarki lub na karcie strony. To ważne rozróżnienie pomaga zrozumieć, dlaczego niektóre elementy są widoczne dla użytkownika, a inne nie.

Pytanie 37

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. debugowania strony internetowej
B. sprawdzania zgodności witryny ze standardem HTML5
C. walidacji stylów CSS
D. walidacji kodu HTML i XHTML
Narzędzie przedstawione na ilustracji to usługa walidacji CSS stworzona przez World Wide Web Consortium (W3C). Jego głównym celem jest sprawdzanie poprawności arkuszy stylów CSS pod kątem zgodności z obowiązującymi standardami. Walidacja CSS pozwala na identyfikację błędów składniowych oraz niepoprawnych wartości, co jest kluczowe dla zapewnienia spójności wyglądu strony w różnych przeglądarkach. Korzystanie z walidatora CSS jest częścią dobrych praktyk w procesie tworzenia stron internetowych, ponieważ poprawny kod CSS zwiększa dostępność i użyteczność serwisów. Praktycznym przykładem użycia tego narzędzia jest proces optymalizacji strony internetowej, gdzie walidator pomaga w eliminacji błędów, które mogą prowadzić do nieprzewidywalnego zachowania witryny. Dzięki walidacji możemy również upewnić się, że nasze arkusze stylów są zgodne z najnowszymi standardami, co jest istotne dla przyszłej kompatybilności serwisu.

Pytanie 38

Aby właściwie przystosować stronę internetową dla osób niewidomych, należy przypisać wyświetlanym za pomocą znacznika img obrazom atrybut

A. alt
B. text
C. src
D. style
Atrybut 'alt' w znaczniku <img> to naprawdę ważny element, jeśli chodzi o dostępność stron internetowych dla osób niewidomych. Głównie chodzi o to, żeby zapewnić opis obrazka, który mogą zrozumieć technologie asystujące, tak jak czytniki ekranu. Dzięki temu, osoby niewidome mają możliwość dowiedzieć się, co znajduje się na zdjęciu. Na przykład, jeśli mamy zdjęcie czerwonego swetra w sklepie internetowym, to warto wpisać coś takiego jak 'Czerwony sweter z wełny' w tym atrybucie. To też pomaga w SEO, bo wyszukiwarki lubią takie opisy. W skrócie, dobrze jest stosować atrybut 'alt' przy każdym obrazie, by każdy użytkownik mógł zrozumieć treść strony.

Pytanie 39

Które z podanych formatów NIE JEST zapisane w języku CSS?

Ilustracja do pytania
A. A
B. C
C. B
D. D
Odpowiedź C jest prawidłowa, ponieważ atrybut bgcolor jest przestarzałą metodą określania koloru tła w HTML i nie jest częścią CSS. CSS (Cascading Style Sheets) zostało stworzone, aby oddzielić prezentację dokumentu od jego struktury. Korzystanie z CSS pozwala na lepsze zarządzanie stylem i spójność w wyglądzie wielu stron internetowych. Atrybuty HTML związane z wyglądem, takie jak bgcolor, zostały zastąpione przez deklaracje w CSS. Na przykład w CSS można ustawić kolor tła całej strony za pomocą selektora body i właściwości background-color. Takie podejście jest bardziej elastyczne i zgodne z nowoczesnymi standardami. Dzięki CSS możliwe jest stosowanie zaawansowanych stylizacji, takich jak gradienty czy obrazy tła, które nie były dostępne w prostych atrybutach HTML. Przy projektowaniu stron internetowych zaleca się, aby unikać przestarzałych atrybutów HTML, które mogą być niekompatybilne z nowoczesnymi przeglądarkami i powodować problemy z dostępnością.

Pytanie 40

Zastosowanie atrybutu NOT NULL dla kolumny jest konieczne w sytuacji, gdy

A. tworzymy definicję wszystkich pól tabeli
B. korzystamy z atrybutu DEFAULT
C. definiujemy wszystkie pola o typie numerycznym
D. mamy do czynienia z kluczem podstawowym
Nieprawidłowe odpowiedzi odzwierciedlają typowe błędne rozumienie działania atrybutu NOT NULL w kontekście tabel baz danych. W przypadku klucza podstawowego, jest to niezbędny warunek, aby zapewnić, że każdy wiersz w tabeli jest jednoznacznie identyfikowalny. Odpowiedzi sugerujące, że atrybut NOT NULL jest wymagany przy użyciu atrybutu DEFAULT, są mylące, ponieważ atrybut DEFAULT służy do ustalania wartości domyślnych dla kolumn, które mogą przyjmować wartość NULL. Użycie atrybutu DEFAULT wcale nie implikuje, że kolumna musi być oznaczona jako NOT NULL. Kolejna niepoprawna koncepcja dotyczy definicji wszystkich pól tabeli. Nie ma wymogu, aby wszystkie kolumny w tabeli były oznaczone jako NOT NULL; zależy to od specyficznych wymagań dotyczących danych w danej aplikacji. Ponadto, definicja wszystkich pól typu numerycznego jako NOT NULL również jest fałszywa, ponieważ pola numeryczne mogą być używane do reprezentacji wartości, które mogą być nieznane lub nieprzydzielone, co prowadziłoby do sytuacji, w której wartość NULL jest jak najbardziej uzasadniona. Zrozumienie tych różnic jest kluczowe dla efektywnego projektowania baz danych oraz zarządzania danymi w aplikacjach, co jest zgodne z najlepszymi praktykami w branży.