Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 9 grudnia 2025 12:44
  • Data zakończenia: 9 grudnia 2025 13:10

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

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

W języku SQL instrukcja INSERT INTO

A. tworzy nową tabelę
B. zmienia rekordy na zadaną wartość
C. dodaje kolumny do istniejącej tabeli
D. wprowadza dane do tabeli
Polecenie INSERT INTO w języku SQL jest używane do dodawania nowych danych do tabeli w bazie danych. Jego podstawowa składnia to: INSERT INTO nazwa_tabeli (kolumna1, kolumna2, ...) VALUES (wartość1, wartość2, ...). Dzięki temu poleceniu użytkownicy mogą wprowadzać nowe rekordy, co jest kluczowe w zarządzaniu danymi w relacyjnych bazach danych. Przykładowo, jeżeli mamy tabelę 'użytkownicy' z kolumnami 'imie', 'nazwisko' i 'wiek', możemy dodać nowego użytkownika za pomocą: INSERT INTO użytkownicy (imie, nazwisko, wiek) VALUES ('Jan', 'Kowalski', 30). Warto zauważyć, że polecenie to może być używane w kontekście transakcji, co pozwala na zachowanie integralności danych. Standard SQL, na którym opiera się wiele systemów zarządzania bazami danych, definiuje to polecenie jako fundamentalne w operacjach DML (Data Manipulation Language), co czyni je niezbędnym w każdej aplikacji, która wymaga wprowadzania danych do bazy.

Pytanie 2

Która z funkcji agregujących dostępnych w SQL służy do obliczania średniej z wartości znajdujących się w określonej kolumnie?

A. MIN
B. COUNT
C. SUM
D. AVG
Funkcja AVG w języku SQL jest wbudowaną funkcją agregującą, która służy do obliczania średniej wartości we wskazanej kolumnie. Oblicza ona średnią arytmetyczną z wartości liczbowych w danej kolumnie, co jest niezwykle przydatne w analizie danych. Na przykład, jeśli mamy tabelę z wynikami sprzedaży, możemy użyć zapytania SQL: SELECT AVG(sprzedaż) FROM tabela_sprzedaży; aby uzyskać średnią sprzedaż. Dobrą praktyką jest stosowanie tej funkcji w połączeniu z klauzulą GROUP BY, co pozwala na obliczenie średnich wartości w różnych grupach danych, na przykład średnia sprzedaż według kategorii produktowej. Przy stosowaniu funkcji AVG warto pamiętać, że ignoruje ona wartości NULL, co wpływa na wynik obliczeń. W kontekście analizy danych w SQL, znajomość takich funkcji jak AVG jest kluczowa dla efektywnego przetwarzania i analizy informacji, co stanowi fundament dobrego zarządzania danymi.

Pytanie 3

Jakiego języka można użyć do nawiązania połączenia z bazą MySQL w trakcie tworzenia aplikacji internetowej?

A. XHTML
B. HTML
C. PHP
D. CSS
PHP to naprawdę fajny język skryptowy, który świetnie sprawdza się w tworzeniu dynamicznych aplikacji internetowych. Jest super efektywny, kiedy trzeba połączyć się z bazami danych, takimi jak MySQL. Jako język serwerowy, daje programistom narzędzia do robienia różnych rzeczy z danymi, jak dodawanie, edytowanie czy usuwanie rekordów w bazie. Na przykład, gdy tworzysz aplikację do zarządzania użytkownikami, możesz użyć PHP do obsługi formularza rejestracyjnego, który zbiera dane od użytkowników i następnie łączy się z MySQL, by je zapisać. Do łączenia z bazą danych używa się funkcji, jak mysqli_connect() lub PDO (PHP Data Objects), co pozwala na bezpieczne i sprawne zarządzanie połączeniami oraz zapytaniami SQL. Co ważne, PHP zachęca do dobrych praktyk, jak stosowanie przygotowanych zapytań, co mocno zwiększa bezpieczeństwo aplikacji, chroniąc przed różnymi atakami, jak SQL injection.

Pytanie 4

Jakie jest oznaczenie typu stało-znakowego w SQL?

A. bool
B. text
C. char
D. time
Typ stało-znakowy char w języku SQL jest używany do przechowywania łańcuchów znaków o stałej długości. Oznacza to, że każdy zapisany ciąg będzie miał dokładnie taką samą liczbę znaków, co jest definiowane podczas tworzenia tabeli. Najczęściej stosowana długość to 1 do 8000 znaków, chociaż w niektórych bazach danych ta ilość może być różna. Typ char jest szczególnie przydatny, gdy z góry wiadomo, że wszystkie wartości w danej kolumnie będą miały tę samą długość, co pozwala na efektywniejsze przechowywanie danych i optymalizację wydajności. Na przykład, jeśli tworzymy tabelę użytkowników, w której każdy użytkownik ma przypisany identyfikator w postaci stałej długości, można użyć char(10) do przechowywania tych identyfikatorów. Ważne jest również, aby zwrócić uwagę na różnice między typem char a typem varchar, który przechowuje zmienną długość łańcuchów, co może prowadzić do większego zużycia pamięci w przypadkach, gdy długość przechowywanych danych jest różna. Typ char jest zgodny z wieloma standardami SQL, co czyni go powszechnie stosowanym rozwiązaniem w relacyjnych bazach danych.

Pytanie 5

Instrukcja w języku SQL GRANT ALL PRIVILEGES ON klienci TO pracownik

A. przeniesie uprawnienia z grupy klienci do użytkownika pracownik
B. cofa wszystkie uprawnienia pracownikowi do tabeli klienci
C. przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
D. przyznaje uprawnienie grupie klienci dla tabeli pracownik
Polecenie SQL "GRANT ALL PRIVILEGES ON klienci TO pracownik" jest używane do nadawania pełnych uprawnień do określonej tabeli, w tym przypadku do tabeli "klienci", użytkownikowi o nazwie "pracownik". To polecenie jest kluczowe w zarządzaniu dostępem w bazach danych, ponieważ pozwala administratorom na precyzyjne kontrolowanie, kto i w jakim zakresie może modyfikować dane. W praktyce, nadawanie uprawnień za pomocą komendy GRANT jest standardową praktyką w zarządzaniu bazami danych, pozwalającą na delegowanie odpowiedzialności oraz przydzielanie ról, co zwiększa bezpieczeństwo danych. Warto również zauważyć, że standardową praktyką jest ograniczanie uprawnień do niezbędnego minimum, stosując zasady najmniejszych uprawnień (principle of least privilege). Przykładowo, zamiast nadawania pełnych uprawnień, można przyznać użytkownikowi jedynie prawo do odczytu, co ogranicza ryzyko nieautoryzowanych zmian w danych.

Pytanie 6

Kolumna, która pełni funkcję klucza głównego w tabeli, powinna

A. zawierać unikalne wartości
B. posiadać ciągłą numerację
C. zawierać wartości liczbowe
D. być innego rodzaju niż inne kolumny
Klucz główny w tabeli bazy danych to naprawdę ważny element. To taki unikalny identyfikator, który pozwala na jednoznaczne rozróżnianie rekordów. Dzięki temu unikamy dublowania danych, co jest istotne, żeby wszystko było jasne i klarowne, bo jak byśmy mieli dwa takie same rekordy, to mogłoby być sporo zamieszania. Na przykład w tabeli 'Klienci' klucz główny to np. numery PESEL czy jakieś unikalne identyfikatory klientów. W praktyce stosuje się też różne standardy, jak SQL, które pomagają ustawić te klucze jako ograniczenia. To sprawia, że nasze dane są bezpieczniejsze i bardziej poprawne. No i tak z doświadczenia, najlepiej jest, jak klucz główny jest prosty, może jako liczba całkowita, bo wtedy wszystko działa szybciej. Podsumowując, unikalność klucza głównego to podstawa, żeby mieć pewność, że nasze dane są spójne i wiarygodne. To kluczowe w każdym systemie bazodanowym.

Pytanie 7

Jakie imiona spełniają warunki klauzuli LIKE w podanym zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Rafał, Rebeka, Renata, Roksana
B. Arleta, Krzysztof, Krystyna, Tristan
C. Krzysztof, Krystyna, Romuald
D. Gerald, Jarosław, Marek, Tamara
No, więc ta odpowiedź jest totalnie na miejscu, bo klauzula LIKE w SQL służy do szukania ciągów, które pasują do jakiegoś wzoru. W tym przypadku wzór '_r%' mówi nam, że przed literą 'r' musi być dokładnie jeden dowolny znak, a po 'r' może być cokolwiek. Jak spojrzymy na imiona, które wybrałeś, 'Arleta' i 'Krzysztof' mają 'r' na drugiej pozycji, a 'Krystyna' i 'Tristan' na trzeciej. Czyli wszystko się zgadza. W ogóle, klauzula LIKE jest super przydatna w wyszukiwaniu danych, na przykład w aplikacjach, gdy chcemy znaleźć kogoś po imieniu czy nazwisku. A ten symbol '%' to genialny sposób na dopasowywanie, bo pozwala na różne kombinacje. Fajna sprawa, nie?

Pytanie 8

Co chce osiągnąć poniższe zapytanie MySQL?

ALTER TABLE ksiazki
MODIFY tytul VARCHAR(100) NOT NULL;
A. Usunąć kolumnę tytul z tabeli ksiazki
B. Zmienić nazwę kolumny w tabeli ksiazki
C. Zmienić typ kolumny w tabeli ksiazki
D. Dodać do tabeli ksiazki kolumnę tytul
Polecenie SQL ALTER TABLE ksiazki MODIFY tytul VARCHAR(100) NOT NULL; służy do zmiany typu kolumny tytul w tabeli ksiazki. W tym przypadku typ kolumny jest zmieniany na VARCHAR(100), co oznacza, że będzie przechowywać łańcuchy znaków o maksymalnej długości 100 znaków, a dodatkowo kolumna ta nie może przyjmować wartości NULL. Użycie ALTER TABLE i MODIFY pozwala na dynamiczną modyfikację struktury tabeli bez konieczności jej usuwania i ponownego tworzenia, co jest korzystne w dużych systemach bazodanowych, gdzie minimalizacja czasu przestoju jest kluczowa. Praktyczne zastosowanie polecenia MODIFY jest szerokie i obejmuje sytuacje, w których wymagane są zmiany w przechowalności danych, na przykład aby dostosować się do nowych wymagań biznesowych lub normatywnych. Warto pamiętać o dopasowaniu zmian do istniejących danych i zapewnieniu spójności bazy danych, co jest dobrą praktyką w zarządzaniu bazami danych.

Pytanie 9

Baza danych zawiera tabelę uczniowie z kolumnami: imie, nazwisko, klasa. Jakie polecenie SQL powinno być użyte, aby wyświetlić imiona i nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%"
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%"
C. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%"
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%"
Wybór opcji SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%" jest poprawny, ponieważ używa klauzuli WHERE do filtrowania rekordów na podstawie warunków. Operator LIKE pozwala na wyszukiwanie wzorców w danych tekstowych, a symbol % jest używany jako wildcard, co oznacza, że zastępuje dowolny ciąg znaków. Dzięki temu zapytanie zwraca wszystkich uczniów, których nazwiska zaczynają się na literę M. Takie podejście jest zgodne z najlepszymi praktykami w SQL, gdzie klauzula WHERE jest fundamentalnym elementem selekcji danych. W praktyce, gdy chcemy wyszukiwać dane w bazach danych, użycie LIKE w połączeniu z symbolami wieloznacznymi (takimi jak %) jest powszechną techniką, stosowaną w aplikacjach webowych i systemach zarządzania danymi. Przykładowo, w systemie szkolnym, takie zapytanie może być używane do generowania listy uczniów w celu wysyłania powiadomień lub gromadzenia informacji o postępach w nauce.

Pytanie 10

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

A. usunięcie kolumny cena o typie float
B. zmiana typu na float dla kolumny cena
C. zmiana nazwy kolumny cena na float
D. dodanie kolumny cena o typie float, o ile nie istnieje
Odpowiedzi, które mówią o usunięciu kolumny albo zmianie jej nazwy, pokazują, że coś nie do końca zrozumiałeś polecenie ALTER TABLE. Jak chcesz usunąć kolumnę, to robisz to przez 'DROP COLUMN', a nie poprzez modyfikację, jak w tym przypadku. Jeśli chodzi o zmianę nazwy kolumny, to używa się polecenia 'RENAME', a nie 'MODIFY'. Takie mylne interpretacje mogą prowadzić do nieporozumień, szczególnie w zarządzaniu tabelami w bazach danych. Ważne, żeby wiedzieć, że 'ALTER TABLE artykuły MODIFY cena float;' modyfikuje istniejącą kolumnę, a nie dodaje nową. Odpowiedzi sugerujące dodawanie kolumny są w tej sytuacji po prostu błędne. W praktyce, dobrze jest znać różnice między dodawaniem, usuwaniem i modyfikowaniem, bo to fundamentalne dla zrozumienia SQL i zarządzania danymi.

Pytanie 11

W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić

SELECT COUNT(wartosc) FROM ...
A. średniej wartości tabeli
B. liczby rekordów
C. suma w kolumnie wartosc
D. średniej w kolumnie wartosc
W przypadku języka SQL, funkcja SELECT służy do wybierania danych z bazy i często jest mylona ze sposobem podsumowywania danych. Odpowiedzi wskazujące na obliczanie średniej w tabeli lub w kolumnie są błędne, ponieważ średnia (AVG) jest obliczana zupełnie inną funkcją. Select średniej w kolumnie wymaga użycia AVG zamiast COUNT. To powszechny błąd, wynikający z niepełnego zrozumienia różnicy między różnymi funkcjami agregującymi. Z kolei zrozumienie dlaczego odpowiedź dotycząca sumy w kolumnie jest błędna wiąże się z innym typowym nieporozumieniem w SQL. SUM służy do dodawania wartości liczbowych w kolumnie, jednak COUNT skupia się na liczbie wierszy, co oznacza, że jego celem nie jest sumowanie wartości, lecz ich zliczanie. W tej sytuacji pytanie dotyczyło liczby niepustych wartości w kolumnie wartosc, a nie sumy tych wartości. Takie błędy często wynikają z mylnego postrzegania funkcji jako wzajemnie zamiennych, podczas gdy każda z nich ma specyficzne zastosowanie i wynika z niej inna logika działania. Warto zatem skupić się na zrozumieniu przeznaczenia i użycia każdej z funkcji agregujących osobno, co pozwoli uniknąć takich nieporozumień w przyszłości. Ważne jest, aby pamiętać o tych różnicach i stosować odpowiednie funkcje zgodnie z potrzebami analizy danych. Poprawne użycie funkcji COUNT pozwala na efektywne zliczanie wartości i jest fundamentalne dla prawidłowego przetwarzania danych w SQL.

Pytanie 12

W algebrze relacji działanie selekcji polega na

A. usunięciu pustych wierszy
B. wybór krotek, które spełniają określone warunki
C. usunięciu krotek z powtórzonymi polami
D. wybór krotek, które nie zawierają wartości NULL
W algebrze relacji operacja selekcji, określana również jako filtracja, polega na wydobywaniu krotek z relacji (tabel), które spełniają określone warunki. Selekcja jest kluczowym narzędziem w zarządzaniu bazami danych, ponieważ umożliwia przetwarzanie i analizowanie dużych zbiorów danych poprzez skupienie się tylko na istotnych informacjach. Na przykład, w bazie danych zawierającej informacje o pracownikach, można zastosować selekcję, aby wyodrębnić jedynie tych pracowników, którzy mają wynagrodzenie powyżej określonej kwoty. W praktyce, operator selekcji jest często reprezentowany przez symbol sigma (σ) w notacji algebry relacji. Zgodnie z normami SQL, operacja ta odpowiada klauzuli WHERE, co pozwala na precyzyjne określenie kryteriów, według których krotki są wybierane. Selekcja nie zmienia struktury tabeli, lecz tworzy nową relację, która zawiera jedynie te krotki, które spełniają dane warunki. Przykładem może być zapytanie SQL, które zwraca dane o studentach, którzy uzyskali ocenę powyżej 4.0. Selekcja jest fundamentalnym elementem w projektowaniu baz danych, umożliwiającym efektywne przetwarzanie danych oraz wsparcie dla analizy danych w różnych aplikacjach biznesowych.

Pytanie 13

Jaką funkcję w języku PHP należy wykorzystać, aby nawiązać połączenie z bazą danych o nazwie zwierzaki?

A. $polacz = mysqli_connect('localhost', 'root','','zwierzaki');
B. $polacz = db_connect('localhost', 'root','','zwierzaki');
C. $polacz = server_connect('localhost', 'root','','zwierzaki');
D. $polacz = sql_connect('localhost', 'root','','zwierzaki');
Odpowiedzi, które nie korzystają z funkcji mysqli_connect, bazują na nieaktualnych lub niepoprawnych założeniach dotyczących połączeń z bazą danych w PHP. Na przykład, funkcja db_connect nie jest standardową funkcją dostępną w PHP, co sprawia, że jej użycie prowadzi do błędu. Użytkownicy mogą sądzić, że ta funkcja działa w podobny sposób jak mysqli_connect, lecz w rzeczywistości jest to wytwór nieformalny lub nieprawidłowy, który nie odpowiada standardom języka PHP. Z kolei sql_connect jest często mylona z mysqli_connect, jednak również nie istnieje w dokumentacji PHP jako wbudowana funkcja, co czyni jej stosowanie błędnym. Co więcej, server_connect to kolejna niepoprawna koncepcja, ponieważ nie ma takiej funkcji w PHP. Użytkownicy mogą myśleć, że nazewnictwo funkcji jest dowolne, ale w rzeczywistości język PHP ma ustalone standardy, które muszą być przestrzegane. Dlatego właściwe zrozumienie narzędzi i funkcji dostępnych w PHP jest kluczowe dla efektywnego programowania i unikania typowych błędów, które mogą wynikać z nieznajomości dokumentacji oraz z zastosowania niepoprawnych funkcji.

Pytanie 14

Baza danych 6-letniej szkoły podstawowej zawiera tabelę szkola z polami: imie, nazwisko oraz klasa. Uczniowie z klas 1-5 przeszli do wyższej klasy. Jakie polecenie należy użyć, aby zwiększyć wartość w polu klasa o 1?

A. SELECT nazwisko, imie FROM klasa=klasa+1 WHERE klasa>1 OR klasa <5
B. UPDATE szkola SET klasa=klasa+1 WHERE klasa>=1 AND klasa <=5
C. UPDATE nazwisko, imie SET klasa=klasa+1 WHERE klasa>1 OR klasa<5
D. SELECT szkola FROM klasa=klasa+1 WHERE klasa >=1 AND klasa <=5
Odpowiedź jest prawidłowa, ponieważ polecenie SQL 'UPDATE szkola SET klasa=klasa+1 WHERE klasa>=1 AND klasa <=5;' skutecznie zwiększa wartość w polu 'klasa' dla wszystkich uczniów klas 1-5. W tym kontekście 'UPDATE' jest używane do modyfikowania istniejących danych w tabeli. Wyrażenie 'SET klasa=klasa+1' oznacza, że wartość w polu 'klasa' dla każdego rekordu, który spełnia warunek, zostanie zwiększona o 1. Warunek 'WHERE klasa>=1 AND klasa <=5' zapewnia, że zmiana dotyczy tylko uczniów, którzy są w klasach 1-5, co jest zgodne z założeniem, że wszyscy ci uczniowie zdali do następnej klasy. Praktyczne zastosowanie tego polecenia może być widoczne w sytuacjach, gdy szkoła regularnie aktualizuje dane uczniów na koniec roku szkolnego. Ważne jest, aby zawsze przetestować zapytania aktualizacyjne w środowisku testowym przed ich wdrożeniem w produkcji, aby uniknąć niezamierzonych zmian w danych.

Pytanie 15

W instrukcji CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu pola tabeli spowoduje, że to pole stanie się

A. kluczem podstawowym
B. kluczem obcym
C. indeksem klucza
D. indeksem unikalnym
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE oznacza, że pole, do którego jest ona przypisana, stanie się kluczem podstawowym tabeli. Klucz podstawowy to atrybut lub zbiór atrybutów, które jednoznacznie identyfikują każdy rekord w tabeli. Klucz podstawowy musi być unikalny dla każdego rekordu oraz nie może zawierać wartości NULL. Na przykład, w tabeli użytkowników, pole 'user_id' często pełni rolę klucza podstawowego, co pozwala na jednoznaczne odnalezienie informacji o każdym użytkowniku. Stosowanie kluczy podstawowych jest zgodne z najlepszymi praktykami w projektowaniu baz danych, ponieważ zapewnia integralność danych oraz umożliwia efektywne indeksowanie i wyszukiwanie informacji. Dodatkowo, klucze podstawowe mogą być używane w relacjach z innymi tabelami jako klucze obce, co ułatwia tworzenie powiązań między danymi. Klucz podstawowy jest zatem fundamentem struktury danych w bazie, co potwierdzają standardy SQL oraz normy projektowania baz danych.

Pytanie 16

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Procedura składowa
B. Funkcja zdefiniowana
C. Trigger
D. Zasada
Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.

Pytanie 17

W przedstawionym kodzie PHP w miejscu kropek powinno zostać umieszczone polecenie

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");
$ile = mysqli_num_rows($zapytanie);
for ($i = 0; $i < $ile; $i++)
{
  $wiersz = ……………………………….;
  echo "$wiersz[0] $wiersz[1]";
}
A. mysqli_fetch_row($zapytanie);
B. mysqli_query($zapytanie);
C. mysqli_free_result($zapytanie);
D. mysqli_num_fields($zapytanie);
W kontekście przedstawionego kodu PHP, prawidłowe uzupełnienie wiersza poleceń to użycie funkcji mysqli_fetch_row($zapytanie). Funkcja ta pobiera jeden wiersz z zestawu wyników zapytania jako tablicę indeksowaną numerycznie. Jest to istotny krok w procesie przetwarzania danych z bazy danych, ponieważ po wykonaniu zapytania SQL, dane muszą być odpowiednio odczytane, aby można je było wykorzystać w aplikacji. Przykładowo, po wykonaniu zapytania, możemy mieć wiele wierszy danych, a mysqli_fetch_row pozwala na iteracyjne pobieranie każdego z nich. W praktyce, stosując tę funkcję w pętli, możemy w prosty sposób zbudować listę lub tabelę, wyświetlając imię i nazwisko każdego użytkownika. Warto również pamiętać, że przy pracy z bazami danych ważne jest, aby uważnie monitorować proces pobierania danych, by uniknąć problemów z pamięcią, a także aby zwolnić zasoby po zakończeniu operacji. W związku z tym, standardową praktyką jest również stosowanie mysqli_free_result($zapytanie) po zakończeniu pracy z danymi, co pozwala na efektywne zarządzanie pamięcią.

Pytanie 18

Aby utworzyć tabelę w systemie baz danych, trzeba użyć komendy SQL

A. NEW TABLE
B. CREATE TABLE
C. PLUS TABLE
D. ADD TABLE
Żeby stworzyć tabelę w bazie danych, musisz użyć polecenia CREATE TABLE. To jest taki standard w SQL, który jest mega popularny w zarządzaniu bazami danych. Jak używasz tego polecenia, to definiujesz, jak ma wyglądać twoja tabela – nazwę, kolumny i jakie dane będą w tych kolumnach. Na przykład, jeśli chcesz mieć tabelę z informacjami o użytkownikach, będziesz mógł napisać coś takiego: `CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));`. Fajnie jest również ustawić klucz główny (PRIMARY KEY), bo to zabezpiecza unikalność danych w tabeli. To wszystko jest zgodne z zasadami normalizacji danych, co pomaga uniknąć dublowania informacji i poprawia integralność bazy. Tak więc, znajomość CREATE TABLE to podstawa, gdy pracujesz z bazami danych, bo to klucz do dalszego działania z danymi, ich modyfikowania i zarządzania nimi.

Pytanie 19

W SQL, po wykonaniu przedstawionych poleceń GRANT, prawo do edytowania struktury tabeli oraz jej usunięcia zostanie przyznane

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. tylko Annie
B. Adamowi i Annie
C. Tomaszowi i Annie
D. Tomaszowi i Adamowi
Odpowiedź Adamowi i Annie jest poprawna ponieważ polecenie GRANT w SQL służy do przydzielania określonych uprawnień użytkownikom. W zapytaniu GRANT ALL ON firmy TO 'adam'@'localhost' Adam otrzymuje wszystkie możliwe uprawnienia do tabeli co obejmuje również możliwość zmiany struktury tabeli poprzez ALTER oraz jej usuwania poprzez DROP. Z kolei Anna dzięki poleceniu GRANT ALTER CREATE DROP również uzyskuje te same dwa kluczowe uprawnienia dotyczące zmiany struktury i usuwania tabeli. Takie przydzielanie uprawnień jest zgodne z branżowymi standardami zapewniającymi elastyczność i bezpieczeństwo w zarządzaniu bazami danych. Praktyczne zastosowanie tych uprawnień umożliwia administratorom bazy danych delegowanie odpowiedzialności za różne aspekty zarządzania bazą innym użytkownikom co jest szczególnie przydatne w dużych zespołach. Ważne jest również aby zawsze monitorować i regularnie audytować przydzielone uprawnienia aby zapewnić że użytkownicy posiadają tylko te uprawnienia które są niezbędne do wykonywania ich zadań co jest zgodne z zasadą najmniejszych uprawnień w bezpieczeństwie IT.

Pytanie 20

SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena;
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem:
A. łączenia
B. selekcji
C. sumowania
D. projekcji
Zapytanie SQL, które przedstawiłeś, jest naprawdę świetnym przykładem selekcji. Dzięki niemu można wyciągnąć konkretne dane z tabeli 'oceny'. Selekcja to nic innego jak filtracja danych według ustalonych kryteriów, a w tym przypadku chodzi o to, że 'ocena' musi być większa niż 2. Użycie klauzuli WHERE w SQL pozwala na efektywne wyodrębnienie danych spełniających te wymagania. A jak dodasz do tego klauzulę ORDER BY, to możesz posortować wyniki według wybranej kolejności, co jest naprawdę przydatne w różnych analizach. Takie operacje są kluczowe w pracy z bazami danych, bo dzięki nim zdobywasz konkretną wiedzę bez przeszukiwania całej bazy. W praktyce widać to w raportach, gdzie często potrzebne są tylko konkretne dane, przykładowo żeby sprawdzić, którzy studenci osiągnęli określony poziom ocen. Selekcja daje ci możliwość efektywnego zarządzania danymi, a to według mnie bardzo ważne, zwłaszcza w analizach.

Pytanie 21

Model, w którym wszystkie dane są zapisane w jednej tabeli, określa się mianem

A. relacyjnym
B. jednorodnym
C. sieciowym
D. hierarchicznym
Model jednorodny to taka podstawowa struktura w bazach danych, gdzie wszystko trzymamy w jednej tabeli. To się fajnie sprawdza w prostych aplikacjach, bo wtedy relacje między danymi są dość oczywiste. Klasycznym przykładem może być baza kontaktów, gdzie każdy ma swoje info w jednym miejscu. Dzięki temu mamy łatwy dostęp do danych i prosto nimi zarządzać. Z mojego doświadczenia, to rozwiązanie jest super efektywne, ale jak system staje się większy i złożony, to zaczynają się schody. Wtedy inne modele, jak relacyjne, mogą mieć więcej sensu. W branży często korzysta się z modelu jednorodnego, zwłaszcza tam, gdzie szybki dostęp do danych jest kluczowy, a sztywne struktury tylko przeszkadzają. Na codzień to naprawdę przydatna rzecz, jak ktoś nie chce się męczyć z komplikacjami.

Pytanie 22

Wskaż zapytanie, w którym dane zostały uporządkowane.

A. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
B. SELECT DISTINCT produkt, cena FROM artykuly;
C. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
D. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
Odpowiedź SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek jest poprawna, ponieważ zawiera klauzulę ORDER BY, która jest używana do sortowania wyników zapytania w SQL. W tym przypadku, dane są sortowane według wieku mieszkańców, co pozwala na łatwe zrozumienie rozkładu wiekowego w tej grupie. Klauzula ORDER BY jest standardowym elementem SQL, który może sortować wyniki w porządku rosnącym (ASC) lub malejącym (DESC). Przykładowe zastosowanie to raporty, w których użytkownik chce zobaczyć dane uporządkowane według konkretnego kryterium, np. wiek, cena, data. Dobre praktyki sugerują, aby zawsze jasno definiować, które kolumny mają być używane do sortowania, a także zrozumieć, że sortowanie wpływa na wydajność zapytań, zwłaszcza przy dużych zbiorach danych. W przypadku bardziej złożonych zapytań można także łączyć klauzulę ORDER BY z innymi klauzulami, takimi jak GROUP BY, co zwiększa elastyczność w analizie danych.

Pytanie 23

Poziom izolacji transakcji Repeatable Read (tryb powtarzalnego odczytu) używany przez MS SQL jest związany z problemem

A. odczytów widm
B. niepowtarzalnych odczytów
C. brudnych odczytów
D. utraty aktualizacji
Poziom izolacji transakcji Repeatable Read (powtarzalny odczyt) w systemach zarządzania bazami danych, takich jak MS SQL, wprowadza mechanizm, który zapewnia, że dane odczytane w trakcie transakcji pozostaną niezmienne do momentu jej zakończenia. Oznacza to, że jeżeli jedna transakcja odczyta pewne dane, to inne transakcje nie będą mogły ich zmodyfikować, aż do zakończenia pierwszej transakcji. Mimo że ten poziom izolacji zapobiega niepowtarzalnym odczytom, to jednak wprowadza zjawisko odczytów widm, które występuje, gdy nowa transakcja wprowadza nowe wiersze, które spełniają kryteria odczytu pierwszej transakcji. W efekcie, podczas powtórnego odczytu tych samych danych, mogą pojawić się nowe wiersze, co prowadzi do niespójności wyników. Przykładem może być sytuacja, w której jedna transakcja wykonuje odczyt danych klientów, a w tym czasie inna transakcja dodaje nowego klienta. Przy kolejnych odczytach pierwsza transakcja może zobaczyć inny zestaw danych niż początkowo, co generuje problem odczytów widm. Praktyczne zastosowanie tego poziomu izolacji wymaga ostrożności w projektowaniu aplikacji, aby uniknąć sytuacji, w których dane mogą się dynamicznie zmieniać w trakcie ich odczytu, co jest szczególnie istotne w kontekście finansowym i e-commerce, gdzie dokładność danych jest kluczowa.

Pytanie 24

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

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

Pytanie 25

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nowym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Jak powinno wyglądać to w aktualizacji bazy danych?

A. UPDATE pracownicy SET pensja = pensja + 100;
B. UPDATE pensja SET 100;
C. UPDATE pracownicy SET pensja = 100;
D. UPDATE pensja SET +100;
Odpowiedź 'UPDATE pracownicy SET pensja = pensja + 100;' jest prawidłowa, ponieważ wprowadza właściwą składnię SQL, która aktualizuje pole 'pensja' w tabeli 'pracownicy'. To polecenie wykorzystuje operator przypisania '=', aby zaktualizować wartość 'pensja', dodając do niej 100 zł. W praktyce jest to typowy sposób na modyfikację danych w bazach danych relacyjnych, przy użyciu SQL. Kluczowym aspektem jest zrozumienie, że 'pensja' w tym kontekście odnosi się do istniejącej wartości w danym rekordzie, a nie do jakiejś stałej. Operator '+' w tym przypadku informuje system, że chcemy zwiększyć aktualną wartość o 100. Użycie tego typu składni jest zgodne z najlepszymi praktykami w programowaniu baz danych, co sprzyja przejrzystości i zrozumiałości kodu. Tego rodzaju aktualizacje są kluczowe w zarządzaniu danymi pracowników, zwłaszcza w kontekście systemów wynagrodzeń, gdzie regularne zmiany pensji są normą.

Pytanie 26

Jaką relację w projekcie bazy danych powinno się ustalić pomiędzy tabelami przedstawionymi na rysunku, przy założeniu, że każdy klient sklepu internetowego złoży co najmniej dwa zamówienia?

Ilustracja do pytania
A. 1:n, gdzie 1 znajduje się po stronie Zamówienia, a wiele po stronie Klienta
B. 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia
C. n:n
D. 1:1
Relacja 1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia, oznacza, że każdy klient może mieć wiele zamówień, ale każde zamówienie jest powiązane dokładnie z jednym klientem. To podejście odpowiada rzeczywistości większości sklepów internetowych, gdzie klienci wielokrotnie dokonują zamówień. Projektując bazę danych zgodnie z tą relacją, stosujemy klucz obcy w tabeli Zamówienia, który odwołuje się do klucza głównego w tabeli Klient. Jest to zgodne z dobrymi praktykami w projektowaniu baz danych, które zalecają minimalizowanie redundancji i zapewnienie integralności danych. Praktyczne zastosowanie tego modelu umożliwia łatwe śledzenie historii zamówień klientów, co jest kluczowe dla analizy sprzedaży i zarządzania relacjami z klientami. Relacja 1:n jest jedną z najczęściej stosowanych w modelowaniu danych, co potwierdza jej uniwersalność i skuteczność w różnych systemach informatycznych, od sklepów internetowych po systemy zarządzania zasobami ludzkimi.

Pytanie 27

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. indeksem unikalnym
B. kluczem obcym
C. kluczem podstawowym
D. indeksem klucza
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE pozwala na zdefiniowanie unikalnego identyfikatora dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa wiersze nie mogą mieć tej samej wartości w kolumnie, co jest kluczowe dla zachowania integralności danych. Przykładem praktycznym może być stworzenie tabeli użytkowników, gdzie 'id_użytkownika' jest kluczem podstawowym. Taki klucz może być typu INTEGER z automatycznym inkrementowaniem, co oznacza, że dla każdego nowego użytkownika wartość 'id_użytkownika' wzrasta automatycznie. Standardy branżowe zalecają definiowanie klucza podstawowego dla każdej tabeli, aby upewnić się, że rekordy można w sposób jednoznaczny zidentyfikować, co jest niezbędne dla relacyjnych baz danych. Dodatkowo, klucz podstawowy automatycznie tworzy indeks na tej kolumnie, co przyspiesza operacje wyszukiwania. Ważne jest, aby klucz podstawowy był dobrze przemyślany, ponieważ jego zmiana w przyszłości może wiązać się z dużymi komplikacjami w bazie danych.

Pytanie 28

Wskaż właściwą zasadę związaną z integralnością danych w bazie danych?

A. pole klucza obcego nie może być puste
B. w relacji 1..n pole klucza obcego łączy się z polem klucza obcego innej tabeli
C. pole klucza podstawowego musi mieć utworzony indeks
D. pole klucza podstawowego nie może pozostawać puste
Niepoprawne odpowiedzi wskazują na niewłaściwe zrozumienie zasad spójności danych w kontekście relacyjnych baz danych. Pole klucza obcego, które powinno być używane do tworzenia powiązań między różnymi tabelami, może być puste w przypadku, gdy dany rekord nie odnosi się do innego. Na przykład, w systemie zarządzania zamówieniami, pole klucza obcego, które łączy tabelę zamówień z tabelą klientów, może być puste, jeśli zamówienie jest anonimowe lub tymczasowe. Istotne jest, aby zrozumieć, że klucz obcy nie zawsze musi wskazywać na obiekt zależny, co pozwala na większą elastyczność w projektowaniu bazy danych. Odpowiedzi, które sugerują, że klucz podstawowy musi mieć utworzony indeks lub że w relacji 1..n klucz obcy jest połączony z kluczem obcym innej tabeli, również są mylne. Indeksowanie klucza podstawowego jest praktyką zalecaną, ale nie jest to obowiązkowe z punktu widzenia definicji klucza. Klucz obcy jest używany do ustanawiania relacji i nie musi być połączony z innym kluczem obcym, a może wskazywać tylko na klucz podstawowy innej tabeli. Te nieporozumienia mogą prowadzić do błędnego projektowania bazy danych, co w dłuższej perspektywie wpływa na wydajność, integralność oraz bezpieczeństwo danych.

Pytanie 29

W języku PHP, przy pracy z bazą MySQL, aby zakończyć sesję z bazą, należy wywołać

A. mysqli_rollback()
B. mysqli_commit()
C. mysqli_exit()
D. mysqli_close()
Odpowiedź mysqli_close() jest prawidłowa, ponieważ ta funkcja jest używana do zamknięcia połączenia z bazą danych MySQL w języku PHP. Po zakończeniu wszystkich operacji na bazie danych, zaleca się wywołanie tej funkcji, aby zwolnić zasoby systemowe oraz zamknąć połączenie, co jest zgodne z dobrymi praktykami programistycznymi. Użycie mysqli_close() jest istotne, ponieważ niezamknięte połączenia mogą prowadzić do wycieków pamięci i wyczerpania dostępnych zasobów, co z kolei może wpłynąć na wydajność aplikacji. W praktyce, jeśli mamy otwarte połączenie z bazą danych, po zakończeniu operacji, takich jak pobieranie lub wstawianie danych, używamy mysqli_close($connection), gdzie $connection to nasza zmienna reprezentująca połączenie. Oprócz tego, pamiętajmy, że dbanie o odpowiednie zarządzanie połączeniami ma kluczowe znaczenie dla bezpieczeństwa i stabilności naszych aplikacji.

Pytanie 30

W MSSQL Server rola dbcreator, która jest predefiniowana, umożliwia użytkownikowi

A. zarządzanie bezpieczeństwem systemu
B. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
C. zarządzanie plikami na dysku
D. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
Rola dbcreator w Microsoft SQL Server jest jedną z predefiniowanych ról serwerowych, która umożliwia użytkownikom zaawansowane zarządzanie bazami danych. Użytkownicy z tą rolą mają pełne uprawnienia do tworzenia nowych baz danych, modyfikowania istniejących oraz usuwania ich, co jest kluczowe dla administratorów i deweloperów pracujących w środowisku SQL. Rola ta pozwala także na odzyskiwanie baz danych, co jest niezbędne w kontekście zarządzania danymi krytycznymi oraz zapewniania ciągłości działania aplikacji. Przykład praktyczny zastosowania roli dbcreator można zobaczyć w sytuacji, gdy zespół deweloperski tworzy nowe środowisko testowe na podstawie istniejącej bazy danych produkcyjnej. Dzięki tej roli, deweloperzy mogą w łatwy sposób sklonować bazę, przeprowadzić modyfikacje i testy, a następnie usunąć niepotrzebne już zasoby. Standardy bezpieczeństwa oraz dobre praktyki zarządzania danymi zalecają ograniczanie uprawnień, co czyni rolę dbcreator narzędziem potężnym, ale wymagającym odpowiedzialnego podejścia ze strony użytkowników.

Pytanie 31

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

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

Pytanie 32

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
B. błędu związane z nieprawidłową liczbą pól
C. zignorowania polecenia, tabela nie ulegnie zmianie
D. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
W przypadku bazy danych MySQL, klucz główny zdefiniowany z atrybutem AUTO-INCREMENT pełni ważną funkcję automatycznego przydzielania unikalnych wartości liczbowych dla każdego nowego rekordu. Jest to szczególnie przydatne w dużych bazach danych, gdzie ręczne przypisywanie wartości klucza mogłoby prowadzić do błędów czy konfliktów. W przedstawionym przypadku, query SQL typu INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak'); pomija pole klucza głównego. Dzięki zastosowaniu AUTO-INCREMENT, MySQL automatycznie przydzieli nową wartość klucza głównego, która będzie kolejną w sekwencji, zapewniając integralność danych. Tego rodzaju mechanizm jest standardem w zarządzaniu relacyjną bazą danych, co pozwala na efektywne i bezpieczne operowanie danymi bez ryzyka wystąpienia błędów związanych z ręcznym zarządzaniem kluczami. Dobre praktyki sugerują, aby w takich przypadkach polegać na funkcji AUTO-INCREMENT, co nie tylko ułatwia pracę z bazą danych, ale również minimalizuje możliwość wystąpienia duplikatów czy niespójności w danych. To podejście jest szeroko stosowane w branży IT, szczególnie w przypadkach systemów wymagających dużego wolumenu danych.

Pytanie 33

Podczas wykonywania zapytania można skorzystać z klauzuli DROP COLUMN

A. DROP TABLE
B. ALTER TABLE
C. CREATE TABLE
D. ALTER COLUMN
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ klauzula DROP COLUMN jest używana w kontekście zmiany struktury tabeli w bazach danych. Polecenie ALTER TABLE pozwala na modyfikację istniejącej tabeli, w tym dodawanie, usuwanie lub modyfikowanie kolumn. Użycie klauzuli DROP COLUMN umożliwia usunięcie określonej kolumny z tabeli, co jest przydatne, gdy kolumna nie jest już potrzebna, zawiera nieaktualne dane lub w celu optymalizacji struktury bazy danych. Na przykład, jeśli mamy tabelę 'Użytkownicy' z kolumną 'wiek', której chcemy się pozbyć, możemy użyć polecenia: 'ALTER TABLE Użytkownicy DROP COLUMN wiek;'. Ważne jest, aby przed wykonaniem tej operacji upewnić się, że usunięcie kolumny nie wpłynie negatywnie na integralność danych lub logikę aplikacji. Praktyki dotyczące zarządzania bazami danych zalecają również wykonanie kopii zapasowej danych przed takimi operacjami, aby zminimalizować ryzyko utraty danych.

Pytanie 34

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
Wybór odpowiedzi CHECK, HAVING lub UNIQUE wskazuje na pewne nieporozumienia dotyczące zastosowania i znaczenia tych klauzul w SQL. Klauzula CHECK jest używana w kontekście definicji tabeli, aby zapewnić, że dane w danym atrybucie spełniają określone warunki, na przykład 'CHECK (wiek >= 0)', co oznacza, że wiek nie może być ujemny. Nie ma jednak zastosowania w kontekście eliminacji duplikatów z wyników zapytania. Klauzula HAVING jest z kolei używana do filtrowania grup z wyniku agregacji, na przykład w zapytaniu z użyciem GROUP BY. Użycie HAVING do eliminacji duplikatów z wyników bez wcześniejszego grupowania danych nie ma sensu. Z kolei UNIQUE to ograniczenie, które można ustawić na kolumnę w tabeli, aby zapewnić, że nie będą w niej występowały powtarzające się wartości. Chociaż jest związane z unikalnością, nie jest klauzulą, którą można wykorzystać w zapytaniach do eliminacji duplikatów z zestawów wyników. Typowym błędem jest mylenie tych koncepcji, co prowadzi do wyboru nieodpowiednich narzędzi w SQL do rozwiązania konkretnego problemu. Warto zatem dobrze zrozumieć różnice między tymi klauzulami, aby umiejętnie stosować je w praktyce i skutecznie zarządzać danymi.

Pytanie 35

Lokalny System Zarządzania Bazą Danych (SZBD) oferuje bazę danych

A. w formie serwera w sieci.
B. w chmurze obliczeniowej.
C. jako usługę serwerową w sieci.
D. wyłącznie na jednym, wyznaczonym komputerze.
Lokalny System Zarządzania Bazą Danych (SZBD) jest zazwyczaj zainstalowany na jednym, określonym komputerze, co oznacza, że jest używany w trybie lokalnym. Taki system zarządzania bazą danych, jak na przykład MySQL czy SQLite, umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi bez potrzeby połączenia z zewnętrznymi serwerami. Praktycznym przykładem jest sytuacja, gdy deweloperzy tworzą aplikacje desktopowe, które korzystają z lokalnych baz danych do przechowywania danych użytkowników lub do obsługi aplikacji offline. W kontekście najlepszych praktyk, lokalne bazy danych są często wykorzystywane w małych projektach, gdzie dostępność i wydajność są kluczowe, a złożoność architektury sieciowej nie jest wymagana. Przykładem zastosowania jest aplikacja do zarządzania finansami osobistymi, która lokalnie przechowuje dane o wydatkach użytkownika, zapewniając jednocześnie szybki dostęp do informacji bez potrzeby korzystania z zasobów chmurowych.

Pytanie 36

Czym jest proces normalizacji tabel w kontekście baz danych?

A. wyłącznie stworzenie tabel oraz relacji w bazie
B. wprowadzenie nowych rekordów do bazy
C. analiza i optymalizacja bazy danych
D. wizualizacja struktury bazy danych
Normalizacja tabel to kluczowy proces w projektowaniu baz danych, który ma na celu minimalizację redundancji danych oraz zapewnienie ich integralności. Proces ten polega na organizowaniu danych w taki sposób, aby zmniejszyć powtarzalność oraz eliminować potencjalne anomalia podczas operacji na bazie, takich jak wstawianie, aktualizowanie czy usuwanie danych. Standardowe formy normalne, takie jak pierwsza, druga czy trzecia forma normalna, definiują zasady, według których można osiągnąć ten cel. Na przykład, w trzeciej formie normalnej, żadne niekluczowe atrybuty nie mogą być zależne od innych atrybutów, co pozwala na lepsze zarządzanie danymi. W praktyce, normalizacja może przyczynić się do efektywności zapytań SQL oraz ułatwiać zarządzanie danymi poprzez tworzenie relacji między tabelami. Przykładem może być rozdzielenie danych klienta i zamówienia do osobnych tabel, co pozwala na łatwiejsze aktualizacje informacji o kliencie bez konieczności modyfikowania całej historii zamówień. W ten sposób normalizacja wspiera standardy branżowe, takie jak ANSI SQL, a także najlepsze praktyki w zakresie projektowania baz danych.

Pytanie 37

Aby ułatwić dodawanie oraz modyfikowanie danych w tabeli, konieczne jest zdefiniowanie

A. sprawozdania.
B. formularza.
C. filtru.
D. zapytania SELECT.
Formularz jest istotnym narzędziem w bazach danych, które umożliwia użytkownikom łatwe wprowadzanie oraz edytowanie danych. Zapewnia on przejrzysty interfejs, który jest bardziej przyjazny dla użytkownika niż bezpośrednia interakcja z tabelą. Tworząc formularz, można dostosować pola do specyficznych danych, co pozwala na walidację wprowadzanych informacji oraz ich formatowanie, co czyni proces bardziej intuicyjnym. Na przykład, formularze mogą zawierać różne typy pól, takie jak pola tekstowe, rozwijane listy czy przyciski wyboru, co zwiększa elastyczność w wprowadzaniu danych. Ponadto, formularze mogą być powiązane z odpowiednimi tabelami w bazie danych, co umożliwia automatyczne przetwarzanie danych po ich wprowadzeniu. Dzięki zastosowaniu formularzy, organizacje mogą znacznie przyspieszyć proces zbierania danych oraz zminimalizować błędy, co jest szczególnie istotne w środowiskach wymagających dużej precyzji i efektywności. Programy takie jak Microsoft Access czy Google Forms oferują możliwości tworzenia formularzy, które są zgodne z najlepszymi praktykami w zakresie zbierania danych.

Pytanie 38

Na podstawie tabeli Towar zrealizowano poniższe zapytanie SQL: ```SELECT nazwa_towaru FROM `Towar` WHERE cena_katalogowa < 65 ORDER BY waga DESC``` Jaki będzie rezultat tej operacji?

Ilustracja do pytania
A. Zeszyt A5, Zeszyt A5 w linie, Kredki 24 kolory, Papier ksero A4
B. Zeszyt A5 w linie, Zeszyt A5, Kredki 24 kolory, Papier ksero A4
C. Papier ksero A4, Kredki 24 kolory, Zeszyt A5 w linie, Zeszyt A5
D. Papier ksero A4, Kredki 24 kolory, Zeszyt A5, Zeszyt A5 w linie
Zapytanie SQL selekcjonuje towary z tabeli Towar, których cena katalogowa jest mniejsza niż 65, a następnie sortuje wyniki malejąco według wagi. Dzięki temu otrzymujemy listę towarów uporządkowaną od najcięższego do najlżejszego, a jednocześnie wykluczamy towary, które nie spełniają kryterium ceny. W podanym zestawie danych znajdują się cztery towary spełniające warunek cenowy: Papier ksero A4, Zeszyt A5, Zeszyt A5 w linie i Kredki 24 kolory. Spośród tych towarów najcięższy jest Papier ksero A4 (2.3), następnie Kredki 24 kolory (0.3), Zeszyt A5 (0.13), a najlżejszy jest Zeszyt A5 w linie (0.12). Kolejność wyników odpowiada zatem prawidłowej odpowiedzi numer 3. W praktyce umiejętność tworzenia zapytań SQL z warunkami filtrowania i sortowania jest niezwykle istotna w analizie danych, umożliwiając precyzyjne wyodrębnienie potrzebnych informacji z dużych zbiorów danych. Dobrym standardem jest zawsze testowanie zapytań na przykładowych danych, aby potwierdzić poprawność wyników przed ich zastosowaniem w środowisku produkcyjnym.

Pytanie 39

W bazie danych MySQL utworzono tabelę. Aby jednoznacznie zdefiniować, że pole ID jest kluczem głównym, należy dopisać

 CREATE TABLE Osoby ( ID int NOT NULL, nazwisko varchar(255) NOT NULL, wiek int); 
A. PK w linii, w której jest zdefiniowane pole ID.
B. PK (ID) przed zamknięciem nawiasu.
C. PRIMARY KEY (ID) przed zamknięciem nawiasu.
D. FOREIGN KEY w linii, w której jest zdefiniowane pole ID.
Twoja odpowiedź jest prawidłowa. W języku SQL, i w szczególności w systemie baz danych MySQL, aby zdefiniować pole ID jako klucz główny, należy użyć klauzuli PRIMARY KEY. Składnia jest dość prosta i wymaga umieszczenia wyrażenia 'PRIMARY KEY (ID)' przed zamknięciem nawiasu definiującego strukturę tabeli. Klucz główny jest kluczem unikalnym, który identyfikuje rekord w tabeli. Nie mogą istnieć dwa rekordy w tabeli z tą samą wartością klucza głównego, co gwarantuje unikalność każdego rekordu. Klucze główne są też często używane do tworzenia powiązań między tabelami, co jest podstawą relacyjnych baz danych. Wykorzystanie kluczy głównych jest zgodne ze standardami i dobrą praktyką w projektowaniu baz danych.

Pytanie 40

Jakie rozwiązanie powinno być wdrożone w organizacji danych, aby przyspieszyć wykonanie zapytań w bazie danych?

A. Klucze podstawowe
B. Reguły
C. Wartości domyślne
D. Indeksy
Klucze podstawowe pełnią inną rolę w bazach danych niż indeksy. Służą one do jednoznacznej identyfikacji każdego wiersza w tabeli i zapewniają, że nie ma duplikatów danych. Choć klucze podstawowe mogą być automatycznie indeksowane przez system bazy danych, ich głównym celem jest zapewnienie integralności danych, a nie przyspieszanie wyszukiwania. Reguły, z drugiej strony, dotyczą logiki aplikacji i kontroli danych, ale nie wpływają na szybkość dostępu do danych. Mogą one być używane do walidacji danych przed ich zapisaniem w bazie, co jest ważne, lecz nie przyspiesza samego procesu wyszukiwania. Wartości domyślne definiują, jakie dane mają być wstawiane, gdy nie podano żadnej wartości, ale również nie mają wpływu na wydajność zapytań. Wszystkie te elementy mają swoje istotne miejsce w projektowaniu baz danych, jednak nie są bezpośrednio związane z optymalizacją szybkości zapytań jak to jest w przypadku indeksów. Często mylnie zakłada się, że klucze podstawowe i inne mechanizmy są wystarczające do poprawy wydajności, co może prowadzić do nieefektywnego projektowania i nieodpowiednich optymalizacji w systemie bazodanowym.