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: 16 czerwca 2026 14:12
  • Data zakończenia: 16 czerwca 2026 14:15

Egzamin niezdany

Wynik: 8/40 punktów (20,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

Które imiona spełniają warunek

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
?
A. Gerald, Jarosław, Marek, Tamara
B. Rafał, Rebeka, Renata, Roksana
C. Krzysztof, Krystyna, Romuald
D. Arieta, Krzysztof, Krystyna, Tristan
Wzorzec '_r%' oznacza: jeden dowolny znak (_), potem litera „r”, potem dowolny ciąg (%) - czyli DRUGĄ literą imienia musi być „r”. Pasują np. Arieta, Krzysztof, Krystyna, Tristan. Dlatego to ten zestaw.

Pytanie 2

W relacyjnych bazach danych encja jest przedstawiana przez

A. rekord.
B. kwerendę.
C. relację.
D. tabelę.
W relacyjnych bazach danych encja jest reprezentowana przez tabelę, co jest zgodne z fundamentalnymi zasadami modelu relacyjnego, zaproponowanego przez Edgara F. Codda. Tabela składa się z wierszy (rekordów) oraz kolumn (atrybutów), gdzie każdy wiersz odpowiada jednej instancji encji, a kolumny definiują jej cechy. Na przykład, tabela "Klienci" może zawierać kolumny takie jak "ID", "Imię", "Nazwisko" i "Email", gdzie każdy wiersz reprezentuje konkretnego klienta. Zastosowanie tabel jako reprezentacji encji pozwala na łatwe tworzenie relacji między danymi, co jest kluczowe w relacyjnych bazach danych. Przykłady takie jak użycie kluczy obcych do łączenia tabel świadczą o praktycznej aplikacji tej zasady w projektowaniu baz danych, co sprzyja spójności i integralności danych. Dobre praktyki baz danych zalecają także normalizację tabel, co pomaga w eliminacji redundancji i poprawie efektywności danych, co czyni tę koncepcję nie tylko teoretyczną, ale również praktyczną w codziennej pracy z bazami danych.

Pytanie 3

W języku MySQL należy wykorzystać polecenie REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian wyłącznie w definicji struktury bazy danych. Polecenie, które służy do odebrania tych uprawnień, ma następującą formę

A. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
C. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych uprawnień użytkownikom. W przypadku użytkownika 'anna', aby odebrać mu prawa do modyfikacji struktury bazy danych, należy użyć polecenia REVOKE z odpowiednimi uprawnieniami. Wybór REVOKE CREATE ALTER DROP jest poprawny, ponieważ obejmuje kluczowe prawa związane z zarządzaniem strukturą tabeli. Uprawnienie CREATE pozwala na tworzenie nowych obiektów, ALTER umożliwia modyfikację istniejących obiektów, a DROP pozwala na ich usuwanie. Przydzielając te uprawnienia, użytkownik ma pełną kontrolę nad strukturą bazy danych. Odbierając te uprawnienia, ograniczamy możliwości użytkownika do modyfikacji struktury, co jest kluczowe w kontekście zarządzania bezpieczeństwem bazy danych i zapewnienia integralności danych. Przykładem zastosowania tego polecenia może być sytuacja, w której administrator bazy danych chce, aby użytkownik miał jedynie prawa do wprowadzania danych, ale nie do zmiany ich struktury. W takich przypadkach ważne jest, aby precyzyjnie definiować uprawnienia użytkowników, co może pomóc w unikaniu nieautoryzowanych zmian i potencjalnych utrat danych. Należy również odwołać się do standardów SQL, które definiują zarządzanie uprawnieniami w obiektach bazy danych, co jest kluczowym elementem każdego systemu zarządzania bazą danych.

Pytanie 4

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

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

Pytanie 5

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

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

Pytanie 6

Z tabeli mieszkańcy należy uzyskać unikalne nazwy miejscowości, do czego konieczne jest użycie wyrażenia SQL z klauzulą

A. CHECK
B. DISTINCT
C. UNIQUE
D. HAVING
Odpowiedź 'DISTINCT' jest poprawna, ponieważ w SQL służy do eliminowania powtórzeń w wynikach zapytań. Użycie klauzuli DISTINCT pozwala na zwrócenie jedynie unikalnych wartości z danej kolumny, co jest idealne w sytuacjach, gdy chcemy uzyskać listę miast, w których mieszkają osoby z tabeli 'mieszkańcy'. Na przykład, zapytanie 'SELECT DISTINCT miasto FROM mieszkańcy;' zwróci wszystkie różne miasta, w których zamieszkują mieszkańcy, eliminując duplikaty. W praktyce, klauzula DISTINCT jest często stosowana w raportach oraz analityce danych, gdzie istotne jest zrozumienie rozkładu unikalnych wartości. Warto również zauważyć, że DISTINCT może być używane w połączeniu z innymi klauzulami SQL, takimi jak WHERE, aby jeszcze bardziej zawęzić wyniki. Przykład użycia: 'SELECT DISTINCT miasto FROM mieszkańcy WHERE kraj = 'Polska';'. Dobrą praktyką jest stosowanie DISTINCT w sytuacjach, gdy zarządzamy dużymi zbiorami danych, aby zapewnić ich przejrzystość i uniknąć nadmiarowych informacji.

Pytanie 7

Podczas definiowania pola id w tabeli MySQL użyto AUTO_INCREMENT. Co to oznacza?

id int NOT NULL AUTO_INCREMENT
A. możliwe jest dodanie rekordu z dowolną wartością pola id
B. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
C. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy
D. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
Pole z definicją AUTO_INCREMENT w MySQL oznacza że podczas dodawania nowego rekordu do tabeli wartość tego pola jest automatycznie zwiększana najczęściej o jeden począwszy od wartości startowej. To zachowanie jest szczególnie przydatne w przypadku kluczy głównych gdzie unikalność jest wymagana. Jeśli mamy tabelę użytkowników i chcemy przypisać każdemu unikalny identyfikator możemy użyć AUTO_INCREMENT na kolumnie id. W ten sposób baza danych sama zadba o to by każda nowa wartość id była większa od poprzedniej co zapewnia automatyczne nadawanie kolejnych niepowtarzalnych wartości. Taka funkcjonalność jest zgodna z praktykami tworzenia baz danych i ułatwia zarządzanie danymi oraz ich integralność. Jest to również optymalizacja pod kątem wydajności ponieważ pozwala na szybkie dodawanie rekordów bez potrzeby ręcznego określania wartości klucza głównego. Dodatkowo zapewnia uporządkowane numerowanie rekordów co jest korzystne przy analizach i raportowaniu

Pytanie 8

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT

SELECT model FROM samochody WHERE rocznik=2016;
Jakie wartości zostaną zwrócone w wyniku tego zapytania?
Ilustracja do pytania
A. Fiat, Opel, Toyota
B. Czerwony, grafitowy
C. Punto, Corsa, Astra, Corolla, Yaris
D. Punto, Corsa, Corolla
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 9

Aby usunąć wszystkie rekordy z tabeli (zachowując samą tabelę), można użyć kwerendy:

A.
INSERT INTO
B.
TRUNCATE TABLE
C.
ALTER COLUMN
D.
CREATE COLUMN

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
<code><span class="code-keyword">TRUNCATE</span> <span class="code-keyword">TABLE</span></code> usuwa z tabeli wszystkie wiersze naraz, pozostawiając jej strukturę (kolumny, definicję) nienaruszoną. Działa szybciej niż <code><span class="code-keyword">DELETE</span></code> bez warunku, bo nie rejestruje pojedynczych usunięć i zwykle zeruje licznik <code><span class="code-variable">AUTO_INCREMENT</span></code>. Dlatego do wyczyszczenia całej zawartości tabeli służy <code><span class="code-keyword">TRUNCATE</span> <span class="code-keyword">TABLE</span></code>.

Pytanie 10

W przedstawionym kodzie PHP przeprowadzono operację na bazie danych. Jaką funkcję należy wywołać, aby uzyskać liczbę wierszy, które zostały zmienione w tabeli?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10"; mysqli_query($db, $zapytanie);
A. mysqli_affected_rows()
B. mysqli_field_count()
C. mysqli_use_result()
D. mysqli_num_rows()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysqli_affected_rows() jest używana w kontekście zapytań modyfikujących dane w bazie danych, takich jak INSERT, UPDATE, DELETE. Po wykonaniu zapytania, które zmienia dane, funkcja ta zwraca liczbę wierszy, które zostały zmodyfikowane w wyniku wykonania tego zapytania. W przypadku podanego zapytania, zmieniającego stanowisko w tabeli 'kadra' dla rekordów z identyfikatorem mniejszym niż 10, użycie mysqli_affected_rows() pozwoli na uzyskanie informacji o tym, ile wierszy zostało zaktualizowanych. Jest to niezwykle przydatne w sytuacjach, gdy programista chce mieć kontrolę nad tym, które operacje modyfikujące dane przyniosły zamierzony efekt. Przykładowo, jeśli po wykonaniu zapytania chcemy zaktualizować interfejs użytkownika lub wykonać dodatkowe operacje tylko wtedy, gdy zmiany zostały wprowadzone, użycie tej funkcji jest kluczowe. Dobrą praktyką jest również uwzględnienie obsługi błędów, aby upewnić się, że operacje na bazie danych są poprawnie wykonane, co można osiągnąć za pomocą funkcji mysqli_error() w przypadku błędów zapytań.

Pytanie 11

Aby utworzyć relację wiele do wielu między tabelami A i B, wystarczy, że

A. wiele wpisów z tabeli A powtórzy się w tabeli B
B. połączenie tabeli A z tabelą B nastąpi poprzez określenie kluczy obcych
C. zostanie zdefiniowana trzecia tabela z kluczami obcymi do tabel A i B
D. tabela A będzie miała identyczne pola jak tabela B

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź, że należy zdefiniować trzecią tabelę z kluczami obcymi do tabel A i B, jest poprawna, ponieważ relacja wiele do wielu wymaga pośrednictwa trzeciej tabeli, często nazywanej tabelą asocjacyjną lub łączącą. W praktyce oznacza to, że każdy rekord w tabeli A może być powiązany z wieloma rekordami w tabeli B i vice versa. Tabela asocjacyjna zawiera co najmniej dwa pola kluczy obcych: jedno wskazujące na odpowiedni rekord w tabeli A i drugie na odpowiadający mu rekord w tabeli B. Na przykład, w systemie zarządzania kursami, tabela 'Studenci' i tabela 'Kursy' mogą być połączone poprzez tabelę 'Rejestracje', która przechowuje identyfikatory studentów i kursów, umożliwiając przypisanie wielu studentów do wielu kursów. To podejście jest zgodne z zasadami normalizacji baz danych, które mają na celu minimalizację redundancji i zapewnienie spójności danych. Dobrą praktyką jest również zapewnienie, że klucze obce w tabeli asocjacyjnej są odpowiednio indeksowane, co poprawia wydajność zapytań oraz umożliwia łatwe zarządzanie relacjami.

Pytanie 12

W SQL polecenie ALTER TABLE służy do

A. usuwania tabeli z bazy danych
B. dodawania tabeli do bazy danych
C. zmiany danych w rekordach tabeli
D. zmiany kolumn w tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie ALTER TABLE w języku SQL jest kluczowym narzędziem do modyfikacji struktury tabeli w bazie danych. Umożliwia dodawanie, modyfikowanie oraz usuwanie kolumn, co jest niezbędne w przypadku zmieniających się wymagań biznesowych lub technicznych. Na przykład, jeśli firma decyduje się na dodanie nowego atrybutu do produktu, można to zrobić za pomocą ALTER TABLE, co zapewni elastyczność w zarządzaniu danymi. Przykładowe polecenie może wyglądać tak: ALTER TABLE produkty ADD COLUMN kolor VARCHAR(30); Warto podkreślić, że zmiany wprowadzone za pomocą ALTER TABLE są trwałe i mogą wpływać na już istniejące dane, dlatego przed ich zastosowaniem zaleca się wykonanie kopii zapasowej bazy danych. Praktyki związane z właściwym używaniem ALTER TABLE powinny obejmować także testowanie w środowisku developerskim przed wdrożeniem zmian w produkcji, aby uniknąć nieprzewidzianych problemów.

Pytanie 13

Jakim poleceniem SQL można zlikwidować z tabeli artykuly wiersze, które zawierają słowo "sto" w dowolnej lokalizacji pola tresc?

A. DELETE FROM artykuly WHERE tresc = "%sto%"
B. DELETE * FROM artykuly WHERE tresc LIKE "%sto%"
C. DELETE * FROM artykuly WHERE tresc = "%sto%"
D. DELETE FROM artykuly WHERE tresc LIKE "%sto%"

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "DELETE FROM artykuly WHERE tresc LIKE '%sto%';" jest okej, bo używasz operatora LIKE. To pozwala na szukanie wzorców w tekście. W SQL to polecenie usunie wszystkie wiersze z tabeli 'artykuly', które mają słowo 'sto' w polu 'tresc', niezależnie od tego, gdzie się ono znajduje. Te znaki procentu (%) przed i po 'sto' to takie wildcardy, które mogą oznaczać dowolny tekst przed lub po. To zgodne z dobrymi praktykami programowania w SQL, gdzie można używać LIKE, gdy nie mamy ściśle określonego formatu. Na przykład, takie zapytanie może się przydać, żeby usunąć artykuły z niepożądanym zwrotem, co ma znaczenie przy moderowaniu treści na stronach internetowych.

Pytanie 14

Na przedstawionej tabeli samochodów wykonano zapytanie SQL:

SELECT model FROM samochody
WHERE rocznik=2016;

Jakie wartości zostaną zwrócone w wyniku tego zapytania?
idmarkamodelrocznikkolorstan
1FiatPunto2016czerwonybardzo dobry
2FiatPunto2002czerwonydobry
3FiatPunto2007niebieskibardzo dobry
4OpelCorsa2016grafitowybardzo dobry
5OpelAstra2003niebieskiporysowany lakier
6ToyotaCorolla2016czerwonybardzo dobry
7ToyotaCorolla2014szarydobry
8ToyotaYaris2004granatowydobry
A. Fiat, Opel, Toyota
B. Punto, Corsa, Astra, Corolla, Yaris
C. Czerwony, grafitowy
D. Punto, Corsa, Corolla

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL SELECT model FROM samochody WHERE rocznik=2016; jest skonstruowane w sposób, który filtruje wyniki do wierszy, gdzie kolumna rocznik ma wartość 2016. Następnie zostaje wyświetlona tylko kolumna model z tych wierszy. W przedstawionej tabeli samochodów wiersze o roczniku 2016 mają modele Punto Corsa i Corolla. Dlatego odpowiedź zawiera te konkretne modele. To zapytanie ilustruje podstawową funkcję filtracji danych w SQL co jest kluczowe w zarządzaniu bazami danych. Użycie WHERE pozwala na selektywne pobieranie danych co jest niezbędne w analizie danych. W praktyce takie zapytania mogą być stosowane w systemach zarządzania zasobami np. w branży motoryzacyjnej do śledzenia modeli pojazdów według rocznika. Dobre praktyki obejmują używanie indeksów na kolumnach wykorzystywanych w klauzuli WHERE aby zoptymalizować wydajność zapytań. Indeksy pomagają w szybszym wyszukiwaniu i filtracji danych co jest szczególnie ważne w dużych bazach danych. Konsystencja oraz dokładność zapytań SQL są kluczowe dla efektywnego funkcjonowania systemów opartych na bazach danych.

Pytanie 15

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

A. reorganizacji bazy danych na podstawie zapisanych danych
B. przywrócenia bazy danych z kopii zapasowej
C. usunięcia bazy danych z głównego serwera subskrybenta
D. aktualizacji bazy danych z kontrolą więzów integralności

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Fajnie, że się zabrałeś za temat RESTORE DATABASE w MS SQL Server! To naprawdę ważne narzędzie, które pomaga w sytuacjach kryzysowych, tak jak wtedy, gdy coś pójdzie nie tak z bazą danych. Wiesz, jak to jest, czasem coś się popsuje albo niechcący usuniemy ważne dane. Dzięki temu poleceniu można szybko wrócić do wcześniejszego stanu. Istnieją różne sposoby przywracania, jak pełne, różnicowe czy punktowe, co daje dużą swobodę w pracy z danymi. Warto też pamiętać, że regularne robienie kopii zapasowych i testowanie, czy można je przywrócić, to bardzo mądra praktyka. Dzięki temu, w razie problemów, można szybko odzyskać dane. No i nie zapominaj o monitorowaniu kopii zapasowych, by mieć pewność, że wszystko działa jak należy. To naprawdę kluczowe dla bezpieczeństwa danych!

Pytanie 16

W SQL, aby dodać nowy wiersz do bazy danych, należy użyć polecenia

A. INSERT INTO
B. CREATE ROW
C. SELECT ROW
D. CREATE INTO

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie 'INSERT INTO' jest kluczowym elementem języka SQL, służącym do dodawania nowych wierszy danych do istniejącej tabeli w bazie danych. Użycie tego polecenia wymaga podania nazwy tabeli, do której chcemy wstawić dane, oraz listy wartości, które mają być dodane. Na przykład, polecenie 'INSERT INTO klienci (imie, nazwisko) VALUES ('Jan', 'Kowalski');' dodaje nowego klienta o imieniu Jan i nazwisku Kowalski do tabeli 'klienci'. Zgodnie z dobrymi praktykami, zawsze warto również uwzględnić obsługę błędów, aby upewnić się, że operacje na danych są bezpieczne i nie powodują naruszeń integralności bazy. Warto również pamiętać, że do jednego polecenia INSERT można dodać wiele wierszy równocześnie, na przykład: 'INSERT INTO klienci (imie, nazwisko) VALUES ('Ewa', 'Nowak'), ('Anna', 'Zielona');'. Użycie 'INSERT INTO' jest fundamentalne w pracy z bazami danych i stanowi podstawę dla bardziej zaawansowanych operacji, takich jak transakcje czy manipulacje danymi w relacyjnych bazach danych.

Pytanie 17

Do przechowywania jakich wartości przeznaczony jest typ DECIMAL?

A. danych tekstowych o określonej długości
B. liczb rzeczywistych stałoprzecinkowych
C. liczb rzeczywistych zmiennoprzecinkowych
D. liczb zapisanych w systemie binarnym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ <code><span class="code-variable">DECIMAL</span></code> przechowuje liczby rzeczywiste STAŁOPRZECINKOWE - z dokładną liczbą miejsc po przecinku, bez zaokrągleń typowych dla typów zmiennoprzecinkowych. Dlatego stosuje się go np. do kwot pieniężnych. Dlatego <code><span class="code-variable">DECIMAL</span></code> przechowuje liczby stałoprzecinkowe.

Pytanie 18

W języku PHP przeprowadzono operację przedstawioną w ramce. Jak można postąpić, aby wyświetlić wszystkie wyniki tego zapytania?

$tab = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");
A. użyć polecenia mysql_fetch
B. pokazać zmienną $db
C. zaindeksować zmienną tab, tab[0] to pierwsze imię
D. zastosować pętlę z poleceniem mysqli_fetch_row

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź dotyczy zastosowania pętli z poleceniem mysqli_fetch_row. W języku PHP przy pracy z bazą danych MySQL wykorzystujemy bibliotekę mysqli, która oferuje funkcje pozwalające na manipulację danymi. Funkcja mysqli_query wykonuje zapytanie SQL na połączeniu z bazą danych, zwracając wynik w postaci obiektu typu mysqli_result. Aby pobrać wszystkie wiersze wyników, konieczne jest zastosowanie pętli, która iteruje przez każdy wiersz zwracany przez zapytanie. Funkcja mysqli_fetch_row jest używana do pobrania kolejnego wiersza z wyniku jako tablicy numerycznej. Przykładowy kod mógłby wyglądać następująco while ($row = mysqli_fetch_row($tab)) { echo $row[0]; } co pozwala na wyświetlenie imion wszystkich osób poniżej 18 roku życia. Praktyczne podejście polega na iteracyjnej obsłudze wyników zapytań, co jest zgodne z branżowymi standardami. Takie rozwiązanie umożliwia dynamiczne przetwarzanie danych w czasie rzeczywistym zwiększając elastyczność aplikacji. Dodatkowo warto pamiętać o odpowiednim zarządzaniu zasobami, takim jak zamknięcie połączenia z bazą danych po zakończeniu operacji. To podejście podkreśla znaczenie efektywnego zarządzania danymi w aplikacjach webowych.

Pytanie 19

W poniższym kodzie PHP wykonano operację na bazie danych. Której funkcji należy użyć, aby pobrać liczbę zmienionych w tabeli wierszy?

$zapytanie="UPDATE kadra SET stanowisko='Programista' WHERE id < 10";
mysqli_query($db, $zapytanie);
A. mysqli_num_rows()
B. mysqli_field_count()
C. mysqli_affected_rows()
D. mysqli_use_result()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje! Wybrałeś poprawną odpowiedź, która jest funkcją mysqli_affected_rows(). Ta funkcja jest specyficzna dla języka PHP i jest używana do zwracania liczby wierszy, które zostały zmienione, dodane lub usunięte przez ostatnie wywołanie funkcji mysqli_query() na serwerze MySQL. W kontekście operacji takich jak INSERT, UPDATE, REPLACE lub DELETE, mysqli_affected_rows() jest nieocenionym narzędziem do śledzenia ilości wykonanych zmian w bazie danych. Dlatego właśnie w przypadku przedstawionego pytania, gdzie w kodzie PHP wykonano operację UPDATE na bazie danych, idealnym rozwiązaniem jest użycie funkcji mysqli_affected_rows() do pobrania liczby zmienionych wierszy. Jest to kluczowe zrozumienie, aby efektywnie manipulować danymi w bazach danych MySQL za pomocą języka PHP.

Pytanie 20

Rekord w bazie danych jest jednoznacznie identyfikowany przez pole:

A. numeryczne
B. klucza podstawowego
C. klucza obcego
D. relacji

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Rekord w bazie jednoznacznie identyfikuje pole klucza PODSTAWOWEGO (głównego) - jego wartości są unikalne i niepuste. Dlatego identyfikuje go klucz podstawowy.

Pytanie 21

Atrybut NOT NULL kolumny jest konieczny w przypadku:

A. wszystkich pól typu numerycznego
B. klucza podstawowego
C. definicji wszystkich pól tabeli
D. użycia atrybutu DEFAULT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klucz podstawowy (primary key) jednoznacznie identyfikuje każdy wiersz, dlatego nie może być pusty - stąd jego kolumny muszą mieć atrybut <code><span class="code-keyword">NOT</span> <span class="code-keyword">NULL</span></code> (w wielu systemach jest on dla klucza wymuszany automatycznie). Inne kolumny mogą dopuszczać brak wartości (NULL), zależnie od projektu. Dlatego <code><span class="code-keyword">NOT</span> <span class="code-keyword">NULL</span></code> jest konieczny w przypadku klucza podstawowego.

Pytanie 22

W tabeli produkt znajdują się artykuły wyprodukowane po roku 2000, posiadające pola nazwa oraz rok_produkcji. Jakie zapytanie SQL pokaże listę artykułów wyprodukowanych?

Ilustracja do pytania
A. po roku 2017
B. w latach innych niż 2017
C. przed rokiem 2017
D. w roku 2017

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Klauzula SQL wykorzystuje funkcję SUBSTR aby wyekstrahować dwie cyfry z roku produkcji zaczynając od trzeciej pozycji. To oznacza że bierze dwie cyfry odpowiadające końcówce roku. W ten sposób SELECT * FROM produkt WHERE SUBSTR(rok_produkcji3 2)=17; wyszukuje przedmioty których rok produkcji kończy się na 17 co wskazuje że zostały wyprodukowane w 2017 roku. Jest to efektywna metoda pod warunkiem że dane w kolumnie rok_produkcji są przechowywane jako ciągi znaków i spełniają wymagany format YYYY. Praktyczne zastosowanie tego podejścia jest szczególnie przydatne w bazach danych gdzie mogą występować różne formaty zapisu dat. Ważne jest aby zawsze upewnić się że dane są odpowiednio ujednolicone. Korzystanie z funkcji jak SUBSTR jest standardową praktyką w SQL umożliwiającą dynamiczne manipulowanie tekstem co czyni zapytania bardziej elastycznymi. Zrozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania bazami danych w kontekście filtrowania danych na podstawie ich struktur tekstowych.

Pytanie 23

Aby policzyć wszystkie wiersze w tabeli Koty, należy użyć zapytania:

A.
SELECT COUNT(ROWNUM) FROM Koty
B.
SELECT COUNT(*) FROM Koty
C.
SELECT ROWNUM() FROM Koty
D.
SELECT COUNT(Koty) AS ROWNUM

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Liczbę wszystkich wierszy tabeli zwraca funkcja agregująca <code><span class="code-function">COUNT</span><span class="code-text">(</span><span class="code-text">*</span><span class="code-text">)</span></code>, użyta w zapytaniu <code><span class="code-keyword">SELECT</span> <span class="code-function">COUNT</span><span class="code-text">(</span><span class="code-text">*</span><span class="code-text">)</span> <span class="code-keyword">FROM</span> <span class="code-variable">Koty</span></code>. Gwiazdka oznacza „policz wszystkie wiersze”, niezależnie od wartości w kolumnach (także te z NULL). Dlatego poprawne jest <code><span class="code-keyword">SELECT</span> <span class="code-function">COUNT</span><span class="code-text">(</span><span class="code-text">*</span><span class="code-text">)</span> <span class="code-keyword">FROM</span> <span class="code-variable">Koty</span></code>.

Pytanie 24

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

A. klucz podstawowy wskazujący na klucz podstawowy tabeli po stronie jeden
B. klucz obcy wskazujący na klucz obcy tabeli po stronie jeden
C. klucz sztuczny odnoszący się do kluczy podstawowych obu tabel
D. klucz obcy wskazujący na klucz podstawowy tabeli po stronie jeden

Brak odpowiedzi na to pytanie.

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

Pytanie 25

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

A. mysqlduplicate –u root biblioteka > kopia.sql
B. copymysql –u root biblioteka kopia.sql
C. mysqldump -u root biblioteka > kopia.sql
D. backupmysql -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 26

Posiadając tabelę zawierającą zwierzeta z kolumnami nazwa, gatunek, gromada, cechy, dlugosc_zycia, aby uzyskać listę nazw zwierząt, które żyją co najmniej 20 lat oraz należą do ssaków, należy wykonać zapytanie:

A. SELECT nazwa FROM zwierzeta WHERE gromada = 'ssak';
B. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 AND gromada = 'ssak';
C. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20;
D. SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >= 20 OR gromada = 'ssak';

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SELECT nazwa FROM zwierzeta WHERE dlugosc_zycia >=20 AND gromada = 'ssak'; jest prawidłowe, ponieważ łączy dwa kluczowe warunki, które muszą być spełnione, aby uzyskać pożądane wyniki. W tym przypadku chcemy wyświetlić nazwy zwierząt, które żyją co najmniej 20 lat oraz należą do gromady ssaków. Operator AND w SQL jest stosowany do łączenia warunków, co oznacza, że tylko te rekordy, które spełniają oba warunki, zostaną zwrócone. Przykładem zastosowania takiego zapytania może być analiza danych w zoologii lub biologii, gdzie istotne jest zrozumienie, które gatunki mają długowieczność i są ssakami. Takie zapytanie można również wykorzystać w praktyce, na przykład w aplikacjach ewidencjonujących zwierzęta w ogrodach zoologicznych czy rezerwatach, pomagając w podejmowaniu decyzji o ich ochronie lub hodowli. Zastosowanie dobrych praktyk w SQL polega na precyzyjnym definiowaniu kryteriów, co pozwala na efektywne przetwarzanie i analizowanie danych.

Pytanie 27

Tabela naprawy ma kolumny klient i czyNaprawione. Jak usunąć rekordy, w których czyNaprawione jest prawdą?

A.
DELETE FROM naprawy;
B.
DELETE klient FROM naprawy WHERE czyNaprawione = TRUE;
C.
DELETE naprawy WHERE czyNaprawione = TRUE;
D.
DELETE FROM naprawy WHERE czyNaprawione = TRUE;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Usuwanie wierszy spełniających warunek ma składnię <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-text">&lt;</span><span class="code-variable">tabela</span><span class="code-text">&gt;</span> <span class="code-keyword">WHERE</span> <span class="code-text">&lt;</span><span class="code-variable">warunek</span><span class="code-text">&gt;</span></code>. Zapis <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-variable">naprawy</span> <span class="code-keyword">WHERE</span> <span class="code-variable">czyNaprawione</span> <span class="code-text">=</span> <span class="code-variable">TRUE</span><span class="code-text">;</span></code> skasuje tylko rekordy z prawdziwą wartością pola. Dlatego poprawne jest <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-variable">naprawy</span> <span class="code-keyword">WHERE</span> <span class="code-variable">czyNaprawione</span> <span class="code-text">=</span> <span class="code-variable">TRUE</span><span class="code-text">;</span></code>.

Pytanie 28

Jaką relację w projekcie bazy danych należy zdefiniować pomiędzy tabelami przedstawionymi na rysunku, zakładając, że każdy klient sklepu internetowego składa przynajmniej dwa zamówienia?

Ilustracja do pytania
A. 1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta
B. 1:1
C. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
D. n:n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Relacja 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia, jest prawidłowa, ponieważ odzwierciedla rzeczywiste założenie, że każdy klient może złożyć wiele zamówień. W praktyce baza danych musi odwzorowywać te zależności, co pozwala na efektywne zarządzanie danymi. Każdy klient posiada unikalny identyfikator, zwykle klucz podstawowy, który nie może się powtarzać w tabeli Klient. Tabela Zamówienie posiada natomiast klucz obcy, który odnosi się do klucza podstawowego w tabeli Klient, umożliwiając przechowywanie wielu zamówień przypisanych do jednego klienta. Dzięki temu możemy łatwo wykonywać operacje takie jak wyszukiwanie wszystkich zamówień danego klienta czy śledzenie historii zakupów. Dobre praktyki projektowania baz danych podkreślają znaczenie poprawnego zdefiniowania relacji między tabelami, co zwiększa spójność danych i ułatwia ich późniejsze przetwarzanie. W systemach e-commerce taka struktura bazy danych jest niezbędna do obsługi klientów i śledzenia ich zamówień, co jest podstawą do analizy sprzedaży i tworzenia strategii marketingowych.

Pytanie 29

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

A. jest stosowany jedynie w przypadku kolumn liczbowych
B. uniemożliwia wprowadzenie wartości NULL
C. wymusza niepowtarzalne nazwy kolumn tabeli
D. jest używany, jeżeli wartości w danej kolumnie nie mogą się powtarzać

Brak odpowiedzi na to pytanie.

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

Związek między tabelami, osiągany przez bezpośrednie połączenie kluczy głównych obu tabel, nazywamy relacją

A. 1..1
B. 1..n
C. n..1
D. n..m

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 1..1 to trafny wybór. Mamy tam relację między tabelami, gdzie każda z par rekordów ma swoje odpowiedniki – czyli jeden rekord w tabeli A ma dokładnie jeden odpowiednik w tabeli B. Taka sytuacja jest dość konkretna i w praktyce sprawdza się w wielu systemach zarządzania danymi. Na przykład, jeśli mamy jakąś instytucję, to fajnie, żeby miała jednego reprezentanta, prawda? No i właśnie relacja 1..1 się w tym sprawdza. Choć muszę przyznać, że nie jest ona zbyt popularna, bo częściej korzysta się z innych typów relacji, to jednak w sytuacjach, gdzie chcemy mieć jasne połączenia, jest niezastąpiona. Weźmy na przykład użytkowników i ich profile – każdy użytkownik ma jeden profil, a ten profil tylko jednego użytkownika. Takie rozwiązanie ogranicza powielanie danych, co jest dużym plusem.

Pytanie 31

Narzędzie phpMyAdmin służy do administrowania serwerem:

A. baz danych
B. WWW
C. plików
D. FTP

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
phpMyAdmin to napisane w PHP narzędzie webowe do administrowania serwerem BAZ DANYCH MySQL/MariaDB - obsługujesz je przez przeglądarkę. Pozwala bez znajomości poleceń konsolowych tworzyć i usuwać bazy oraz tabele, przeglądać i edytować rekordy, uruchamiać zapytania SQL, importować i eksportować dane czy zarządzać użytkownikami. Dlatego znajdziesz je w panelu niemal każdego hostingu. Zapamiętaj: phpMyAdmin = graficzna administracja bazą danych.

Pytanie 32

Przykład zapytania SQL przedstawia instrukcję:

UPDATE katalog SET katalog.cena = [cena]*1.1;
A. dołączającej
B. krzyżowej
C. usuwającej
D. aktualizującej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja SQL przedstawiona w pytaniu używa słowa kluczowego UPDATE co jest charakterystyczne dla kwerend aktualizujących. Komenda ta modyfikuje istniejące dane w tabeli poprawiając je zgodnie z podanymi kryteriami. W tym przykładzie wszystkie wartości w kolumnie cena tabeli katalog są zwiększane o 10 procent co jest typowym zastosowaniem instrukcji aktualizującej. W praktyce takie zmiany są niezbędne w przypadku modyfikacji cen produktów lub aktualizacji informacji biznesowych. Stosowanie kwerend aktualizujących wymaga zachowania szczególnej ostrożności aby nie naruszyć integralności danych. Dobre praktyki obejmują przygotowanie backupu danych przed wykonaniem operacji oraz przetestowanie kwerendy na mniejszym zbiorze danych w celu uniknięcia błędów. Aktualizacja danych to jedna z najczęstszych operacji w systemach bazodanowych dlatego zrozumienie mechanizmu działania kwerend SQL tego typu jest kluczowe dla efektywnego zarządzania danymi w każdej organizacji. SQL jako język deklaratywny umożliwia łatwe definiowanie co chcemy osiągnąć bez konieczności szczegółowego opisywania jak to zrobić co ułatwia pracę z dużymi i złożonymi zbiorami danych.

Pytanie 33

Tabele Osoby oraz Zainteresowania są połączone relacją jeden do wielu. Jakie zapytanie SQL należy użyć, aby w oparciu o tę relację poprawnie wyświetlić imiona i odpowiadające im hobby?

Ilustracja do pytania
A. SELECT imie, hobby FROM Osoby, Zainteresowania WHERE Osoby.id = Zainteresowania.id;
B. SELECT imie, hobby FROM Osoby JOIN Zainteresowania ON Osoby.Zainteresowania_id = Zainteresowania.id;
C. SELECT imie, hobby FROM Osoby, Zainteresowania;
D. SELECT imie, hobby FROM Osoby.Zainteresowania_id = Zainteresowania.id FROM Osoby, Zainteresowania;

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź numer 1 jest poprawna, ponieważ wykorzystuje składnię JOIN, która jest standardowym sposobem łączenia dwóch tabel w SQL. W tym przypadku tabele Osoby i Zainteresowania są połączone za pomocą klucza obcego Osoby.Zainteresowania_id, który odwołuje się do klucza głównego w tabeli Zainteresowania. Dzięki użyciu klauzuli ON możemy precyzyjnie określić warunek łączenia tych tabel. Takie podejście jest zgodne z dobrymi praktykami projektowania baz danych, ponieważ pozwala na efektywne zarządzanie relacjami między danymi. Stosowanie JOIN umożliwia również ograniczenie wyniku do konkretnych wierszy, co zwiększa wydajność zapytań. Praktyczne zastosowanie tego rodzaju zapytań obejmuje różne systemy zarządzania danymi, gdzie konieczne jest pobieranie powiązanych informacji z wielu źródeł danych. Warto również pamiętać, że JOIN-y są ustandaryzowanym elementem języka SQL, co gwarantuje ich poprawne działanie w różnych systemach bazodanowych, takich jak MySQL, PostgreSQL czy Oracle SQL. W kontekście relacyjnych baz danych stanowią one fundament w optymalizacji i organizacji danych, co jest kluczowe dla profesjonalistów z branży IT.

Pytanie 34

Po wydaniu polecenia użytkownik Jacek będzie mógł

GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';
A. przeglądać dane w tabeli i wstawiać nowe dane.
B. zmieniać strukturę tabeli i wstawiać nowe dane.
C. usuwać dane z tabeli i przeglądać dane.
D. usuwać tabelę i tworzyć nową.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest poprawna. Użytkownik Jacek po wydaniu polecenia SQL 'GRANT SELECT, INSERT ON baza1.mojaTabela TO 'Jacek'@'localhost';' zyskuje możliwość przeglądania (SELECT) oraz wstawiania (INSERT) danych do tabeli 'mojaTabela' znajdującej się w bazie danych 'baza1'. Jest to zgodne ze standardami SQL i dobrymi praktykami zarządzania uprawnieniami w systemach baz danych. Uprawnienie SELECT pozwala na odczyt danych z tabeli, co jest niezbędne do analizy danych, a uprawnienie INSERT umożliwia dodawanie nowych rekordów do tabeli, co jest kluczowe dla utrzymywania aktualności danych. Pamiętaj, że kontrola dostępu do danych jest kluczowym elementem zarządzania bazami danych, zarówno pod względem bezpieczeństwa, jak i zgodności z regulacjami prawnymi.

Pytanie 35

Dana jest tabela uczniowie, do której wpisano rekordy jak na rysunku. Co będzie wynikiem działania przedstawionego zapytania SQL?

SELECT AVG(ocena) FROM uczniowie;

NazwiskoImieocena
KowalskiSebastian4
KaczmarekMarta3
BaryłaZenon4
GotaAnna3
A. Suma ocen równa 14
B. Liczba wierszy równa 4
C. Wartość 3.5
D. Dane 4, 3, 4, 3

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Tak, poprawna odpowiedź to 'Wartość 3.5'. W zapytaniu SQL 'SELECT AVG(ocena) FROM uczniowie;' używamy funkcji AVG, żeby obliczyć średnią. W tym przypadku ona bierze oceny z tabeli 'uczniowie' i liczy, ile wynosi średnia. Jak to działa? Suma wszystkich ocen to 14 (3 + 4 + 3 + 4), a mamy cztery oceny, więc dzielimy 14 przez 4 i wychodzi nam 3.5. To jest super przykład, jak można wykorzystać funkcję AVG w SQL, co jest naprawdę przydatne, szczególnie, gdy mamy dużą ilość danych do przeanalizowania. Dobrze jest znać takie funkcje agregujące jak AVG, SUM, MAX czy MIN, bo ułatwiają one analizę danych.

Pytanie 36

Aby przywrócić bazę danych MS SQL z kopii zapasowej, należy zastosować polecenie:

A.
RESTORE DATABASE
B.
REBACKUP DATABASE
C.
SAVE DATABASE
D.
DBCC CHECKDB

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W MS SQL Server bazę odtwarza się z kopii poleceniem <code><span class="code-variable">RESTORE</span> <span class="code-keyword">DATABASE</span></code>, podając nazwę bazy i plik kopii, np. <code><span class="code-variable">RESTORE</span> <span class="code-keyword">DATABASE</span> <span class="code-variable">sklep</span> <span class="code-keyword">FROM</span> <span class="code-variable">DISK</span> <span class="code-text">=</span> <span class="code-string">'c:\sklep.bak'</span></code>. Jest ono odwrotnością <code><span class="code-variable">BACKUP</span> <span class="code-keyword">DATABASE</span></code>, które tworzy kopię. Używa się go po awarii lub przy przenoszeniu bazy. Dlatego do przywrócenia bazy z kopii służy <code><span class="code-variable">RESTORE</span> <span class="code-keyword">DATABASE</span></code>.

Pytanie 37

Funkcja napisana w PHP ma na celu

Ilustracja do pytania
A. ustawienie hasła do bazy danych
B. nawiązanie połączenia z bazą danych
C. zabezpieczenie bazy danych
D. pobranie informacji z bazy danych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja mysql_query z języka PHP jest używana do wykonywania zapytań SQL w bazie danych MySQL. W przedstawionym przykładzie zapytanie SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. Jest to klasyczne zapytanie używane do uzyskania danych z bazy danych co czyni je podstawowym narzędziem programisty PHP operującego na bazach danych. Zwrócone dane mogą następnie być przetwarzane wyświetlane lub używane w dalszych operacjach aplikacji. Ważnym aspektem pracy z bazami danych jest ochrona przed atakami SQL Injection co można osiągnąć poprzez stosowanie przygotowanych wyrażeń lub funkcji takich jak mysqli_prepare. Warto też pamiętać że funkcja mysql_query jest przestarzała i niezalecana w nowych projektach a zamiast niej powinno się używać mysqli lub PDO. Obie te biblioteki oferują większe bezpieczeństwo i lepszą obsługę błędów co jest zgodne z aktualnymi standardami w branży. Praca z danymi wymaga nie tylko ich pobierania ale także odpowiedniego zarządzania czym zajmują się bardziej złożone mechanizmy jak ORM-y co upraszcza pracę z bazami danych i zwiększa czytelność kodu.

Pytanie 38

Aby utworzyć tabelę w języku SQL, należy użyć polecenia

A. ADD TABLE
B. CREATE TABLE
C. ALTER TABLE
D. INSERT TABLE

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'CREATE TABLE' jest poprawna, ponieważ w języku SQL to polecenie jest używane do tworzenia nowych tabel w bazie danych. Umożliwia definiowanie struktury tabeli, w tym nazw kolumn, typów danych oraz ograniczeń, takich jak klucze główne czy unikalność. Przykładowe użycie polecenia 'CREATE TABLE' może wyglądać następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50));'. W tym przykładzie tworzymy tabelę 'pracownicy' z trzema kolumnami: 'id', 'imie' oraz 'nazwisko'. Warto zaznaczyć, że zgodnie z najlepszymi praktykami, przed wykonaniem polecenia warto sprawdzić, czy tabela o danej nazwie już istnieje, aby uniknąć błędów związanych z podwójnym tworzeniem. Zapewnienie odpowiedniej struktury bazy danych już na etapie jej tworzenia przekłada się na lepszą wydajność oraz łatwiejsze zarządzanie danymi w przyszłości.

Pytanie 39

Została stworzona baza danych z tabelą podzespoły, która zawiera pola: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowanych od najniższej do najwyższej ceny, należałoby użyć kwerendy:

A. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena ASC
B. SELECT model FROM podzespoły WHERE typ='RAM' AND producent='Kingston' ORDER BY cena DESC
C. SELECT model FROM producent WHERE typ='RAM' OR producent='Kingston' ORDER BY podzespoły ASC
D. SELECT model FROM podzespoły WHERE typ='RAM' OR producent='Kingston' ORDER BY cena DESC

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wybrana kwerenda jest poprawna, ponieważ dokładnie spełnia wymagania zadania. Użycie klauzuli SELECT do wyboru pola 'model' z tabeli 'podzespoły' pozwala na uzyskanie właściwych informacji. Warunek WHERE ogranicza wyniki do tych, które dotyczą pamięci RAM (typ='RAM') oraz producenta Kingston (producent='Kingston'). Kluczowym elementem tej kwerendy jest zastosowanie ORDER BY cena ASC, które sortuje wyniki według ceny w porządku rosnącym, co jest zgodne z wymaganiem wyświetlenia modeli od najtańszej do najdroższej. Przykłady zastosowania takiej kwerendy mogą obejmować systemy zarządzania zapasami, gdzie klienci poszukują najlepszych ofert, czy aplikacje e-commerce, które chcą dostarczyć użytkownikom najbardziej korzystne opcje zakupowe. Stosowanie jasnych i precyzyjnych kwerend SQL, według dobrych praktyk branżowych, jest kluczowe dla wydajności i przejrzystości danych.

Pytanie 40

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Tylko Anna.
B. Monika, Ewelina, Maria.
C. Anna, Maria, Ewa.
D. Tylko Maria.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, udzielona odpowiedź jest prawidłowa! Wykonana kwerenda SQL 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy albo mają nazwisko 'Kowal', albo zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli pracowników, taka kwerenda zwróci nam poprawną odpowiedź 'Anna, Maria, Ewa'. To dlatego, że Anna pracuje na stanowisku 3, co jest większe niż 2, Maria ma nazwisko 'Kowal', a Ewa pracuje na stanowisku 4, które jest również większe niż 2. SQL jako język zapytań pozwala na efektywne zarządzanie danymi, niezależnie od skomplikowania zapytania. W praktyce, gdy mamy do czynienia z dużym zbiorem danych, takie zapytania pomagają w szybkim filtrowaniu i dostępie do potrzebnych informacji. Dobrym standardem jest wymyślanie i testowanie zapytań SQL w celu zrozumienia, jakie dane zostaną zwrócone, zanim zapytanie zostanie użyte w prawdziwej aplikacji lub systemie.