Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 11 czerwca 2026 20:46
  • Data zakończenia: 11 czerwca 2026 20:53

Egzamin niezdany

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Można wydać instrukcję transakcyjną ROLLBACK, aby

A. zatwierdzić jedynie wybrane modyfikacje transakcji
B. cofnąć transakcję po zastosowaniu instrukcji COMMIT
C. cofnąć działanie transakcji
D. zatwierdzić transakcję
Odpowiedź 2 jest poprawna, ponieważ instrukcja ROLLBACK jest używana w systemach zarządzania bazami danych, aby cofnąć wszystkie zmiany wprowadzone w bieżącej transakcji. ROLLBACK przywraca stan bazy danych do momentu sprzed rozpoczęcia transakcji, co jest niezwykle istotne w kontekście zapewnienia integralności danych. W sytuacjach, gdy transakcja kończy się błędem lub występują nieprzewidziane okoliczności, ROLLBACK umożliwia usunięcie wszystkich niepoprawnych lub niekompletnych operacji. Na przykład, podczas aktualizacji danych w bazie, jeśli część operacji zakończy się niepowodzeniem, a część nie, zastosowanie ROLLBACK pozwala na ochronę danych przed niespójnym stanem. W praktyce, ROLLBACK powinien być stosowany w ramach transakcji, co jest zgodne z zasadami ACID (Atomicity, Consistency, Isolation, Durability), które są kluczowe dla bezpieczeństwa i spójności operacji w bazach danych. Dobrą praktyką jest również testowanie scenariuszy, w których mogą wystąpić błędy, aby upewnić się, że ROLLBACK działa poprawnie w sytuacjach awaryjnych, co może pomóc w ochronie przed utratą danych oraz w utrzymaniu zaufania użytkowników względem systemu.

Pytanie 2

Podane w ramce polecenie SQL ma za zadanie

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. zwiększyć o jeden wartość pola id_klasy w jednym rekordzie tabeli Uczen
B. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
C. ustawić wartość pola id_klasy na 1 dla wszystkich rekordów tabeli Uczen
D. ustawić wartość w kolumnie id_klasy na 1 dla wszystkich rekordów tabeli Uczen
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1; modyfikuje wszystkie rekordy w tabeli Uczen, bo nie ma w nim klauzuli WHERE. To jest kluczowa rzecz: brak WHERE oznacza, że polecenie dotyczy całej tabeli, a nie pojedynczego wiersza. Wyrażenie id_klasy = id_klasy + 1 oznacza aktualizację kolumny na podstawie jej dotychczasowej wartości – po prostu dodajemy 1 do obecnej wartości w każdej krotce. Nie ustawiamy stałej wartości, tylko wykonujemy operację arytmetyczną na kolumnie. W praktyce taki zapis stosuje się np. gdy chcemy przesunąć identyfikatory klas, zmienić numerację poziomów, podnieść wszystkim uczniom numer semestru albo zaktualizować jakiś licznik. W SQL to bardzo typowy wzorzec: UPDATE tabela SET kolumna = kolumna + wartość WHERE warunek; i w dobrych praktykach zawsze pilnuje się, żeby świadomie używać lub pomijać WHERE. Administratorzy baz danych zwykle wręcz powtarzają zasadę: przed uruchomieniem UPDATE bez WHERE zastanów się dwa razy, czy na pewno chcesz zmienić wszystkie wiersze. Moim zdaniem warto zapamiętać dwie rzeczy: po pierwsze, UPDATE bez WHERE = aktualizacja wszystkich rekordów; po drugie, po lewej stronie znaku równości zawsze jest nazwa kolumny, którą zmieniamy, a po prawej – wyrażenie, z którego zostanie policzona nowa wartość. To wyrażenie może używać starej wartości tej samej kolumny, tak jak tutaj. W wielu systemach bazodanowych (np. MySQL, PostgreSQL, SQL Server) ta konstrukcja działa identycznie, więc to taki uniwersalny, standardowy zapis, zgodny z ogólnymi zasadami języka SQL.

Pytanie 3

W języku SQL używanym przez bazę danych MySQL atrybut UNIQUE w poleceniu CREATE TABLE

A. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać
B. jest stosowany jedynie w przypadku kolumn liczbowych
C. uniemożliwia wprowadzenie wartości NULL
D. wymusza niepowtarzalne nazwy kolumn tabeli
Atrybut UNIQUE w poleceniu CREATE TABLE w języku SQL dla bazy danych MySQL jest kluczowym elementem, który zapewnia, że wartości w danej kolumnie są unikalne dla każdego rekordu w tabeli. Oznacza to, że nie może istnieć więcej niż jeden rekord z taką samą wartością w kolumnie oznaczonej tym atrybutem. Dzięki temu, gdy projektujemy bazę danych, możemy zagwarantować integralność danych oraz ich spójność, co jest szczególnie istotne w przypadku kluczowych informacji, jak identyfikatory użytkowników czy numery seryjne produktów. Na przykład, jeżeli mamy tabelę użytkowników z kolumną 'email', możemy zastosować atrybut UNIQUE, aby upewnić się, że każdy użytkownik ma unikalny adres e-mail. W praktyce, jeżeli spróbujemy wprowadzić dwa rekordy z tym samym adresem e-mail, baza danych zgłosi błąd. Warto zauważyć, że atrybut UNIQUE pozwala na wprowadzenie wartości NULL, o ile nie ma innych wartości w danej kolumnie. Zgodnie z zasadami normalizacji danych, stosowanie atrybutu UNIQUE jest standardowym podejściem do zapewnienia jakości danych i ich unikalności w systemach zarządzania bazami danych.

Pytanie 4

W języku SQL, aby wybrać wszystkie rekordy z tabeli B, w tym część wspólną z tabelą A, należy zastosować typ związku

Ilustracja do pytania
A. A RIGHT JOIN B
B. A INNER JOIN B
C. A FULL OUTER JOIN B
D. A LEFT JOIN B
Poprawnie – w tym zadaniu kluczowe jest zrozumienie, że interesuje nas **wszystko z tabeli B**, a dodatkowo – tam gdzie się da – dokładamy dane z tabeli A. Dokładnie tak działa `RIGHT JOIN` zapisany jako `A RIGHT JOIN B ON ...`. Prawa tabela w zapisie JOIN (czyli B) jest zawsze tą „obowiązkową”: dostajemy wszystkie jej wiersze, a dane z lewej (A) pojawiają się tylko tam, gdzie warunek łączenia jest spełniony. Tam gdzie dopasowania w A nie ma, kolumny z A przyjmują wartość `NULL`. To dokładnie odpowiada zielonemu obszarowi na diagramie – cała B plus część wspólna A∩B. W praktyce taki RIGHT JOIN przydaje się np. gdy tabela B jest tabelą główną (np. `Zamowienia`), a tabela A jest pomocnicza (np. `Klienci_archiwalni`), ale z jakiegoś powodu w zapytaniu chcemy właśnie B mieć „gwarantowaną” – czyli nawet jeśli w A brakuje powiązanego rekordu, zamówienie i tak ma się pojawić w wynikach. Przykładowo: `SELECT * FROM Klienci_archiwalni A RIGHT JOIN Zamowienia B ON A.id_klienta = B.id_klienta;` Dobra praktyka w SQL mówi, że częściej stosuje się `LEFT JOIN`, bo jest czytelniejszy (łatwiej myśleć: „biorę wszystko z lewej”), ale logicznie RIGHT JOIN robi to samo, tylko „odwraca perspektywę”. Wiele zespołów wręcz zaleca, żeby zamiast RIGHT JOIN przepisać zapytanie tak, by użyć LEFT JOIN i zamienić kolejność tabel – ale na egzaminach i w testach warto znać oba. Moim zdaniem dobrze jest też od razu kojarzyć: `LEFT JOIN` – wszystko z lewej, `RIGHT JOIN` – wszystko z prawej, `INNER JOIN` – tylko przecięcie, `FULL OUTER JOIN` – suma zbiorów. Dzięki temu każde zadanie z diagramem Venna w SQL robi się dużo prostsze i mniej mylące.

Pytanie 5

Kwerenda

ALTER TABLE artykuly MODIFY cena float;
ma na celu dokonanie zmian w tabeli artykuly.
A. usunąć kolumnę o nazwie cena typu float
B. zmienić typ kolumny cena na float
C. dodać kolumnę o nazwie cena z typem float, jeżeli jeszcze nie istnieje
D. zmienić nazwę kolumny cena na float
Twoja odpowiedź o zmianie typu na float dla kolumny cena jest całkiem na miejscu! W pracy z bazami danych ważne jest, żeby odpowiednio zarządzać typami danych w tabelach. Typ float to coś, co często wykorzystuje się do przechowywania wartości liczbowych, które mają część dziesiętną. To istotne przy cenach, które często muszą być dokładnie przedstawione, na przykład do dwóch miejsc po przecinku. Wspomniana kwerenda ALTER TABLE to świetne narzędzie do zmiany struktury tabeli, i to jest zgodne z dobrymi praktykami zarządzania bazami, zwłaszcza z zasadą elastyczności. Dzięki temu można dostosować tabelę do zmieniających się potrzeb bez potrzeby przebudowy całej bazy. Wiesz, takie operacje są dość typowe, ale trzeba uważać, by nie stracić danych czy mieć jakieś niezgodności. Dlatego zawsze warto zrobić kopię zapasową i testować zmiany w środowisku testowym. Zrozumienie takich operacji pomoże ci w lepszym zarządzaniu bazami danych i ich optymalizacji.

Pytanie 6

Rekordy do raportu mogą pochodzić z

A. makropolecenia
B. zapytania INSERT INTO
C. tabeli
D. innego raportu
Wybór innego raportu jako źródła danych może wydawać się logiczny na pierwszy rzut oka, jednak w rzeczywistości, raporty są zazwyczaj wynikiem analizy danych już zgromadzonych w bazach danych, a nie bezpośrednim źródłem tych danych. Raport oparty na innym raporcie może prowadzić do niepotrzebnej złożoności oraz braku przejrzystości w dostępie do danych. Ponadto użycie makropolecenia jako źródła do generowania raportu jest niewłaściwe, ponieważ makropolecenia są narzędziami do automatyzacji zadań, a nie strukturami danych. W kontekście zapytania 'INSERT INTO', należy zauważyć, że jest to instrukcja służąca do dodawania nowych rekordów do tabeli, a nie do pobierania danych. Wybranie takiego podejścia mogłoby wprowadzić w błąd, ponieważ nie odzwierciedla rzeczywistego procesu raportowania, który wymaga analizy istniejących danych. Często błędy myślenia w tym kontekście wynikają z pomylenia celów automatyzacji z celami analizy danych. Poprawne zrozumienie roli tabel w bazach danych pozwala na wydajne raportowanie i podejmowanie decyzji na podstawie rzeczywistych i aktualnych informacji.

Pytanie 7

W języku PHP, aby nawiązać połączenie z bazą danych MySQL za pomocą biblioteki mysqli, wykorzystując podany kod, w miejscu parametru 'c' powinno się wpisać

$a = new mysqli('b', 'c', 'd', 'e')
A. nazwę użytkownika
B. lokalizację serwera bazy danych
C. nazwę bazy danych
D. hasło użytkownika
W języku PHP funkcja mysqli_connec lub konstruktor klasy mysqli służy do tworzenia połączeń z bazą danych MySQL. Ta funkcja wymaga podania kilku parametrów w określonej kolejności. Pierwszym parametrem jest lokalizacja serwera bazy danych zazwyczaj 'localhost' dla lokalnych serwerów. Drugim parametrem jest nazwa użytkownika. Jest to kluczowy element ponieważ pozwala na autoryzację i określa jakie operacje użytkownik może wykonywać na danej bazie danych. Zazwyczaj nazwa użytkownika to 'root' dla serwerów lokalnych ale na serwerach produkcyjnych często stosuje się inne konto użytkownika ze względów bezpieczeństwa. Trzecim parametrem jest hasło odpowiadające podanemu użytkownikowi zapewniające dodatkowy poziom bezpieczeństwa. Czwartym parametrem jest nazwa bazy danych do której użytkownik chce się połączyć. Dobrą praktyką jest korzystanie z plików konfiguracyjnych do przechowywania tych danych aby łatwo można było zarządzać różnymi środowiskami np. deweloperskim testowym i produkcyjnym bez konieczności modyfikacji kodu źródłowego. Prawidłowe zrozumienie tego mechanizmu jest kluczowe dla tworzenia bezpiecznych i stabilnych aplikacji webowych.

Pytanie 8

Co wchodzi w skład standardowego frameworka?

A. system uruchamiania i przetwarzania akcji oraz certyfikat http
B. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji
C. domena oraz obsługa błędów
D. przetwarzanie formularzy oraz wbudowany serwer
Frameworki aplikacji webowych dostarczają zestawu narzędzi i standardów, które ułatwiają tworzenie oprogramowania. W kontekście tego pytania, zarządzanie komunikacją z bazą danych oraz mechanizm uruchamiania i przetwarzania akcji stanowią kluczowe komponenty każdego frameworka. Zarządzanie komunikacją z bazą danych odnosi się do sposobów, w jakie aplikacja łączy się z bazą danych, wykonuje zapytania i przetwarza wyniki. Przykładowo, w frameworkach takich jak Django czy Ruby on Rails, stosuje się ORM (Object-Relational Mapping), co ułatwia interakcję z bazą danych poprzez obiektowe podejście zamiast pisania surowych zapytań SQL. Mechanizm uruchamiania i przetwarzania akcji opisuje, jak framework interpretuje i obsługuje żądania użytkowników, co obejmuje routing, middleware i obsługę logiki biznesowej. Takie podejście jest zgodne z zasadą DRY (Don't Repeat Yourself), co zwiększa efektywność i jakość kodu w projektach programistycznych.

Pytanie 9

W SQL, aby ustawić klucz główny na polu id w tabeli uczniowie, można użyć polecenia

A. ADD TABLE uczniowie PRIMARY KEY (id)
B. ALTER TABLE uczniowie ADD PRIMARY KEY (id)
C. INSERT TABLE uczniowie PRIMARY KEY (id)
D. INSERT TABLE uczniowie ADD PRIMARY KEY (id)
Odpowiedź 'ALTER TABLE uczniowie ADD PRIMARY KEY (id);' jest poprawna, ponieważ polecenie ALTER TABLE w SQL służy do modyfikacji istniejącej struktury tabeli. W tym przypadku chcemy dodać klucz podstawowy do istniejącej tabeli uczniowie, co jest zgodne z zasadami normalizacji baz danych. Klucz podstawowy jest unikalnym identyfikatorem dla każdego rekordu, co zapewnia integralność danych. Przykładowo, jeśli tabela uczniowie zawiera kolumnę id, która jest już zdefiniowana, użycie polecenia ALTER TABLE pozwala na dodanie klucza podstawowego do tej kolumny. Ważne jest, aby pamiętać, że przed dodaniem klucza podstawowego, kolumna musi być unikalna i nie może zawierać wartości NULL. Dodatkowo, zgodnie z najlepszymi praktykami, warto wcześniej sprawdzić, czy w tabeli nie ma duplikatów w kolumnie, aby uniknąć błędów w trakcie dodawania klucza. W kontekście systemów zarządzania bazami danych, takich jak MySQL czy PostgreSQL, poprawne zarządzanie kluczami podstawowymi jest kluczowe dla zapewnienia efektywności operacji na tabelach oraz dla poprawności logiki aplikacji korzystającej z bazy danych.

Pytanie 10

W SQL klauzula DISTINCT w poleceniu SELECT spowoduje, że otrzymane dane

A. nie będą zawierały powtórzeń
B. zostaną uporządkowane
C. będą zgrupowane według wskazanego pola
D. będą spełniały dany warunek
Użycie klauzuli DISTINCT w instrukcji SELECT w języku SQL ma na celu eliminację powtórzeń w zwracanych wynikach. Dzięki temu, gdy wykonujemy zapytanie, w którym chcemy uzyskać unikalne wartości z określonej kolumny, możemy uniknąć sytuacji, w której te same dane pojawiają się wielokrotnie. Na przykład, jeśli mamy tabelę z informacjami o klientach, a chcemy otrzymać listę unikalnych miast, w których mieszkają, możemy użyć zapytania SELECT DISTINCT city FROM customers. Ta funkcjonalność jest szczególnie przydatna w raportowaniu i analizie danych, gdzie unikalność wartości ma kluczowe znaczenie. Warto również zauważyć, że klauzula DISTINCT wpływa na wydajność zapytań, dlatego ważne jest, aby używać jej tylko wtedy, gdy jest to rzeczywiście konieczne. Przy stosowaniu DISTINCT warto również znać inne techniki, takie jak grupowanie danych przy użyciu GROUP BY, które może być bardziej odpowiednie w niektórych scenariuszach, szczególnie gdy chcemy wykonywać agregacje.

Pytanie 11

W poniższym zapytaniu SQL znak „*” wskazuje, że w wyniku tego zapytania zostaną zwrócone:

SELECT * FROM mieszkancy WHERE imie = 'Anna';
A. wszystkie rekordy z tabeli mieszkańcy będą widoczne
B. warunek dotyczący imienia zostanie pominięty
C. zostaną wyświetlone wszystkie kolumny tabeli mieszkańcy
D. zostanie pokazane pole zatytułowane „*” (gwiazdka)
W zapytaniu SQL, operator '*' jest używany do oznaczania wszystkich kolumn w tabeli. W kontekście zapytania 'SELECT * FROM mieszkancy WHERE imie = 'Anna';', zapytanie to zwraca wszystkie kolumny z tabeli 'mieszkancy', które spełniają warunek określony w klauzuli WHERE, czyli te rekordy, w których pole 'imie' ma wartość 'Anna'. Przykład zastosowania: jeśli tabela 'mieszkancy' zawiera kolumny takie jak 'id', 'imie', 'nazwisko', 'adres', to wynik zapytania będzie zawierał wszystkie te kolumny dla osób o imieniu 'Anna'. Używanie '*' w zapytaniach jest powszechnie stosowaną praktyką, ale w dobrych praktykach programistycznych zaleca się określanie, które kolumny są faktycznie potrzebne w wyniku, aby zoptymalizować zapytania i zmniejszyć ilość przesyłanych danych, szczególnie w większych bazach danych.

Pytanie 12

Jakie polecenie pozwala na kontrolowanie oraz optymalizację bazy danych?

A. mysqlimport
B. mysqlcheck
C. mysqlshow
D. mysqldump
Odpowiedź 'mysqlcheck' jest poprawna, ponieważ jest to narzędzie służące do sprawdzania i optymalizacji baz danych MySQL. Umożliwia ono użytkownikom weryfikację integralności tabel, a także optymalizację struktury bazy danych, co jest kluczowe dla zapewnienia jej wydajności. Funkcja ta jest niezwykle przydatna w przypadku dużych baz danych, gdzie regularne sprawdzanie i optymalizacja mogą znacząco wpłynąć na szybkość wykonywania zapytań. W praktyce, mysqlcheck można uruchomić z różnymi opcjami, na przykład '-a' do automatycznej optymalizacji, co pozwala na zautomatyzowanie procesu konserwacji bazy. Ponadto, zgodnie z zaleceniami dobrych praktyk w zarządzaniu bazami danych, regularne korzystanie z mysqlcheck może pomóc w identyfikacji potencjalnych problemów przed ich eskalacją, co z kolei minimalizuje ryzyko awarii systemu i utraty danych.

Pytanie 13

Użytkownik Jan będzie mógł wykonywać

GRANT ALL PRIVILEGES ON dane.* TO 'Jan'@'localhost';
A. jedynie operacje CREATE, ALTER, DROP na tabelach bazy dane.
B. jedynie operacje manipulowania danymi i zmienić jedynie swoje prawa.
C. wszystkie operacje na tabelach bazy dane oraz nadawać prawa innym użytkownikom.
D. wszystkie operacje na tabelach bazy dane.
Wszystkie pozostałe odpowiedzi są niepoprawne z różnych powiedział. Druga odpowiedź sugeruje, że Jan może wykonywać tylko operacje CREATE, ALTER, DROP. Jest to nieprawidłowe, ponieważ otrzymał on pełne uprawnienia do bazy danych, co zdecydowanie wykracza poza te trzy operacje. Trzecia odpowiedź zawiera błędne przekonanie, że Jan może nadawać uprawnienia innym użytkownikom. Pomimo posiadania pełnych uprawnień do bazy danych, nie oznacza to, że ma on możliwość zarządzania uprawnieniami innych użytkowników. Czwarta odpowiedź jest również błędna, twierdząc, że Jan może manipulować danymi i zmieniać tylko swoje uprawnienia. W rzeczywistości, Jan nie ma uprawnień do zmiany swoich własnych uprawnień - to zadanie zazwyczaj spoczywa na administratorze bazy danych. Wszystkie te błędy wynikają z niewłaściwego zrozumienia zarządzania uprawnieniami w bazach danych i roli konstrukcji GRANT. W rzeczywistości, GRANT pozwala na precyzyjne i granularne zarządzanie uprawnieniami, a pełne uprawnienia oznaczają pełną kontrolę nad bazą danych, ale nie nad uprawnieniami innych użytkowników.

Pytanie 14

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. wykorzystanie makr
B. przypisanie uprawnień
C. określanie zakresu tabel
D. ustalanie limitów przestrzeni na dysku
Odpowiedzi sugerujące określanie przestrzeni tabel, wprowadzenie limitów przestrzeni dyskowej oraz stosowanie makr jako formy zabezpieczeń dostępu do danych w Microsoft Access są mylące i nie oddają istoty zarządzania bezpieczeństwem danych w tym programie. Określanie przestrzeni tabel odnosi się do fizycznej organizacji danych w bazie, ale nie ma bezpośredniego wpływu na to, kto ma prawo do ich przeglądania czy edytowania. Nie służy to ochronie danych, a raczej optymalizacji ich przechowywania. Wprowadzenie limitów przestrzeni dyskowej, chociaż może pomóc w zarządzaniu zasobami systemowymi, nie wpływa na kontrolę dostępu, co czyni tę metodę niewłaściwą w kontekście zabezpieczeń. Istotniejsze jest to, że takie podejście nie reguluje, jak użytkownicy oddziałują z danymi, ani jakie mają do nich uprawnienia. Stosowanie makr natomiast dotyczy automatyzacji procesów i usprawnienia funkcjonalności aplikacji, a nie zarządzania dostępem do danych. Użytkownicy mogą błędnie sądzić, że makra mogą pełnić rolę zabezpieczeń, ale w rzeczywistości są one narzędziem do efektywności pracy. Dlatego ważne jest, aby zrozumieć, że skuteczne zarządzanie dostępem do danych opiera się na przypisaniu odpowiednich uprawnień, co jest fundamentem ochrony informacji w środowisku baz danych.

Pytanie 15

W systemie MySQL trzeba użyć polecenia REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian jedynie w definicji struktury bazy danych. Odpowiednia komenda do odebrania tych uprawnień ma postać

A. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
B. REVOKE ALL ON tabela1 FROM 'anna'@'locaihost'
C. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
W analizie odpowiedzi, które są niepoprawne, kluczowe jest zrozumienie, jakie uprawnienia są odbierane i dlaczego to ma znaczenie. Odpowiedzi takie jak 'REVOKE ALL ON tabela1 FROM 'anna'@'localhost'' są niewłaściwe, ponieważ polecenie REVOKE ALL odbiera wszystkie prawa użytkownikowi, co może być zbyt drastycznym krokiem. W kontekście zarządzania uprawnieniami, ważne jest, aby podejść do tego z miarą i precyzją, a nie stosować ogólne odbieranie wszystkich praw. Ponadto, odpowiedzi, które obejmują niewłaściwe kombinacje uprawnień, takie jak 'REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'', są również błędne. Odbieranie prawa UPDATE nie jest zgodne z celem pytania, które dotyczy jedynie strukturalnych zmian, a nie wprowadzania danych. Właściwe podejście do konfiguracji uprawnień powinno koncentrować się na ograniczaniu dostępu użytkowników tylko tam, gdzie jest to absolutnie konieczne, a nie na eliminacji ich zdolności do pracy z danymi w ogóle. Użytkownicy często popełniają błąd myślowy, myśląc, że odebranie zbyt wielu uprawnień jest rozwiązaniem problemu bezpieczeństwa, podczas gdy w rzeczywistości może to prowadzić do zablokowania niezbędnych operacji, co zagraża efektywności pracy organizacji.

Pytanie 16

Jaki typ komunikatu jest zawsze przesyłany wyłącznie w kierunku w dół, to jest od kierownika do pracownika?

A. Poszukiwanie rozwiązań.
B. Uwagi dotyczące polityki organizacji.
C. Zgłaszanie.
D. Powierzenie zadania.
W przypadku raportowania, komunikacja ta jest często obustronna, co oznacza, że może zachodzić nie tylko w dół, ale również w górę - pracownicy raportują swoje wyniki i postępy do przełożonych, co może prowadzić do interakcji i wymiany informacji. Poszukiwanie rozwiązań z kolei jest procesem bardziej współpracy, który angażuje zarówno przełożonych, jak i podwładnych w poszukiwanie najlepszych sposobów działania. Taki sposób komunikacji oparty jest na wymianie pomysłów oraz twórczym myśleniu, co nie jest ograniczone tylko do jednego kierunku. Uwagi o polityce organizacji również mogą być przekazywane w różny sposób - mogą to być zarówno polecenia z góry, jak i sugestie z dołu, co pozwala na bardziej demokratyczne podejście do zarządzania. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków często opierają się na założeniu, że wszystkie komunikaty mają jednolitą naturę. W rzeczywistości, skuteczna komunikacja w organizacji wymaga uwzględnienia kontekstu, celu oraz odbiorcy. Dlatego zrozumienie różnorodności komunikatów i sposobów ich przekazywania jest kluczowe dla skutecznego zarządzania i efektywnej współpracy w zespole.

Pytanie 17

W systemie baz danych stworzono tabelę Mieszkancy zawierającą informacje. Aby usunąć tę tabelę wraz z danymi, należy użyć komendy

A. TRUNCATE TABLE Mieszkancy;
B. DELETE FROM Mieszkancy;
C. ALTER TABLE Mieszkancy;
D. DROP TABLE Mieszkancy;
Polecenie 'DROP TABLE Mieszkancy;' jest właściwym sposobem na usunięcie tabeli wraz z jej zawartością w bazie danych. To polecenie nie tylko usuwa tabelę, ale również wszystkie dane, które w niej się znajdują oraz wszelkie powiązania, takie jak klucze obce. W praktyce, gdy programista chce całkowicie wyeliminować strukturę tabeli oraz jej dane, wykorzystuje 'DROP TABLE'. Jest to szczególnie przydatne w sytuacjach, gdy tabela nie jest już potrzebna w systemie, a jej usunięcie pozwala na zwolnienie zasobów oraz uproszczenie struktury bazy danych. Warto również pamiętać, że przed wykonaniem tego polecenia warto stworzyć kopię zapasową danych, jeśli są one istotne, ponieważ operacja ta jest nieodwracalna. Ponadto, zgodnie z zasadami dobrych praktyk, przed usunięciem tabeli należy upewnić się, że nie ma na nią żadnych zależności w innych częściach bazy danych, aby uniknąć potencjalnych problemów z integralnością danych.

Pytanie 18

W tabeli mieszkańcy zawierającej pola id, imie, nazwisko, ulica, numer, czynsz (wartość całkowita) należy zidentyfikować osoby zamieszkujące ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz jest niższy niż
1000 zł. Jak będzie wyglądać klauzula WHERE w zapytaniu?

A. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź jest prawidłowa, ponieważ klauzula WHERE w zapytaniu SQL skutecznie filtruje dane zgodnie z wymaganiami. W tym przypadku, użycie operatora AND w połączeniu z IN i warunkiem < 1000 zapewnia, że zwrócone zostaną jedynie te rekordy, które spełniają wszystkie trzy kryteria: ulica musi być 'Mickiewicza', numer musi być jednym z 71, 72 lub 80, a czynsz musi być mniejszy niż 1000 zł. To jest zgodne z dobrą praktyką w SQL, gdzie łączenie warunków z użyciem operatorów logicznych pozwala na precyzyjne określenie zestawu danych, które nas interesują. Przy tak skonstruowanej klauzuli, zapytanie będzie wydajne i zrozumiałe, co jest kluczowe w pracy z bazami danych. Przykładowe zastosowanie to generowanie raportów dotyczących mieszkańców, co może być istotne dla zarządzania nieruchomościami lub analizy rynku wynajmu. Tego typu zapytania są powszechnie używane w aplikacjach webowych i systemach zarządzania danymi, co podkreśla znaczenie umiejętności formułowania precyzyjnych zapytań SQL.

Pytanie 19

SELECT AVGcena) FROM usługi; Celem użycia funkcji agregującej AVG w tym zapytaniu jest

A. wyliczyć średnią arytmetyczną cen wszystkich usług
B. określić najwyższą cenę usług
C. zliczyć ilość dostępnych usług w tabeli
D. zsumować wartości kosztów wszystkich usług

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "obliczyć średnią arytmetyczną cen wszystkich usług" jest poprawna, ponieważ funkcja AVG (average) w SQL jest zaprojektowana do obliczania średniej wartości z zestawu danych w danej kolumnie. W podanym zapytaniu, AVG(cena) ma na celu zsumowanie wartości w kolumnie 'cena' dla wszystkich wierszy w tabeli 'usługi' oraz podzielenie tej sumy przez liczbę wierszy, które zawierają dane. W praktyce, średnia arytmetyczna jest niezwykle użyteczna w analizie danych, ponieważ pozwala na uzyskanie jednego, reprezentatywnego wyniku, który może być pomocny w podejmowaniu decyzji biznesowych. Na przykład, firma usługowa może użyć tej informacji do oceny swojej polityki cenowej, porównując średnią cenę swoich usług do średnich cen konkurencji. Zgodnie z najlepszymi praktykami w branży, stosowanie funkcji agregujących takich jak AVG powinno być integralną częścią procesów analizy danych, szczególnie w kontekście raportowania i oceny efektywności operacyjnej.

Pytanie 20

W MS SQL Server komenda RESTORE DATABASE jest używana do

A. rekonstrukcji bazy danych na podstawie danych buforowanych
B. przywrócenia bazy danych z kopii zapasowej
C. zaktualizowania bazy danych z weryfikacją więzów integralności
D. usunięcia bazy danych z serwera centralnego subskrybenta

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie RESTORE DATABASE w MS SQL Server jest kluczowe dla procesu zarządzania danymi, gdyż umożliwia odtworzenie bazy danych z wcześniej wykonanej kopii bezpieczeństwa. To fundamentalne działanie zabezpiecza przed utratą danych i zapewnia ciągłość działania aplikacji. W praktyce, gdy następuje awaria systemu lub dane zostały usunięte przez pomyłkę, administratorzy baz danych korzystają z tego polecenia, aby przywrócić bazę do stanu sprzed zdarzenia. W kontekście dobrych praktyk branżowych, regularne tworzenie kopii zapasowych oraz ich właściwe zarządzanie są kluczowe. Warto także zaznaczyć, że przywracanie bazy danych może być realizowane z pełnych kopii, a także z kopii różnicowych i przyrostowych, co daje elastyczność w zarządzaniu danymi. Ponadto, w przypadku dużych baz danych, techniki takie jak 'Point-in-Time Recovery' pozwalają na przywrócenie bazy do precyzyjnego momentu, co jest nieocenione w sytuacjach kryzysowych.

Pytanie 21

Zakładając, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL przyzna użytkownikowi anna jedynie uprawnienia do

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
A. wybierania, dodawania pól oraz modyfikacji struktury tabeli o nazwie klienci
B. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
C. wybierania, dodawania pól oraz modyfikacji struktury wszystkich tabel w bazie o nazwie klienci
D. wybierania, wstawiania oraz modyfikacji danych w wszystkich tabelach w bazie o nazwie klienci

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
To polecenie SQL, które widzisz, czyli GRANT SELECT INSERT UPDATE ON klienci TO anna, po prostu przyznaje użytkownikowi anna konkretne uprawnienia do tabeli klienci. Dzięki temu, ona może odczytywać dane z tej tabeli, co jest naprawdę ważne, zwłaszcza przy robieniu różnych zapytań czy raportów. A jakbyś chciał dodać nowe rekordy, to właśnie INSERT na to pozwala. To mega istotne, bo w bazach danych często coś się zmienia! Natomiast UPDATE daje możliwość zmieniania już istniejących danych, co jest bardzo przydatne, żeby utrzymać wszystko w porządku i aktualności. To jakby standard w zarządzaniu bazami danych. Przyznawanie uprawnień do konkretnej tabeli, a nie całej bazy, zmniejsza ryzyko, że ktoś dostanie dostęp do danych, które nie są dla niego przeznaczone. To wszystko działa zgodnie z zasadą minimalnych uprawnień, co jest super ważne! Można też lepiej kontrolować, kto i jakie operacje może robić na danych, co zapewnia bezpieczeństwo i integralność danych w firmie.

Pytanie 22

Utworzono bazę danych z tabelą mieszkańcy, która zawiera pola: nazwisko, imię oraz miasto. Następnie przygotowano poniższe zapytanie do bazy:
SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Kraków';
Wskaż zapytanie, które zwróci takie same dane.

A. SELECT nazwisko, imie FROM mieszkańcy AS 'Poznań' OR 'Kraków';
B. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków';
C. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto HAVING 'Poznań' OR 'Kraków';
D. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór odpowiedzi SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków' jest prawidłowy, ponieważ wykorzystuje operator logiczny OR, który umożliwia filtrowanie danych z tabeli mieszkańcy na podstawie wartości w polu miasto. To zapytanie zwraca wszystkich mieszkańców, którzy są z Poznania lub Krakowa, co odpowiada wymaganiom postawionym w pytaniu. Warto zauważyć, że taka konstrukcja jest efektywna, ponieważ nie używa złożonych zapytań ani nie tworzy zbiorów, które następnie muszą być łączone. Operator OR jest powszechnie stosowany w SQL do łączenia wielu warunków, co czyni go łatwym w użyciu. Dodatkowo, zgodnie z dobrymi praktykami baz danych, unikanie zbędnych operacji, jak UNION, gdy wystarczy proste OR, zwiększa wydajność i czytelność zapytań. Przykładowe zastosowanie tego zapytania może mieć miejsce w aplikacjach, które potrzebują zidentyfikować użytkowników z konkretnego regionu, co jest istotne w przypadku personalizacji treści lub promocji regionalnych.

Pytanie 23

Zadanie przedstawione w ramce polecenia SQL ma na celu

Ilustracja do pytania
A. ustawić wartość pola Uczen na 1
B. ustawić wartość kolumny id_klasy na 1 dla wszystkich wpisów w tabeli Uczen
C. powiększyć wartość pola Uczen o jeden
D. zwiększyć wartość kolumny id_klasy o jeden dla wszystkich wpisów tabeli Uczen

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie SQL UPDATE Uczen SET id_klasy = id_klasy + 1 ma na celu zwiększenie wartości kolumny id_klasy o jeden dla każdego rekordu w tabeli Uczen Jest to typowa operacja w bazach danych gdy chcemy przeprowadzić masową aktualizację wartości w konkretnym polu W tym przypadku kolumna id_klasy jest modyfikowana tak aby każda jej wartość została zwiększona o jeden Jest to szczególnie przydatne w scenariuszach gdzie wartości identyfikatorów czy indeksów muszą być zwiększone ze względu na zmiany struktury danych lub w celu dostosowania do nowych wymagań Możliwość masowej aktualizacji danych jest jednym z głównych powodów dla których SQL jest tak potężnym narzędziem w zarządzaniu bazami danych Operacje tego typu wymagają jednak ostrożności aby uniknąć niepożądanych zmian które mogą wpływać na integralność danych Dlatego też dobre praktyki branżowe zalecają zawsze wykonywanie kopii zapasowych danych przed przeprowadzeniem tego typu operacji oraz dokładne sprawdzenie logiki biznesowej która za nimi stoi Zwrócenie uwagi na wydajność oraz potencjalne blokady przy jednoczesnym dostępie do bazy to również kluczowe aspekty o których należy pamiętać w środowiskach produkcyjnych

Pytanie 24

W celu wykonania kopii bazy danych biblioteka w systemie MySQL należy w konsoli użyć polecenia

A. mysqldump -u root biblioteka > kopia.sql
B. backupmysql -u root biblioteka kopia.sql
C. mysqlduplicate –u root biblioteka > kopia.sql
D. copymysql –u root biblioteka kopia.sql

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawne polecenie do wykonania kopii bazy danych MySQL to „mysqldump -u root biblioteka > kopia.sql”. Narzędzie mysqldump jest oficjalnym, standardowym programem dostarczanym razem z serwerem MySQL i właśnie ono służy do tworzenia logicznych kopii zapasowych baz danych. Działa tak, że łączy się z serwerem MySQL, odczytuje strukturę tabel oraz dane, a następnie generuje plik tekstowy zawierający instrukcje SQL typu CREATE TABLE i INSERT. Taki plik można potem w prosty sposób wgrać z powrotem, np. poleceniem „mysql -u root biblioteka < kopia.sql”. To jest bardzo wygodne w praktyce, bo backup jest przenośny między serwerami, wersjami MySQL, a nawet można go edytować ręcznie w razie potrzeby. W tym poleceniu „-u root” oznacza użytkownika bazy danych, czyli logujemy się jako użytkownik root. W realnym środowisku produkcyjnym zwykle używa się konta z mniejszymi uprawnieniami i dodatkowo opcji „-p”, żeby podać hasło (np. „mysqldump -u backup_user -p biblioteka > kopia.sql”). Nazwa „biblioteka” to nazwa bazy, którą archiwizujemy. Znak „>” to przekierowanie powłoki systemowej (bash, cmd itp.), które zapisuje wynik działania programu mysqldump do pliku „kopia.sql” zamiast wypisywać go na ekran. To przekierowanie nie jest częścią MySQL, tylko mechanizmem systemu operacyjnego, co czasem bywa mylące dla początkujących. Moim zdaniem warto od razu wyrabiać sobie dobre nawyki: używać mysqldump regularnie, najlepiej w skryptach cron (Linux) lub Harmonogramie zadań (Windows), trzymać kopie na innym serwerze i testować odtwarzanie. W praktyce administracji serwerami i bezpieczeństwa danych takie kopie logiczne są podstawą procedur disaster recovery. W dokumentacji MySQL mysqldump jest wymieniony jako jedno z głównych narzędzi do backupu i migracji baz danych, więc znajomość dokładnie tego polecenia to absolutna podstawa pracy z MySQL w środowiskach webowych i nie tylko.

Pytanie 25

W systemie baz danych zdefiniowano tabelę Mieszkancy, która zawiera dane. W celu usunięcia tej tabeli oraz jej zawartości, należy użyć polecenia

A. DELETE FROM Mieszkancy;
B. TRUNCATE TABLE Mieszkancy;
C. DROP TABLE Mieszkancy;
D. ALTER TABLE Mieszkancy;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie 'DROP TABLE Mieszkancy;' jest odpowiednie do usunięcia tabeli z bazy danych, wraz ze wszystkimi jej danymi i strukturą. W przeciwieństwie do innych poleceń, takich jak 'DELETE' czy 'TRUNCATE', które modyfikują zawartość tabeli, 'DROP TABLE' usuwa całą tabelę z systemu. Użycie tego polecenia jest nieodwracalne, dlatego przed jego zastosowaniem warto upewnić się, że posiadamy kopię zapasową danych, jeśli będą one w przyszłości potrzebne. W praktyce, jeśli jesteś administratorem bazy danych i chcesz usunąć zbędną tabelę, polecenie to jest niezwykle efektywne i pozwala na zwolnienie zasobów. Zgodnie z najlepszymi praktykami, przed wykonaniem operacji na bazie danych, zawsze warto przeprowadzić analizę wpływu na inne powiązane obiekty, takie jak relacje między tabelami. Dobrą praktyką jest również włączenie kontroli dostępu, aby nieuprawnione osoby nie mogły wykonywać takich operacji.

Pytanie 26

Zgodnie z zasadami ACID, które odnoszą się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, że

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od wydarzeń, które nastąpią po jej zakończeniu
B. transakcja może w pewnych okolicznościach być podzielona na dwa niezależne etapy
C. w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
D. w trakcie wykonywania transakcji dane mogą być zmieniane przez inne transakcje

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Trwałość (czyli durability) w bazach danych to taka cecha, która mówi, że jak już zatwierdzisz transakcję, to wszystkie zmiany zostaną na zawsze w systemie. To znaczy, że niezależnie od tego, co się później wydarzy, jak na przykład awaria, Twoje dane są bezpieczne. To naprawdę ważne, bo pozwala na utrzymanie spójności i pewności, że system działa tak, jak powinien. Weźmy na przykład systemy bankowe. Gdy robisz przelew, musisz być pewien, że pieniądze poszły tam, gdzie miały, nawet jak serwer padnie tuż po zakończeniu transakcji. Dobrze jest mieć też takie mechanizmy, jak zapisywanie dzienników, które pomagają odtworzyć dane, jeśli coś pójdzie nie tak. Trwałość to kluczowa sprawa w projektowaniu baz danych, bo buduje zaufanie użytkowników oraz pozwala spełnić różne normy i regulacje.

Pytanie 27

W SQL, używanym w bazie danych MySQL, aby przypisać wartość 0 do kolumny przebieg w tabeli samochody, jaką kwerendę należy zastosować?

A. UPDATE samochody SET przebieg VALUE 0
B. UPDATE przebieg SET 0 TABLE samochody
C. UPDATE samochody SET przebieg = 0
D. UPDATE przebieg SET 0 FROM samochody

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'UPDATE samochody SET przebieg = 0;' jest jak najbardziej trafna! W SQL używamy klauzuli UPDATE, gdy chcemy coś zmienić w naszej tabeli. W tym konkretnym przypadku ustawiamy wartość kolumny 'przebieg' na 0 dla wszystkich samochodów. Fajne jest to, że operator '=' oznacza, iż zmieniamy wartość w wybranej kolumnie. To podstawa, żeby dobrze zarządzać danymi w bazach. Warto też pomyśleć, czy naprawdę chcemy zmieniać wszystkie rekordy, czy tylko część. Można to zrobić z klauzulą WHERE. Na przykład, jeśli chcemy ustawić przebieg na 0 tylko dla aut konkretnego producenta, to użyjemy: 'UPDATE samochody SET przebieg = 0 WHERE producent = 'NazwaProducenta'. Takie działania powinny być w kontekście transakcji, żeby móc cofnąć zmiany, jeśli coś pójdzie nie tak. Rozumienie tej kwerendy to klucz do zarządzania danymi w MySQL i innych systemach.

Pytanie 28

Model, w którym wszystkie informacje są zgromadzone w jednej tabeli, określa się jako struktura prostych baz danych

A. sieciowym
B. relacyjnym
C. hierarchicznym
D. jednorodnym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Model jednorodny, znany też jako model płaskiej tabeli, to taka struktura bazy, w której trzymamy wszystkie dane w jednej tabeli. To najprostsza opcja do zrozumienia i wdrożenia, dlatego świetnie nadaje się do małych i prostych aplikacji. W tym modelu dane są poukładane w wiersze i kolumny – każdy wiersz to jakiś rekord, a kolumny to różne cechy lub atrybuty tego rekordu. Na przykład, wyobraź sobie tabelę z informacjami o książkach: każda książka to osobny wiersz, a kolumny mogą zawierać tytuł, autora, rok wydania czy ISBN. Oczywiście, ma to swoje ograniczenia, zwłaszcza jeśli chodzi o wydajność i zarządzanie dużymi zbiorami danych. Dlatego w praktyce często przechodzi się na bardziej zaawansowane modele, jak relacyjny. Mimo to, model jednorodny sprawdza się w prototypowaniu albo tam, gdzie liczy się prostota i szybki dostęp do danych. Warto też wiedzieć, że nie korzysta się tu do końca ze standardów typu SQL, bo nie ma relacji między danymi.

Pytanie 29

Polecenie SQL:

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO adam@localhost
Przedstawione polecenie SQL nadaje użytkownikowi adam@localhost prawa:
A. do manipulowania danymi bazy danych klienci
B. do zarządzania strukturą tabeli klienci
C. do zarządzania strukturą bazy danych klienci
D. do manipulowania danymi w tabeli klienci

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie SQL przedstawione w pytaniu to GRANT, które jest używane do nadawania uprawnień użytkownikom w systemach zarządzania bazami danych. W tym przypadku użytkownikowi adam@localhost przyznawane są prawa SELECT, INSERT, UPDATE oraz DELETE na tabeli klienci. Oznacza to, że adam ma pełne prawo do manipulowania danymi w tej tabeli, co obejmuje możliwość odczytu danych (SELECT), dodawania nowych rekordów (INSERT), aktualizacji istniejących danych (UPDATE) oraz usuwania danych (DELETE). W kontekście relacyjnych baz danych, te operacje są kluczowe dla zarządzania danymi. Przykładowo, jeśli adam chciałby dodać nowego klienta, użyłby polecenia INSERT. Jeśli natomiast chciałby zaktualizować dane istniejącego klienta, wykorzystałby polecenie UPDATE. Standardy SQL precyzują, że każde z tych uprawnień pozwala użytkownikowi na określone interakcje z danymi, co jest niezbędne dla efektywnego zarządzania informacjami w bazie danych, a także zapewnia bezpieczeństwo poprzez kontrolę dostępu do wrażliwych danych.

Pytanie 30

W SQL, aby zaktualizować informacje w wierszach w tabeli, konieczne jest użycie polecenia

A. UPDATE
B. ALTER TABLE
C. INSERT INTO
D. SELECT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "UPDATE" jest właściwa, bo w SQL to właśnie to polecenie używamy do zmiany danych w już istniejących wierszach tabeli. Żeby zaktualizować konkretne kolumny w danym wierszu, trzeba wpisać coś takiego: "UPDATE nazwa_tabeli SET kolumna1 = wartość1, kolumna2 = wartość2 WHERE warunek". Dzięki klauzuli WHERE możemy dokładnie wskazać, które wiersze chcemy zmienić, co jest naprawdę ważne, żeby wszystko działało sprawnie i bezpiecznie. Na przykład, jeśli chcemy zmienić nazwisko użytkownika o id równym 1, napiszemy: "UPDATE Użytkownicy SET nazwisko = 'NoweNazwisko' WHERE id = 1". Używanie tego polecenia to dobra praktyka w zarządzaniu bazami danych. Nie zapominajmy o transakcjach, żeby mieć pewność, że dane są bezpieczne. A jak korzystamy z przygotowanych zapytań, to zminimalizujemy ryzyko ataków SQL injection, co jest bardzo istotne w kontekście bezpieczeństwa aplikacji bazodanowych.

Pytanie 31

Aby wykonać kopię zapasową bazy danych w MySQL, jakie polecenie należy zastosować?

A. mysqldump
B. mysqlreplicate
C. mysqlslap
D. mysqlcheck

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie mysqldump jest standardowym narzędziem w systemie MySQL, które służy do tworzenia kopii zapasowych baz danych. Umożliwia on eksportowanie danych oraz struktury wszystkich tabel w postaci pliku tekstowego, co sprawia, że jest niezwykle przydatny przy przeprowadzaniu migracji, aktualizacji lub przywracania danych. Przykładowe użycie mysqldump może wyglądać następująco: 'mysqldump -u użytkownik -p nazwa_bazy_danych > kopia_zapasowa.sql', co tworzy plik o nazwie 'kopia_zapasowa.sql' zawierający wszystkie dane i strukturę wskazanej bazy. Dobrą praktyką jest regularne tworzenie kopii zapasowych, szczególnie przed wprowadzeniem istotnych zmian w schemacie bazy danych lub podczas aktualizacji systemu. Ponadto, mysqldump umożliwia także eksportowanie danych w formacie CSV, co ułatwia ich dalszą analizę lub przeniesienie do innych systemów. Warto także pamiętać, że polecenie to oferuje różnorodne opcje, takie jak --single-transaction, które zapewniają spójność danych podczas tworzenia kopii zapasowej w bazach danych o dużym ruchu.

Pytanie 32

Tabele Klienci oraz Zgloszenia są związane relacją jeden do wielu. Jakie polecenie należy wydać, aby uzyskać tylko opis zgłoszenia oraz odpowiadające mu nazwisko klienta dla zgłoszenia numer 5?

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Zgloszenia.id = 5
B. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.id WHERE Zgloszenia.id = 5
C. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgloszenia JOIN Klienci ON Klienci.id = Zgloszenia.Klienci_id WHERE Klienci.id = 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ta odpowiedź jest prawidłowa, ponieważ używa poprawnej składni SQL do wykonania zapytania z dwóch tabel powiązanych relacją jeden do wielu. Kluczowym elementem jest użycie klauzuli JOIN, która łączy tabelę Zgloszenia z tabelą Klienci poprzez pole Klienci_id, będące kluczem obcym w tabeli Zgloszenia. Dzięki temu możliwe jest powiązanie odpowiednich rekordów z dwóch tabel. Warunek w klauzuli WHERE Zgloszenia.id = 5 precyzuje, że zapytanie ma zwrócić dane tylko dla zgłoszenia o identyfikatorze 5. Taki sposób pisania zapytań SQL jest zgodny z normami ANSI SQL i jest powszechnie stosowany w systemach zarządzania bazami danych jak MySQL, PostgreSQL czy SQL Server. Korzystanie z JOIN, zwłaszcza z klauzulą ON, jest dobrą praktyką, ponieważ zapewnia czytelność i bezpieczeństwo zapytań. W realnych zastosowaniach, takie zapytania są używane do łączenia danych z różnych źródeł w celu ich analizy lub raportowania. Prawidłowa struktura zapytania ułatwia jego modyfikację i integrację z innymi operacjami bazy danych, co jest niezbędne w zarządzaniu danymi w dużych systemach informatycznych. Zrozumienie mechanizmu JOIN oraz użycie klauzuli WHERE w celu ograniczenia wyników jest kluczowe w efektywnym zarządzaniu i analizie danych w relacyjnych bazach danych.

Pytanie 33

W tabeli zadania znajduje się pole tekstowe status. Jakie zapytanie należy użyć, aby usunąć te zadania, które mają status 'zamknięte'?

A. DELETE FROM zadania WHERE status = 'zamknięte';
B. TRUNCATE TABLE zadania;
C. DELETE FROM zadania;
D. TRUNCATE TABLE zadania WHERE status = 'zamknięte';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź DELETE FROM zadania WHERE status = 'zamknięte' jest poprawna, ponieważ wykorzystuje standardową składnię SQL do usuwania rekordów z tabeli na podstawie zadanych warunków. W tym przypadku, kwerenda ta usuwa tylko te wiersze, które mają wartość 'zamknięte' w polu status. Jest to podejście zgodne z dobrymi praktykami, ponieważ pozwala na precyzyjne określenie, które dane mają zostać usunięte, co minimalizuje ryzyko przypadkowego usunięcia innych rekordów. Na przykład, w systemie zarządzania projektami, możemy mieć wiele zadań z różnymi statusami, takimi jak 'otwarte', 'w trakcie', czy 'zamknięte'. Użycie tej kwerendy pozwala na oczyszczenie bazy danych z nieaktualnych zadań, co jest kluczowe dla utrzymania porządku i efektywności w zarządzaniu projektami. Ponadto, stosując tę metodę, możemy w przyszłości łatwo modyfikować warunki usuwania, na przykład zmieniając status na 'wstrzymane', zachowując elastyczność w zarządzaniu danymi.

Pytanie 34

W SQL, aby zmodyfikować strukturę tabeli, na przykład dodając lub usuwając kolumnę, należy użyć polecenia

A. DROP TABLE
B. TRUNCATE
C. UPDATE
D. ALTER TABLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "ALTER TABLE" jest poprawna, ponieważ jest to standardowe polecenie w języku SQL używane do modyfikacji istniejącej struktury tabeli. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, a także zmieniać typy danych kolumn. Przykładowo, aby dodać kolumnę "wiek" do tabeli "pracownicy", można użyć polecenia: "ALTER TABLE pracownicy ADD COLUMN wiek INT;". Innym zastosowaniem może być usunięcie kolumny, co osiągamy poprzez zapis: "ALTER TABLE pracownicy DROP COLUMN wiek;". W praktyce, stosowanie ALTER TABLE jest kluczowe w zarządzaniu bazami danych, szczególnie w przypadku rozwijania aplikacji, gdzie schematy danych mogą ewoluować z czasem. Warto pamiętać, że modyfikacje struktury tabeli mogą wpływać na integralność danych, dlatego przed ich wykonaniem zaleca się tworzenie kopii zapasowych oraz dokładne przemyślenie wpływu zmian na aplikacje korzystające z danej bazy danych.

Pytanie 35

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 BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuły WHERE typ='pralka' AND cena FROM 1000 TO 1500

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
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 36

Tworząc tabelę produkty, należy dodać pole cena, które będzie odzwierciedlać koszt produktu. Jaki typ powinno mieć to pole?

A. INTEGER(11)
B. TINYTEXT
C. DECIMAL(10, 2)
D. ENUM

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ DECIMAL(10, 2) jest odpowiedni dla pola ceny w tabeli produktów, ponieważ umożliwia dokładne przechowywanie wartości liczbowych z określoną precyzją i skalą. W tym przypadku liczba 10 oznacza maksymalną liczbę cyfr, które mogą być przechowywane, a 2 oznacza liczbę cyfr po przecinku. Dzięki temu można przechowywać wartości cenowe, które mają do dwóch miejsc po przecinku, co jest standardem w większości aplikacji związanych z handlem. Przykładem może być cena produktu wynosząca 19,99 PLN. Użycie typu DECIMAL jest zgodne z dobrymi praktykami w projektowaniu baz danych, ponieważ zapobiega problemom związanym z zaokrąglaniem, które mogą występować przy użyciu typów zmiennoprzecinkowych. Stosowanie DECIMAL jest szczególnie istotne w aplikacjach finansowych, gdzie precyzja wartości jest kluczowa. Warto dodać, że zgodnie z normami SQL, stosowanie tego typu danych pozwala na wykonywanie dokładnych zapytań i obliczeń, co jest niezbędne do prawidłowego funkcjonowania systemów zarządzania danymi.

Pytanie 37

Przedstawiony kod PHP nawiązuje połączenie z serwerem bazy danych. Jakiego typu operacje powinny się znaleźć w instrukcji warunkowej w miejscu trzech kropek?
$db = mysqli_connect("localhost", "root", "qwerty", "baza1");
if (!$db) {
...
}

A. Obsługa danych uzyskanych z bazy
B. Obsługa błędu połączenia
C. Zamknięcie połączenia z bazą danych
D. Informacja o udanym połączeniu z bazą

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybór obsługi błędu połączenia jako prawidłowej odpowiedzi jest zgodny z najlepszymi praktykami programistycznymi w zakresie zarządzania połączeniami z bazą danych. W sytuacji, gdy połączenie nie zostanie nawiązane, ważne jest, aby skutecznie obsłużyć ten błąd. Tylko w ten sposób programista może zrozumieć, co poszło nie tak, a także podjąć odpowiednie kroki w celu skorygowania problemu. Na przykład można wyświetlić komunikat informujący o błędzie, logować go w systemie lub wysłać powiadomienie do administratora. Dobrą praktyką jest również implementacja mechanizmów ponownego łączenia lub alternatywnych metod połączenia, jeśli to możliwe. Warto również zaznaczyć, że niewłaściwe zarządzanie połączeniem z bazą danych może prowadzić do poważnych konsekwencji, takich jak utrata danych, a nawet awarie aplikacji. Dlatego, umieszczając kod do obsługi błędów w instrukcji warunkowej, programista wykazuje się odpowiedzialnością oraz dbałością o jakość kodu.

Pytanie 38

ALTER TABLE artykuły MODIFY cena float; Ta kwerenda ma na celu wprowadzenie zmian w tabeli artykuły.

A. zmiana typu na float dla kolumny cena
B. zmiana nazwy kolumny cena na float
C. dodanie kolumny cena o typie float, o ile nie istnieje
D. usunięcie kolumny cena o typie float

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź była trafna, bo dotyczyła zmiany typu danych w kolumnie w tabeli. Kiedy piszesz 'ALTER TABLE artykuły MODIFY cena float;', to tak naprawdę modyfikujesz kolumnę 'cena', żeby mogła przyjmować liczby zmiennoprzecinkowe. Używanie typu float jest naprawdę przydatne, gdyż ceny często mają wartości z przecinkiem, więc nie ma sensu tego trzymać w innym formacie. Z mojego doświadczenia, takie zmiany są ważne, bo pomagają w dokładnym przechowywaniu danych, co jest kluczowe w przy aplikacjach związanych z finansami czy sprzedażą online. Ale pamiętaj, że warto zawsze mieć kopię zapasową, bo jeśli masz już jakieś dane, które się nie zmieszczą w nowym typie, to może być kłopot. Generalnie, używanie 'ALTER TABLE' to podstawowa rzecz w zarządzaniu bazami danych i dobrze wiedzieć, co się robi.

Pytanie 39

Jakie polecenie należy zastosować, aby wysłać dane przy pomocy funkcji mysqli_query() w skrypcie PHP, który dodaje informacje z formularza umieszczonego na stronie internetowej do bazy danych?

A. UPDATE
B. INSERT INTO
C. ALTER
D. SELECT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'INSERT INTO' jest poprawna, ponieważ jest to standardowa kwerenda SQL używana do wstawiania nowych rekordów do tabel w bazie danych. W kontekście PHP i funkcji mysqli_query(), wstawianie danych z formularza zazwyczaj obejmuje przygotowanie kwerendy, która zawiera instrukcję INSERT INTO wraz z nazwą tabeli oraz danymi, które mają zostać dodane. Na przykład, jeśli mamy formularz z polami 'imie' i 'nazwisko', kwerenda mogłaby wyglądać następująco: 'INSERT INTO uzytkownicy (imie, nazwisko) VALUES (?, ?)'. Użycie znaków zapytania (?) jest zgodne z najlepszymi praktykami, ponieważ pozwala na bezpieczne wprowadzenie danych, chroniąc aplikację przed atakami SQL Injection. Dobrą praktyką jest również używanie PDO lub MySQLi z przygotowanymi zapytaniami, co zwiększa bezpieczeństwo oraz efektywność kodu. W ten sposób można skutecznie wstawiać dane do bazy danych, zachowując przy tym standardy programistyczne.

Pytanie 40

Pole insert_id zdefiniowane w bibliotece MySQLi języka PHP może być wykorzystane do

A. uzyskania pierwszego dostępnego indeksu bazy, tak, aby można było pod nim wstawić nowe dane
B. otrzymania kodu błędu, gdy wstawienie wiersza się nie powiodło
C. pobrania najwyższego indeksu bazy, aby po jego zwiększeniu wstawić pod niego dane
D. uzyskania id ostatnio dodanego wiersza

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pole insert_id w bibliotece MySQLi języka PHP jest niezwykle przydatne w kontekście zarządzania danymi w bazach danych. Głównym celem tego pola jest umożliwienie programistom uzyskania identyfikatora (ID) ostatnio wstawionego wiersza do bazy danych. Ta funkcjonalność jest kluczowa, gdyż wiele aplikacji wymaga odniesienia do nowo dodanych rekordów, szczególnie w sytuacjach, gdy w tabelach stosowane są klucze główne typu AUTO_INCREMENT. Przykładowo, po dodaniu rekordu do tabeli użytkowników, programista może użyć funkcji mysqli_insert_id(), aby pobrać ID tego rekordu i wykorzystać je do dalszych operacji, takich jak dodawanie powiązanych danych w innej tabeli. Tego typu mechanizmy są zgodne z najlepszymi praktykami w zakresie zarządzania danymi, zapewniając spójność i bezpieczeństwo operacji na bazach danych. Warto także pamiętać, że poprawne zarządzanie ID pozwala uniknąć problemów z duplikacją i zapewnia, że aplikacja może dynamicznie dopasowywać swoje czynności do aktualnych danych.