Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Rozpoczęcie: 8 września 2026 12:04
Zakończenie: 8 września 2026 12:25
Egzamin zdany!
Wynik: 30/40 punktów (75,0%)
Wymagane minimum: 20 punktów (50%)
Twój wynik na tle innych
Twój wynik jest lepszy niż 64% podejść do kwalifikacji INF.03.
Porównanie z 40520 zakończonymi podejściami do tej kwalifikacji (dane zbiorcze, bez wyników indywidualnych).
Zachowaj ten wynik na koncie
Załóż darmowe konto albo zaloguj się - ten egzamin przypiszemy do Twojego konta, więc wrócisz do swoich błędów, będziesz śledzić postęp i dostaniesz powtórki dobrane do Twoich odpowiedzi.
W języku JavaScript potrzebne jest odwołanie się do elementu znajdującego się w pierwszym paragrafie danego fragmentu kodu HTML. Można to osiągnąć przy użyciu funkcji
Niepoprawna odpowiedź. Metoda getElementsByClassName("p.1")[0]; jest niepoprawna, ponieważ jej użycie zakłada, że w dokumencie HTML występuje element z klasą "p.1", a w podanym fragmencie HTML nie ma żadnego elementu, który spełniałby ten warunek. Klasy w HTML definiuje się za pomocą atrybutu class, a nie poprzez dotację z kropką w nazwie. W przypadku użycia getElementById("p1");, ta metoda zakłada, że istnieje element z unikalnym identyfikatorem "p1". W przedstawionym fragmencie również tego identyfikatora nie ma, co czyni tę odpowiedź błędną. Metoda getElement("p"); jest nieprawidłowa, ponieważ takiej metody nie ma w standardowym obiekcie document w JavaScript. Programista, zamiast tego, powinien użyć getElementById lub getElementsByTagName. Użycie getElementsByTagName jest najlepszą praktyką, ponieważ pozwala na selekcję wszystkich elementów danego typu. Często mylące są koncepcje związane z selekcją elementów; kluczowe jest zrozumienie, że metody JavaScript są czułe na typy i struktury dokumentu. Dlatego ważne jest, aby dokładnie wiedzieć, jakie elementy chcemy wybrać i jakie metody są do tego dostępne w standardzie DOM.
Pytanie 2
Którego znacznika HTML5 użyć do GRUPOWANIA powiązanych elementów formularza?
A.
<fieldset>
Poprawna odpowiedź
B.
<option>
C.
<optgroup>
D.
<summary>
Twoja odpowiedź
Niepoprawna odpowiedź. Pozostałe znaczniki dotyczą czego innego. <summary> to nagłówek rozwijanego <details>. <option> to pojedyncza pozycja listy <select>, a <optgroup> grupuje opcje WEWNĄTRZ listy rozwijanej, a nie pola formularza. Powiązane pola formularza grupuje <fieldset>.
Pytanie 3
W SQL polecenie INSERT INTO służy do
A. dodawania danych do tabeliTwoja odpowiedź
B. tworzenia nowej tabeli
C. zmiany rekordów na wskazaną wartość
D. wprowadzania nowych pól do tabeli
Poprawna odpowiedź. Polecenie INSERT INTO w języku SQL jest kluczowym narzędziem do wprowadzania danych do tabeli w bazie danych. Umożliwia dodawanie nowych rekordów, co jest niezwykle istotne w kontekście zarządzania danymi. Przykładowo, jeśli mamy tabelę 'Klienci' z kolumnami 'ID', 'Imię', 'Nazwisko', można użyć polecenia INSERT INTO, aby dodać nowego klienta: 'INSERT INTO Klienci (ID, Imię, Nazwisko) VALUES (1, 'Jan', 'Kowalski');'. Poprawne użycie tego polecenia zgodnie z najlepszymi praktykami SQL wymaga również przestrzegania reguł dotyczących typów danych oraz unikalności kluczy głównych, co pozwala na zachowanie integralności danych. Dzięki INSERT INTO można efektywnie zarządzać danymi w aplikacjach biznesowych, takich jak systemy CRM czy ERP, gdzie regularne dodawanie nowych informacji jest niezbędne do bieżącego funkcjonowania organizacji. Dodatkowo, polecenie to może być używane w połączeniu z innymi instrukcjami SQL, takimi jak SELECT, co pozwala na bardziej złożone operacje na danych.
Pytanie 4
W hurtowni utworzono tabelę sprzedaż, która zawiera pola: id, kontrahent, grupa_cenowa oraz obrot. Jakie polecenie należy wykorzystać, aby znaleźć tylko kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł?
A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 OR obrot>4000
B. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000Twoja odpowiedź
C. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000
D. SELECT sprzedaz FROM kontrahent WHERE obrot>4000
Poprawna odpowiedź. Aby skutecznie wyszukać kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł, należy zastosować odpowiednie zapytanie SQL. W tym przypadku, kluczowe jest zrozumienie użycia klauzul WHERE, które filtrują wyniki na podstawie określonych warunków. Poprawne zapytanie to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000;'. W tym zapytaniu wybieramy kolumnę kontrahent z tabeli sprzedaz, filtrując wyniki na podstawie dwóch warunków: przynależności do drugiej grupy cenowej oraz obrotu większego niż 4000 zł. Operator AND jest istotny, ponieważ oba warunki muszą być spełnione, aby dany rekord został zwrócony. Takie podejście jest zgodne z zasadami normalizacji baz danych, co pozwala na zachowanie integralności danych i efektywność zapytań. Przykładem może być sytuacja, w której w tabeli znajdują się kontrahenci o różnych grupach cenowych i obrotach; zastosowanie powyższego zapytania pozwoli nam na wyselekcjonowanie tylko tych kontrahentów, którzy spełniają oba kryteria, co jest niezwykle przydatne w analizie sprzedaży i podejmowaniu decyzji biznesowych.
Pytanie 5
Jakie mechanizmy przyznawania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z tematyką zarządzania kontami, użytkownikami oraz uprawnieniami?
A. Z przywilejami systemowymiPoprawna odpowiedź
B. Z zasadamiTwoja odpowiedź
C. Z przywilejami obiektowymi
D. Z atrybutami
Niepoprawna odpowiedź. Zagadnienia związane z zarządzaniem kontami, użytkownikami i uprawnieniami w kontekście baz danych są złożone i często mylone z innymi mechanizmami. Reguły, na przykład, są używane w kontekście polityk bezpieczeństwa, ale nie odnoszą się bezpośrednio do przydzielania uprawnień w systemie baz danych. W praktyce, reguły mogą służyć do definiowania warunków, pod którymi dane operacje są dozwolone, ale same w sobie nie kontrolują dostępu do zasobów. Przywileje obiektowe, z drugiej strony, dotyczą specyficznych obiektów w bazie danych, takich jak tabele czy procedury, i nie obejmują uprawnień na poziomie systemowym. W kontekście zarządzania użytkownikami są one używane do kontrolowania dostępu do konkretnych danych, a nie do wykonywania operacji administracyjnych na systemie. Z kolei atrybuty mogą odnosić się do właściwości obiektów w bazie danych, ale nie są to mechanizmy służące do zarządzania użytkownikami i ich uprawnieniami. Typowym błędem jest mylenie tych pojęć i uznawanie, że reguły czy przywileje obiektowe mają podobne zastosowanie do przywilejów systemowych. W realiach zarządzania bazą danych kluczowe jest zrozumienie, że każde z tych podejść ma swoje specyficzne zastosowanie i niezbędne jest stosowanie właściwych narzędzi oraz technik w celu zapewnienia odpowiedniego poziomu bezpieczeństwa i kontroli dostępu.
Pytanie 6
Która metoda przesłania danych poufnych z formularza jest NAJBEZPIECZNIEJSZA?
A. metoda POST przez HTTP
B. metoda POST przez HTTPSTwoja odpowiedź
C. metoda GET przez HTTP
D. metoda GET przez HTTPS
Poprawna odpowiedź. Najbezpieczniejsze jest połączenie metody POST z protokołem HTTPS. POST przesyła dane w treści żądania (nie w widocznym adresie URL), a HTTPS dodatkowo SZYFRUJE całą transmisję - więc nawet przechwycone dane są nieczytelne. To standard przy logowaniu i płatnościach. Zapamiętaj: POST ukrywa dane w żądaniu, HTTPS je szyfruje - razem dają maksymalne bezpieczeństwo.
Pytanie 7
W CSS wartości: underline, overline, blink są powiązane z atrybutem
A. font-style
B. font-weight
C. text-style
D. text-decorationTwoja odpowiedź
Poprawna odpowiedź. Atrybut text-decoration w CSS jest tym, co pozwala na dodawanie różnych efektów do tekstu. Możemy dzięki niemu użyć takich rzeczy jak underline, overline czy nawet blink, chociaż to ostatnie nie jest już zbyt popularne, bo wiele przeglądarek to ignoruje ze względu na dostępność. Dzięki tym efektom tekst może wyglądać bardziej estetycznie, a czytelność też się poprawia. Na przykład, jeśli użyjesz 'p { text-decoration: underline; }', to cały tekst w tym paragrafie będzie podkreślony. W CSS3 dodano też nowe możliwości, jak text-decoration-color czy text-decoration-style, co daje jeszcze większą kontrolę nad tym, jak nasz tekst będzie wyglądał. Dlatego myślę, że umiejętność korzystania z text-decoration jest naprawdę ważna dla każdego, kto zajmuje się tworzeniem stron internetowych.
Pytanie 8
Który efekt został zaprezentowany na filmie?
A. Zwiększenie ostrości zdjęcia.
B. Zmniejszenie kontrastu zdjęcia.
C. Zmiana jasności zdjęć.
D. Przenikanie zdjęć.Twoja odpowiedź
Poprawna odpowiedź. Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.
Pytanie 9
Który format to RASTROWY format graficzny z kompresją BEZSTRATNĄ?
A. PNGPoprawna odpowiedź
B. CDR
C. SVGTwoja odpowiedź
D. JNG
Niepoprawna odpowiedź. Pozostałe formaty nie są rastrowe i bezstratne zarazem. CDR i SVG to formaty WEKTOROWE (opisują kształty, nie piksele). JNG to mało znany, praktycznie nieużywany format. Rastrowym formatem z kompresją bezstratną jest PNG.
Pytanie 10
Jaki model opisu kolorów charakteryzuje się parametrami takimi jak odcień, nasycenie oraz jasność?
A. CMYK
B. HSVTwoja odpowiedź
C. RGB
D. CMY
Poprawna odpowiedź. Model HSV (Hue, Saturation, Value) jest powszechnie stosowany w grafice komputerowej oraz w przemyśle filmowym i fotograficznym do opisu kolorów w sposób bardziej intuicyjny dla ludzi. Odcień (Hue) odnosi się do koloru podstawowego, nasycenie (Saturation) określa intensywność koloru, a jasność (Value) mierzy, jak ciemny lub jasny jest dany kolor. Przykładowo, w modelu HSV, czerwony kolor ma odcień 0°, zielony 120°, a niebieski 240°. W praktyce, projektanci często używają narzędzi opartych na tym modelu, ponieważ umożliwia on łatwe manipulowanie kolorami w programach graficznych, takich jak Photoshop czy GIMP. Model HSV jest również szeroko stosowany w standardach przemysłowych, takich jak ISO 12647, co czyni go ważnym narzędziem w zarządzaniu kolorem. Dzięki zrozumieniu modelu HSV, profesjonaliści mogą lepiej komunikować się z klientami, precyzyjnie dobierać kolory oraz tworzyć harmonijne palety kolorystyczne.
Pytanie 11
Który atrybut kolumny zapewnia automatyczne nadawanie kolejnych, unikalnych wartości (np. dla klucza głównego)?
A.
DEFAULT
B.
UNIQUE
C.
NOTNULL
D.
AUTO_INCREMENT
Twoja odpowiedź
Poprawna odpowiedź. Atrybut AUTO_INCREMENT (w MySQL) sprawia, że przy dodaniu nowego wiersza baza sama wstawia do kolumny kolejną, większą o jeden liczbę. Stosuje się go najczęściej dla numerycznego klucza głównego (id), by nie trzeba było ręcznie pilnować unikalności identyfikatorów. Dlatego automatyczne nadawanie kolejnych wartości zapewnia AUTO_INCREMENT.
Pytanie 12
Która z poniższych instrukcji jest równoważna z poleceniem switch w języku PHP?
switch ($liczba) { case 10: case 20: $liczba++; break; default: $liczba = 0; }
Instrukcja 1. if ($liczba==10) $liczba++; else $liczba = 0;
Instrukcja 2. if ($liczba==10 or $liczba==20) $liczba++; else $liczba = 0;
Instrukcja 3. if ($liczba==10 or $liczba==20) $liczba++;
Instrukcja 4. if ($liczba==10 and $liczba==20) $liczba++; else $liczba = 0;
A. Polecenie 1
B. Polecenie 3
C. Polecenie 4
D. Polecenie 2Twoja odpowiedź
Poprawna odpowiedź. Instrukcja switch w języku PHP pozwala na wykonywanie różnych bloków kodu w zależności od wartości wyrażenia. W przykładzie, instrukcja switch sprawdza zmienną $liczba. Jeśli $liczba wynosi 10 lub 20, zostaje zwiększona o 1, natomiast w każdym innym przypadku przypisana jest wartość 0. Instrukcja 2 jest równoważna, ponieważ używa operatora or, co oznacza, że warunek zostanie spełniony, jeśli $liczba wynosi 10 lub 20, co dokładnie odwzorowuje logikę switch. Kluczowe jest zrozumienie, że operator or jest zgodny z wymaganiami logicznymi dla tego problemu, umożliwiając zwiększenie wartości zmiennej w obu przypadkach. Takie podejście jest zgodne z dobrymi praktykami programistycznymi, pozwalając na przejrzystość i efektywność kodu. Zrozumienie różnicy między operatorami and, or oraz or pozwala na bardziej elastyczne i zrozumiałe konstrukcje logiczne w programowaniu komercyjnym. Praktyka ta jest szczególnie ważna w optymalizowaniu warunkowych bloków kodu w dużych projektach.
Pytanie 13
Który format zapewnia największą kompresję (najmniejszy rozmiar) pliku dźwiękowego?
A. WAV
B. MP3Twoja odpowiedź
C. CD-Audio
D. PCM
Poprawna odpowiedź. MP3 stosuje kompresję stratną - usuwa dane mniej słyszalne dla ucha, dzięki czemu plik jest wielokrotnie mniejszy niż zapis nieskompresowany. Dlatego najmniejszy plik dźwiękowy daje MP3.
Pytanie 14
Jakie będzie działanie podanych instrukcji JavaScript?
var elementy = document.getElementsByClassName("styl1"); for(var i = 0; i < elementy.length; i++) elementy[i].style.fontWeight = "bolder";
A. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
B. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
C. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolderTwoja odpowiedź
D. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
Poprawna odpowiedź. Instrukcje JavaScript w pytaniu wykorzystują metodę getElementsByClassName aby pobrać kolekcję wszystkich elementów na stronie które posiadają przypisaną klasę styl1. Metoda ta zwraca obiekt typu HTMLCollection który przypomina tablicę i zawiera odniesienia do elementów DOM posiadających określoną klasę. Następnie za pomocą pętli for przechodzimy przez każdy z tych elementów i zmieniamy ich styl na bolder przypisując nową wartość do właściwości style.fontWeight. Dzięki temu każdy element w kolekcji zostaje zmodyfikowany i wyświetlany z pogrubioną czcionką. Takie podejście jest zgodne z dobrymi praktykami w zakresie manipulacji DOM w JavaScript gdyż jest to sposób efektywny i bezpośredni. Użycie klas do grupowania elementów HTML pozwala na jednoczesne stosowanie stylów i operacji na grupach elementów co jest kluczowe w dynamicznym modelu tworzenia stron internetowych. Warto zwrócić uwagę na fakt że nazwy klas są czułe na wielkość liter co oznacza że styl1 i Styl1 byłyby traktowane jako różne klasy.
Pytanie 15
Jaką wartość zwróci funkcja w języku C++, jeśli parametry wynoszą a = 4 oraz b = 3?
long int fun1(int a, int b) { long int wynik = 1; for (int i = 0; i < b; i++) wynik *= a; return wynik; }
A. 1
B. 16
C. 12
D. 64Twoja odpowiedź
Poprawna odpowiedź. Funkcja fun1 w języku C++ oblicza potęgę liczby a do b. Wykorzystuje pętlę for aby przemnożyć początkową wartość 1 przez a dokładnie b razy co daje wynik a do potęgi b. W tym przypadku gdy a = 4 i b = 3 funkcja wykonuje 3 iteracje mnożąc wynik początkowo równy 1 przez 4 daje 4 następnie 16 i ostatecznie 64. To podejście ilustruje podstawowe zastosowanie pętli for w obliczeniach iteracyjnych. Takie podejście do obliczania potęg jest efektywne dla małych potęg ale dla większych wartości można rozważyć algorytmy typu exponentiation by squaring które są optymalniejsze. W programowaniu C++ pętla for jest często stosowana do zadań o z góry określonej liczbie iteracji co czyni ją idealnym wyborem dla tego problemu. Ważne jest także zrozumienie jak zmienne takie jak wynik są wykorzystywane do przechowywania stanu w trakcie iteracji co jest kluczowe w wielu algorytmach programistycznych. Takie rozumowanie i wykorzystanie pętli for jest zgodne z dobrymi praktykami programowania.
Pytanie 16
Rozważ tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:
SELECTmetraz, cenaFROMmieszkaniaWHEREile_pokoi>3;
A. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
B. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
C. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokojeTwoja odpowiedź
D. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
Poprawna odpowiedź. Odpowiedź wskazująca na metraż oraz cenę mieszkań, które mają więcej niż 3 pokoje jest prawidłowa, ponieważ kwerenda SQL wykorzystuje operator '>', co oznacza, że wybrani będą tylko ci, którzy mają co najmniej 4 pokoje. W kontekście tabeli mieszkania, zapytanie SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3; efektywnie filtruje dane, aby zwrócić tylko kolumny metraż oraz cena dla mieszkań spełniających ten warunek. W praktyce, umiejętność pisania takich zapytań SQL jest kluczowa w pracy z bazami danych, gdzie często potrzebne jest zrozumienie struktury danych i umiejętność ich analizy. Przykładem zastosowania może być analiza rynku nieruchomości, gdzie deweloperzy mogą chcieć zbadać ceny mieszkań większych niż 3 pokoje, aby lepiej dostosować swoje oferty do potrzeb klientów. Warto również zaznaczyć, że takie zapytania powinny być pisane zgodnie z najlepszymi praktykami, takimi jak unikanie selekcji niepotrzebnych danych, co przyspiesza ich przetwarzanie oraz zmniejsza obciążenie bazy danych.
Pytanie 17
W CSS zapis
a[target="_blank"]{color:yellow;}
spowoduje, że tekst linków przybierze kolor żółty.
A. linków, które otwierają się w nowej karcie.Poprawna odpowiedź
B. treści akapitu.
C. wszystkich linków.Twoja odpowiedź
D. linków, które otwierają się w tej samej karcie.
Niepoprawna odpowiedź. Odpowiedzi sugerujące, że kolor żółty dotyczy 'wszystkich odnośników', 'tekstu paragrafu' lub 'odnośników, które otwierają się w tej samej karcie' są błędne z kilku powodów. Po pierwsze, selektor CSS 'a[target="_blank"]' jest specyficzny dla odnośników, które otwierają się w nowej karcie, a więc nie obejmuje on wszystkich odnośników. Każdy odnośnik zdefiniowany w HTML jako <a> może mieć różne cele, a atrybut 'target' odgrywa kluczową rolę w tym, jak te odnośniki są obsługiwane przez przeglądarkę. Po drugie, nie istnieje możliwość, aby tekst paragrafu był objęty tym selektorem, ponieważ jest on dedykowany wyłącznie linkom. Warto pamiętać, że CSS służy do stylizacji elementów HTML, a nie do zachowania ich struktury semantycznej. Kolejną nieprawidłową koncepcją jest to, że kolor tekstu dotyczy odnośników otwierających się w tej samej karcie, ponieważ żaden z tych odnośników nie ma przypisanego atrybutu 'target="_blank"'. W praktyce, ważne jest, aby dobrze rozumieć selektory CSS oraz ich zastosowanie, co pozwoli na bardziej precyzyjne projektowanie interfejsów użytkownika oraz zapewnienie lepszej użyteczności i dostępności stron internetowych.
Pytanie 18
Aby przygotować czytelne zestawienie danych z bazy, przeznaczone do wydruku, należy posłużyć się:
A. raportemTwoja odpowiedź
B. formularzem
C. kwerendą INSERT
D. indeksem
Poprawna odpowiedź. Raport to obiekt bazy danych przeznaczony do prezentacji informacji w uporządkowanej, czytelnej formie - z nagłówkami, grupowaniem i podsumowaniami - gotowej do wydruku lub zapisania jako dokument. W odróżnieniu od formularza, który służy do wprowadzania danych, raport jest przede wszystkim do odczytu. Dlatego do przygotowania zestawienia danych na wydruk używa się raportu.
Pytanie 19
Które polecenie nadaje użytkownikowi „uczen” najniższy poziom uprawnień (tylko odczyt, bez zmiany danych i struktury)?
A.
GRANTALTER,SELECTONszkola.przedmiotyTOuczen;
B.
GRANTSELECTONszkola.przedmiotyTOuczen;
Twoja odpowiedź
C.
GRANTDROPONszkola.przedmiotyTOuczen;
D.
GRANTINSERT,DROPONszkola.przedmiotyTOuczen;
Poprawna odpowiedź. Uprawnienia w SQL nadaje się poleceniem GRANT, a ich „poziom” zależy od tego, co użytkownik może zrobić. Najwęższy, najbezpieczniejszy zakres to wyłącznie odczyt danych, czyli SELECT - użytkownik widzi dane, lecz nie może ich zmieniać ani ruszać struktury tabeli. Zgodnie z zasadą najmniejszych uprawnień kontu aplikacyjnemu czy „uczniowi” daje się tylko tyle, ile naprawdę potrzebuje. Dlatego najniższy poziom uprawnień nadaje GRANTSELECT.
Pytanie 20
Który typ relacji wymaga utworzenia tabeli pośredniczącej, łączącej klucze główne obu tabel?
A.
1..n
B.
n..n
Twoja odpowiedź
C.
1..1
D.
n..1
Poprawna odpowiedź. Tabelę pośredniczącą, łączącą klucze główne obu tabel, wymaga relacja WIELE-DO-WIELU (n..n) - bez niej nie da się zapisać, że wielu rekordom z jednej tabeli odpowiada wielu z drugiej. Tabela łącząca zamienia jedną relację n..n na dwie relacje 1..n. Zapamiętaj: n..n = dodatkowa tabela z parami kluczy.
Pytanie 21
W bibliotece mysqli w PHP, aby uzyskać najbardziej aktualny komunikat o błędzie, można użyć funkcji
A. mysqli_error_list()
B. mysqli_error()Twoja odpowiedź
C. mysqli_use_result()
D. mysqli_errno()
Poprawna odpowiedź. Funkcja mysqli_error() w bibliotece mysqli języka PHP jest sposobem na uzyskanie ostatniego komunikatu o błędzie związanym z połączeniem lub zapytaniem SQL. Zwraca ona łańcuch znaków, który opisuje ostatni błąd związany z danym połączeniem. Jest to niezwykle przydatne narzędzie w procesie debugowania, ponieważ pozwala programiście szybko zidentyfikować źródło problemu. Na przykład, jeśli napotkasz błąd podczas wykonywania zapytania, możesz użyć mysqli_error($connection) po funkcji wykonującej zapytanie, aby uzyskać szczegółowy opis błędu. W kontekście dobrych praktyk programistycznych, zawsze należy obsługiwać błędy i nie ignorować ich, aby uniknąć trudności w przyszłości. Warto również pamiętać, że funkcja ta działa tylko w kontekście aktualnego połączenia bazodanowego, co oznacza, że przed jej użyciem musisz mieć aktywne połączenie. Przykład użycia: $result = mysqli_query($connection, $query); if (!$result) { echo mysqli_error($connection); }
Pytanie 22
Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?
A. <?php date("Y-m-d”) + time("G:i:s"); ?>
B. <?php date("Y-m-d G:i:s"); ?>
C. <?php echo date("Ymd Gis"); ?>
D. <?php echo date("Y-m-d G:i:s"); ?>Twoja odpowiedź
Poprawna odpowiedź. Odpowiedź numer 4 jest poprawna, ponieważ używa funkcji echo do wyświetlenia wyniku funkcji date, która formatuje datę i czas w odpowiedni sposób. W tym przypadku użycie formatu Y-m-d G:i:s pozwala na wyświetlenie roku z czterema cyframi, miesiąca i dnia z dwoma cyframi oraz godziny w formacie 24-godzinnym bez wiodącego zera, a także minut i sekund z wiodącymi zerami. Funkcje PHP date i echo są standardem w języku PHP do pracy z datami i wyświetlaniem danych. Praktyczne zastosowanie tej funkcji jest szerokie, ponieważ umożliwia dynamiczne generowanie treści na stronach internetowych, takich jak wyświetlanie aktualnej daty w nagłówku strony czy w logach systemowych. Dobre praktyki sugerują, aby zawsze uwzględniać strefę czasową przy pracy z datami, co można osiągnąć za pomocą funkcji date_default_timezone_set. Dzięki temu kod będzie niezależny od ustawień serwera i zawsze dostarczał spójne wyniki. Warto również zaznaczyć, że manipulacje na datach i czasie są kluczowe w wielu aplikacjach, od rezerwacji po analizy czasu działań użytkowników.
Pytanie 23
Który z podanych formatów pozwala na zapis zarówno dźwięku, jak i obrazu?
A. WAV
B. MP3
C. PNG
D. MP4Twoja odpowiedź
Poprawna odpowiedź. Format MP4, znany również jako MPEG-4 Part 14, jest jednym z najpopularniejszych formatów multimedialnych, który umożliwia jednoczesny zapis zarówno dźwięku, jak i obrazu. Dzięki zastosowaniu zaawansowanej kompresji, MP4 pozwala na przechowywanie wysokiej jakości materiałów w stosunkowo małych plikach, co czyni go idealnym do przesyłania i strumieniowania w Internecie. MP4 obsługuje wiele kodeków, takich jak H.264 dla wideo oraz AAC dla dźwięku, co pozwala na szeroką kompatybilność z różnymi urządzeniami, od smartfonów po odtwarzacze multimedialne. Format ten jest zgodny z wieloma standardami, co czyni go wszechstronnym wyborem dla twórców treści. Przykłady jego zastosowania obejmują filmy wideo na platformach streamingowych, klipy muzyczne i wideoklipy. Dzięki swoim zaletom, MP4 stał się de facto standardem w przemyśle multimedialnym, co w znacznym stopniu przyczyniło się do jego popularności oraz wszechstronności.
Pytanie 24
Na czym polega opracowanie logicznego UKŁADU strony internetowej?
A. na ustaleniu adresów URL podstron
B. na przygotowaniu zestawu grafik
C. na zdefiniowaniu treści stronyTwoja odpowiedź
D. na rozmieszczeniu elementów w określonych miejscach stronyPoprawna odpowiedź
Niepoprawna odpowiedź. Pozostałe odpowiedzi dotyczą innych etapów pracy. Definiowanie treści to przygotowanie tekstów, zestaw grafik to materiały wizualne, a ustalanie adresów URL podstron to kwestia nawigacji i struktury serwisu. Sam układ to rozmieszczenie elementów w wyznaczonych miejscach strony.
Pytanie 25
Dane są zapisy w tabeli uczniowie, które zostały przedstawione na rysunku. Jaki będzie rezultat wykonania podanego zapytania SQL?
A. Suma ocen równa 14
B. Liczba wierszy równa 4
C. Dane 4, 3, 4, 3
D. Wartość 3.5Twoja odpowiedź
Poprawna odpowiedź. Zapytanie SQL SELECT AVG(ocena) FROM uczniowie ma na celu obliczenie średniej wartości kolumny ocena w tabeli uczniowie. Średnia arytmetyczna jest obliczana poprzez zsumowanie wszystkich ocen i podzielenie wyniku przez liczbę rekordów. W tym przypadku mamy cztery oceny: 4 3 4 i 3. Suma tych ocen wynosi 14 a liczba rekordów to 4 co daje średnią arytmetyczną równą 3.5. W przypadku baz danych funkcja AVG() jest standardowym sposobem na obliczanie średniej wartości w zestawie danych i jest powszechnie używana w analizie danych gdzie często zachodzi potrzeba określenia centralnej tendencji. Takie podejście pozwala na szybką ocenę ogólnej wydajności lub trendów w zbiorze danych. Praktyczne zastosowanie tego mechanizmu obejmuje analizy biznesowe gdzie przeciętna wartość sprzedaży lub innych metryk może dostarczyć cennych informacji. Warto również podkreślić że AVG() ignoruje wartości NULL co jest korzystne w analizie zestawów danych o niepełnych wpisach.
Pytanie 26
W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco
A. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
C. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000Twoja odpowiedź
Poprawna odpowiedź. Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.
Pytanie 27
Czym jest odpowiednik encji w relacyjnej bazie danych?
A. tabelaPoprawna odpowiedź
B. wiersz
C. atrybutTwoja odpowiedź
D. kolumna
Niepoprawna odpowiedź. Pozostałe pojęcia to mniejsze elementy. Wiersz (krotka) to pojedynczy egzemplarz encji, a nie cała encja. Kolumna i atrybut opisują pojedynczą cechę. Całej encji odpowiada tabela.
Pytanie 28
Wszelkie dane, które dostarczają informacji o innych danych, nazywane są
A. metadata.Twoja odpowiedź
B. markup language.
C. databus.
D. metalanguage.
Poprawna odpowiedź. Poprawna odpowiedź to „metadata”, czyli po polsku metadane. Metadane to wszystkie dane, które opisują inne dane. Można powiedzieć, że są to „informacje o informacji”. Przykład z życia: plik zdjęcia JPG. Sam obraz to dane, a takie elementy jak data wykonania, model aparatu, rozdzielczość, lokalizacja GPS, autor – to właśnie metadane zapisane np. w formacie EXIF. Podobnie w świecie WWW: w dokumencie HTML mamy sekcję <head>, a w niej znaczniki <meta>. Te znaczniki nie są wyświetlane użytkownikowi jako treść strony, ale przekazują wyszukiwarkom i przeglądarkom informacje o stronie, np. opis, słowa kluczowe, kodowanie znaków, język. To jest klasyczny przykład metadanych w praktyce. W bazach danych metadane to np. definicje tabel, typy kolumn, klucze główne, indeksy, ograniczenia. System zarządzania bazą danych przechowuje je w tzw. katalogach systemowych. Dzięki temu wie, jak interpretować rekordy, jakie są relacje między tabelami, jakie są dopuszczalne wartości. Bez metadanych dane byłyby po prostu chaotycznym zbiorem bitów, z którego niewiele da się wyciągnąć. W standardach branżowych stosuje się różne schematy metadanych, np. Dublin Core dla zasobów cyfrowych, czy schema.org dla stron internetowych, aby wyszukiwarki lepiej rozumiały zawartość. Z mojego doświadczenia warto od początku myśleć o metadanych jako o czymś, co podnosi jakość systemu: ułatwia wyszukiwanie, integrację, automatyczne przetwarzanie danych. Dobra praktyka jest taka, żeby dla ważnych zasobów (pliki, rekordy w bazie, strony WWW, API) zawsze planować strukturę metadanych: kto utworzył, kiedy, jaki typ, wersja, status. To bardzo pomaga przy utrzymaniu aplikacji, debugowaniu i rozwoju systemu.
Pytanie 29
Który znacznik służy do budowania hierarchii (struktury) tekstu nagłówkami?
A.
<u>
B.
<style>
C.
<h6>
Twoja odpowiedź
D.
<head>
Poprawna odpowiedź. Hierarchię tekstu buduje się nagłówkami <h1> do <h6> - od najważniejszego do najmniej ważnego. <h6> to nagłówek najniższego poziomu, ale wciąż element tej struktury. Dlatego do hierarchii nagłówków należy <h6>.
Pytanie 30
Aby edytować nakładające się na siebie pojedyncze fragmenty grafiki, pozostawiając resztę bez zmian, należy zastosować:
A. histogram
B. warstwyTwoja odpowiedź
C. kadrowanie
D. kanał alfa
Poprawna odpowiedź. Warstwy to podstawowy mechanizm edytorów grafiki (np. GIMP, Photoshop): każdy element umieszcza się na osobnej warstwie, niczym na przezroczystej folii, a leżące wyżej zasłaniają niższe. Dzięki temu można edytować, przesuwać lub ukrywać pojedynczy fragment, nie naruszając pozostałych. To właśnie warstwy pozwalają pracować nad nakładającymi się elementami niezależnie - i dlatego są poprawną odpowiedzią.
Pytanie 31
Która kwerenda wybierze z tabeli Uczniowie tylko osoby o imieniu „Aleksandra” urodzone PO 1998 roku?
Poprawna odpowiedź. Zadanie stawia dwa warunki, które muszą być spełnione JEDNOCZEŚNIE: imię „Aleksandra” oraz urodzenie po 1998 - takie połączenie zapewnia operator AND, a „po roku” to rok_urodzenia>"1998". Daje to SELECT*FROMUczniowieWHEREimie="Aleksandra"ANDrok_urodzenia>"1998";. Dlatego ta kwerenda jest poprawna.
Pytanie 32
Który lekki, tekstowy format danych jest dziś najczęściej używany do asynchronicznej wymiany danych między klientem a serwerem (np. w AJAX)?
A. JSONTwoja odpowiedź
B. BMP
C. CSV
D. DOCX
Poprawna odpowiedź. JSON (JavaScript Object Notation) to lekki, tekstowy format zapisu danych w postaci par klucz-wartość i list, np. {"imie":"Anna","wiek":30}. Jest czytelny dla człowieka, a w JavaScripcie wręcz naturalny (wprost odpowiada obiektom), dlatego zdominował wymianę danych w technice AJAX i w interfejsach API. Przeglądarka łatwo zamienia tekst JSON na obiekt funkcją JSON.parse() i odwrotnie przez JSON.stringify(). Dawniej używano w tej roli XML-a, lecz JSON jest zwięźlejszy. Dlatego do asynchronicznej wymiany danych stosuje się JSON.
Pytanie 33
Istnieje tabela o nazwie przedmioty, która zawiera kolumny ocena i uczenID. Jakie zapytanie należy wykorzystać, aby obliczyć średnią ocen ucznia z ID równym 7?
A. AVG SELECT ocena FROM przedmioty WHERE uczenID=7;
B. COUNT SELECT ocena FROM przedmioty WHERE uczenID=7;
C. SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7;Twoja odpowiedź
D. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID=7;
Poprawna odpowiedź. Odpowiedź SELECT AVG(ocena) FROM przedmioty WHERE uczenID=7; jest prawidłowa, ponieważ wykorzystuje funkcję agregującą AVG, która oblicza średnią wartość dla podanego zestawu danych. W tym przypadku skupiamy się na ocenach ucznia o ID równym 7, co osiągamy poprzez zastosowanie klauzuli WHERE. Funkcje agregujące, takie jak AVG, są standardowym narzędziem w SQL do analizy danych, szczególnie przydatnym w kontekście raportowania i analityki. Dzięki takiemu zapytaniu możemy szybko uzyskać średnią ocen ucznia, co może być wykorzystane do oceny jego postępów w nauce lub do podejmowania decyzji z zakresu pedagogiki w oparciu o zebrane dane. W praktyce, takie podejście jest zgodne z najlepszymi praktykami w pracy z bazami danych, pozwalając na wydobycie istotnych informacji z dużych zbiorów danych bez konieczności przetwarzania ich ręcznie. Użycie AVG w połączeniu z klauzulą GROUP BY mogłoby również być zastosowane, gdybyśmy chcieli uzyskać średnie oceny dla wielu uczniów jednocześnie, co dodatkowo podkreśla elastyczność i moc SQL w analizie danych.
Pytanie 34
Podczas zapisywania hasła użytkownika w serwisie internetowym (np. w bankowości online), w celu zabezpieczenia go przed ujawnieniem, zazwyczaj stosuje się funkcję
A. mieszającychTwoja odpowiedź
B. abstrakcyjnych
C. cyklometrycznych
D. kluczaPoprawna odpowiedź
Niepoprawna odpowiedź. Zrozumienie błędnych odpowiedzi wymaga analizy koncepcji zabezpieczeń haseł w kontekście cyberbezpieczeństwa. Mieszające funkcje, mimo że są ważne w kontekście algorytmów kryptograficznych, nie są odpowiednie do bezpiecznego przechowywania haseł. Ich głównym celem jest zapewnienie, że wyjście funkcji jest trudne do przewidzenia na podstawie wartości wejściowych, ale nie spełniają one wymagań dotyczących przechowywania haseł. Cyklometryczne podejścia nie są związane z mechanizmami zabezpieczeń haseł i dotyczą bardziej analizy algorytmów. Abstrakcyjne koncepcje również nie wnoszą istotnych wartości w kontekście zabezpieczeń, ponieważ nie odnoszą się do rzeczywistych praktyk zabezpieczających dane. Prowadzi to do powszechnego błędu myślowego, polegającego na zakładaniu, że różne techniki kryptograficzne mogą być stosowane zamiennie bez zrozumienia ich specyfiki i zastosowania. W kontekście przechowywania haseł kluczowe jest zrozumienie, że ich skuteczne zabezpieczenie wymaga zastosowania odpowiednich algorytmów oraz dobrych praktyk w zakresie zarządzania danymi użytkowników. Dlatego nie można lekceważyć znaczenia klucza w procesie zapewniania bezpieczeństwa informacji.
Pytanie 35
Tabela przedmioty ma pola ocena i uczenID. Która kwerenda policzy ŚREDNIĄ ocen ucznia o ID 7?
A.
SELECTCOUNT(ocena)FROMprzedmiotyWHEREuczenID=7;
B.
COUNTSELECTocenaFROMprzedmiotyWHEREuczenID=7;
C.
AVGSELECTocenaFROMprzedmiotyWHEREuczenID=7;
D.
SELECTAVG(ocena)FROMprzedmiotyWHEREuczenID=7;
Twoja odpowiedź
Poprawna odpowiedź. Średnią wartości z kolumny liczy funkcja agregująca AVG. Zapis SELECTAVG(ocena)FROMprzedmiotyWHEREuczenID=7; najpierw warunkiem WHERE wybiera oceny ucznia o ID 7, a potem AVG(ocena) je uśrednia. Dlatego ta kwerenda jest poprawna.
Pytanie 36
Która z definicji CSS określa formatowanie nagłówka h1: tekst nadkreślony, z odstępami między wyrazami 10 px i czerwonym kolorem tekstu?
h1{
text-decoration: overline;
word-spacing: 10px;
color: red;
} A.
h1{
text-decoration: overline;
letter-spacing: 10px;
color: red;
} B.
h1{
text-transform: none;
line-height: 10px;
color: rgb(255,0,0);
} C.
h1{
text-decoration: underline;
line-height: 10px;
color: rgb(255,0,0);
} D.
A. D.
B. C.
C. A.Twoja odpowiedź
D. B.
Poprawna odpowiedź. Brawo, poprawnie wybrałeś odpowiedź A, która pokazuje prawidłową definicję CSS do formatowania nagłówka h1. 'text-decoration: overline;' jest poleceniem CSS służącym do nadkreślania tekstu. Jest to styl tekstu, który dodaje linie nad literami. 'word-spacing: 10px;' jest poleceniem CSS, które określa odstępy między wyrazami. Wartościem tego polecenia jest odległość, która jest używana do określenia przestrzeni między słowami i jest wyrażona w pikselach. 'color: red;' jest standardowym poleceniem CSS do kolorowania tekstu. Czerwony jest jednym z podstawowych kolorów, które można wykorzystać w CSS. W praktyce, te trzy polecenia CSS mogą być używane do personalizacji strony internetowej, poprawiając jej wygląd i czytelność. Dobrą praktyką jest eksperymentowanie z różnymi stylami CSS, aby znaleźć najlepszy sposób prezentacji zawartości.
Pytanie 37
W CSS wprowadzono formatowanie
p > i {color: blue}
Co oznacza, że tekst zapisany będzie w kolorze niebieskim
A. pogrubiony tekst akapituTwoja odpowiedź
B. pochylony tekst akapituPoprawna odpowiedź
C. cały tekst akapitu bez względu na jego formatowanie
D. cały tekst nagłówków bez względu na ich formatowanie
Niepoprawna odpowiedź. Przy analizowaniu dostępnych odpowiedzi, warto zauważyć, że niektóre z nich opierają się na błędnych założeniach dotyczących działania selektorów CSS. Odpowiedź, która sugeruje, że <code>p > i</code> dotyczy całego tekstu paragrafu, jest nieprawidłowa, ponieważ selektor w tym przypadku odnosi się wyłącznie do elementów <code><i></code>, które są bezpośrednimi dziećmi elementu <code><p></code>. W CSS, operator > wskazuje na relację rodzica do dziecka, co oznacza, że tylko bezpośrednie potomki będą podlegały zastosowanemu stylowi. W związku z tym, odpowiedzi, które mówią o całym tekście paragrafu, nie uwzględniają tej kluczowej zasady działania CSS. Podobnie, odpowiedź mówiąca o pogrubionym tekście również jest mylna - stylizacja <code>color: blue</code> nie wpływa na grubość tekstu, a jedynie na kolor, co ilustruje nieporozumienie związane z właściwościami CSS. Ostatecznie, koncepcje dotyczące nagłówków w odpowiedzi również są niedokładne, ponieważ w analizowanym selektorze nie ma odniesienia do jakiegokolwiek nagłówka. Warto zatem pamiętać, że CSS wymaga precyzyjnego rozumienia struktury dokumentu oraz zastosowania odpowiednich selektorów, aby móc skutecznie modyfikować style elementów HTML.
Pytanie 38
W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę
A. UPDATE artykuly SET nowy = TRUE;Poprawna odpowiedź
B. INSERT INTO nowy FROM artykuly SET TRUE;
C. INSERT INTO artykuly VALUE nowy = TRUE;
D. UPDATE nowy FROM artykuly VALUE TRUE;Twoja odpowiedź
Niepoprawna odpowiedź. W tym zadaniu kluczowe jest zrozumienie różnicy między poleceniami UPDATE i INSERT w SQL oraz poprawnej składni tych instrukcji. Chodzi o modyfikację istniejących rekordów w tabeli artykuly, a nie o dodawanie nowych wierszy. To jest taki typowy błąd początkujących: pomieszanie operacji wstawiania danych z operacją ich aktualizacji. Jeśli tabela już zawiera dane i chcemy zmienić wartość w konkretnej kolumnie dla wszystkich wierszy, zawsze sięgamy po UPDATE. Instrukcje wykorzystujące INSERT, typu INSERT INTO artykuly VALUE nowy = TRUE; czy INSERT INTO nowy FROM artykuly SET TRUE;, są niepoprawne składniowo i logicznie. INSERT służy do dodawania nowych rekordów, czyli tworzenia kolejnych wierszy w tabeli. Poprawny wzorzec wygląda mniej więcej tak: INSERT INTO artykuly (kolumna1, kolumna2) VALUES (wartość1, wartość2);. Nie aktualizuje on istniejących pól, tylko dokłada nowe rekordy. Gdybyśmy próbowali użyć INSERT do „ustawienia” kolumny nowy, to w rzeczywistości tworzyliśmy nowe wiersze, a stare rekordy pozostałyby nietknięte, co jest sprzeczne z treścią pytania. Z kolei konstrukcje w rodzaju UPDATE nowy FROM artykuly VALUE TRUE; przypominają czasem składnię innych języków lub narzędzi, ale nie są poprawnym SQL-em. Standard SQL wymaga, żeby po słowie UPDATE pojawiła się nazwa tabeli, a po SET lista kolumn i przypisanych im wartości. Nie ma tu słów kluczowych FROM i VALUE w takiej kombinacji. FROM bywa używane w bardziej zaawansowanych UPDATE’ach, np. w PostgreSQL, ale w formie UPDATE tabela1 SET kolumna = coś FROM tabela2 WHERE warunek; – czyli z zupełnie inną logiką i strukturą. Typowy błąd myślowy polega też na tym, że ktoś próbuje tłumaczyć składnię SQL „na polski” i układa komendy w stylu „INSERT INTO nowy FROM artykuly SET TRUE”, bo brzmi to logicznie w języku naturalnym. Niestety, SQL jest językiem ściśle zdefiniowanym, z bardzo konkretną kolejnością słów kluczowych. Standardowe podejście branżowe jest takie: jeśli modyfikujesz wartości w istniejących wierszach – używasz UPDATE; jeśli dodajesz nowe wiersze – używasz INSERT. Dobrą praktyką jest też najpierw napisać SELECT, który wybiera dokładnie te rekordy, które chcesz zmienić, a dopiero potem na jego podstawie zbudować UPDATE z odpowiednim SET i ewentualnym WHERE. Dzięki temu unikasz przypadkowego uszkodzenia danych.
Pytanie 39
Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł
GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. wykonywania wszelkich działań na danychTwoja odpowiedź
B. jedynie tworzenia i zmiany struktury tabel
C. wykonywania wszystkich operacji na strukturze danych
D. jedynie dodawania i edytowania danych
Poprawna odpowiedź. Polecenie SQL GRANT SELECT INSERT UPDATE DELETE ON baza1.tab1 TO 'Ela'@'localhost' przyznaje użytkownikowi Ela pełny dostęp do danych w tabeli tab1 w bazie danych baza1. Oznacza to możliwość wykonywania wszystkich operacji związanych z zarządzaniem danymi w tej tabeli. Komenda GRANT jest używana do nadawania uprawnień użytkownikom bazy danych. W tym przypadku uprawnienia obejmują SELECT do odczytu danych INSERT do dodawania nowych rekordów UPDATE do modyfikacji istniejących danych oraz DELETE do usuwania rekordów. Uprawnienia te pokrywają pełne spektrum operacji związanych z manipulacją danymi co jest kluczowe w sytuacjach gdzie użytkownik musi mieć elastyczność w zarządzaniu zawartością tabeli. Dobrymi praktykami jest ograniczanie nadawania takich szerokich uprawnień tylko wtedy gdy jest to absolutnie konieczne w celu minimalizacji ryzyka nieautoryzowanej manipulacji danymi. Rozumienie i zarządzanie uprawnieniami użytkowników jest kluczowym elementem bezpieczeństwa bazy danych ponieważ pozwala na kontrolę dostępu i zapewnienie integralności danych. Tak szeroki dostęp jak w tym przypadku powinien być przyznawany z rozwagą i jedynie zaufanym użytkownikom w środowiskach produkcyjnych gdzie dane są szczególnie wrażliwe.
Pytanie 40
Wskaż konstrukcję pętli w języku JavaScript, która wyświetli sześć kolejnych liczb parzystych
A. for(i=2;i<=12;i+=2) {document.write(i);}Twoja odpowiedź
B. for(i=2;i<12;i++) {i++; document.write(i);}
C. for(i=2;i<12;i+=2) {document.write(i);}
D. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
Poprawna odpowiedź. Odpowiedź for(i=2;i<=12;i+=2) {document.write(i);} jest prawidłowa, ponieważ prawidłowo implementuje pętlę for w języku JavaScript, aby wydrukować sześć kolejnych liczb parzystych, zaczynając od 2 i kończąc na 12. Pętla ta inicjuje zmienną i na wartość 2, a następnie kontynuuje iterację, aż do osiągnięcia wartości 12, zwiększając i o 2 w każdej iteracji. Dzięki temu osiągamy pożądane liczby: 2, 4, 6, 8, 10 i 12. Użycie operatora inkrementacji (i+=2) jest zgodne z dobrymi praktykami programistycznymi, ponieważ jest bardziej zwięzłe i jednoznaczne w porównaniu do zwiększania zmiennej w każdej iteracji o 1, a następnie dodawania 1 w ciele pętli. W praktyce, można stosować takie podejście do generowania sekwencji liczb w różnych zastosowaniach, na przykład w wizualizacji danych lub grach, gdzie potrzebujemy pracować z parametrami o określonej wartości. Ponadto, pętle w JavaScript są fundamentalnym elementem skryptów, pozwalającym na automatyzację powtarzalnych zadań, co czyni programowanie bardziej efektywnym.