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: 20 kwietnia 2026 13:47
  • Data zakończenia: 20 kwietnia 2026 14:05

Egzamin zdany!

Wynik: 28/40 punktów (70,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
D. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
Pozostałe odpowiedzi zawierają istotne błędy w składni SQL oraz w interpretacji relacji między tabelami w bazie danych. Odpowiedź używająca WHERE cena < 10 jest błędna, ponieważ warunek ten wybiera usługi tańsze niż 10 zł, co jest sprzeczne z wymogami zadania. Innym błędem jest użycie niepoprawnego połączenia ON bez odpowiedniego dopasowania kluczy. Użycie klauzuli JOIN bez precyzyjnego określenia relacji, jak w przypadku ON uslugi.id = klienci.id, nie odzwierciedla rzeczywistego związku danych, co prowadzi do błędów logicznych w wynikach. Prawidłowe korzystanie z JOIN wymaga zrozumienia struktury bazy danych oraz relacji między tabelami. Właściwe połączanie tabel z wykorzystaniem klucza obcego jest kluczową praktyką, która zapewnia integralność danych i optymalizację zapytań. Ponadto, brak zastosowania warunków filtracyjnych lub nieodpowiednie ich użycie prowadzi do zwracania niekompletnych lub niepoprawnych danych. Wiedza o strukturze bazy danych oraz umiejętność stosowania poprawnych zapytań SQL są niezbędne dla osób zajmujących się projektowaniem i zarządzaniem bazami danych. Praktyczne doświadczenie w stosowaniu tych umiejętności jest kluczowe dla zapewnienia skuteczności oraz wydajności operacji w bazach danych. Poprawne zapytania są podstawą każdej operacji bazodanowej, zarówno w kontekście codziennych operacji, jak i skomplikowanych analiz danych.

Pytanie 2

W bazie danych dotyczącej sklepu znajduje się tabela artykuły, która posiada pole o nazwie nowy. Jak można zaktualizować to pole, aby dla każdego rekordu wprowadzić wartość TRUE, stosując odpowiednią kwerendę?

A. INSERT INTO artykuły VALUE nowy=TRUE
B. UPDATE nowy FROM artykuły VALUE TRUE
C. INSERT INTO nowy FROM artykuły SET TRUE
D. UPDATE artykuły SET nowy=TRUE
Zastosowane w niepoprawnych odpowiedziach metody są błędne z kilku powodów, które warto przeanalizować. W pierwszym przypadku, INSERT INTO artykuły VALUE nowy=TRUE; próbuje wykorzystać instrukcję INSERT do wstawienia nowych danych, co jest nieodpowiednie w kontekście aktualizacji istniejących rekordów. INSERT służy do dodawania nowych wierszy, a nie do modyfikacji istniejących, co skutkuje nieadekwatnością do przedstawionego problemu. W drugim przykładzie, UPDATE nowy FROM artykuły VALUE TRUE; nie ma poprawnej składni SQL. Konstrukcja ta nie uwzględnia prawidłowego użycia klauzuli SET, co powoduje, że kwerenda byłaby nieefektywna. Trzeci wariant, INSERT INTO nowy FROM artykuły SET TRUE;, nie ma też sensu, ponieważ pole 'nowy' nie powinno być wstawiane jako nowy rekord. Tego typu błędy często wynikają z nieznajomości i źle zrozumianej składni SQL. Ponadto, nieodpowiednie użycie instrukcji INSERT oraz błędne koncepcje dotyczące aktualizacji danych w bazie mogą prowadzić do poważnych zniekształceń danych. W kontekście dobrych praktyk, kluczowe jest zrozumienie różnicy między operacjami INSERT i UPDATE oraz ich właściwym zastosowaniem w praktyce dla zapewnienia spójności oraz prawidłowego zarządzania danymi.

Pytanie 3

Aby naprawić tabelę w bazie danych MySQL, należy użyć polecenia

A. UPDATE TABLE
B. FIX TABLE
C. REPAIR TABLE
D. CHANGE TABLE
W MySQL tylko jedna z podanych komend jest rzeczywistym, udokumentowanym poleceniem służącym do naprawy struktury tabeli i jest to `REPAIR TABLE`. Pozostałe propozycje wynikają najczęściej z mieszania intuicji językowej z faktyczną składnią SQL. Wiele osób myśli na zasadzie „chcę coś naprawić, to wpiszę FIX”, ale w standardowym SQL i w MySQL nie istnieje polecenie `FIX TABLE`. To zbitka słowna, która brzmi sensownie po angielsku, ale nie ma żadnego odzwierciedlenia w parserze MySQL. W praktyce wpisanie takiej komendy skończy się zwykłym błędem składniowym i żadna tabela nie zostanie ani naprawiona, ani nawet dotknięta. Podobny problem dotyczy `CHANGE TABLE`. W MySQL mamy `ALTER TABLE`, które służy do zmiany struktury tabeli (dodawanie kolumn, zmiana typu, indeksów itd.), natomiast komenda `CHANGE TABLE` po prostu nie istnieje. Jest tu mylące to, że w ramach `ALTER TABLE` jest podpolecenie `CHANGE` dla kolumn, np. `ALTER TABLE t CHANGE stara_kolumna nowa_kolumna INT;`, ale to zupełnie inny poziom – zmiana definicji kolumny, a nie naprawa uszkodzonej tabeli. Najbardziej zdradliwe jest natomiast `UPDATE TABLE`. W SQL istnieje `UPDATE`, ale działa ono na rekordach, a nie na samej tabeli jako strukturze. Poprawna składnia to `UPDATE nazwa_tabeli SET kolumna=wartosc WHERE warunek;`. To polecenie modyfikuje dane w wierszach, nie reperuje indeksów, nagłówków plików czy struktury fizycznej. Typowy błąd myślowy polega na tym, że ktoś utożsamia „naprawę” z „zmianą danych”, podczas gdy problemy, które rozwiązuje `REPAIR TABLE`, dotyczą integralności na poziomie pliku tabeli, a nie logiki rekordów. Z punktu widzenia dobrych praktyk administracyjnych warto rozróżniać: `UPDATE` do modyfikacji zawartości, `ALTER TABLE` do modyfikacji schematu i `REPAIR TABLE` (plus `CHECK TABLE`) do działań serwisowych przy uszkodzeniach. Mylenie tych komend może prowadzić do sytuacji, gdzie administrator próbuje „naprawiać” bazę błędnymi poleceniami, a prawdziwy problem dalej pozostaje nierozwiązany.

Pytanie 4

Aby obliczyć liczbę wszystkich wierszy w tabeli Koty, należy zastosować zapytanie:

A. SELECT COUNT(Koty) AS ROWNUM
B. SELECT COUNT(*) FROM Koty
C. SELECT COUNT(ROWNUM) FROM Koty
D. SELECT ROWNUM() FROM Koty
W przypadku niepoprawnych odpowiedzi zauważamy różne nieporozumienia dotyczące zliczania wierszy w tabelach. Pierwsza z błędnych odpowiedzi, 'SELECT COUNT(ROWNUM) FROM Koty', opiera się na nieprawidłowym zrozumieniu pojęcia ROWNUM w SQL. ROWNUM jest pseudokolumną, która numeruje wiersze w wynikach zapytania, ale nie jest odpowiednia do zliczania wszystkich wierszy w tabeli, ponieważ nie zwraca poprawnego wyniku w kontekście zliczania. To prowadzi do błędnych interpretacji oraz nieefektywnych zapytań. Dalej, odpowiedź 'SELECT COUNT(Koty) AS ROWNUM' w ogóle nie zrozumiała zasady działania funkcji COUNT. W tym przypadku, próbując użyć tabeli jako argumentu, nie uzyskujemy żadnego sensownego rezultatu, ponieważ COUNT powinien operować na kolumnie, a nie na samej tabeli. Ostatnia odpowiedź, 'SELECT ROWNUM() FROM Koty', jest również błędna, ponieważ ROWNUM nie jest funkcją, co skutkuje błędem składniowym. Warto zrozumieć, że na wczesnych etapach nauki SQL, błędne interpretacje i użycie funkcji mogą prowadzić do niezgodnych z oczekiwaniami wyników. Zrozumienie, jak działają funkcje agregujące i pseudokolumny, jest kluczowe dla efektywnego tworzenia zapytań i przeprowadzania analiz w bazach danych. Prawidłowe podejście do zliczania wierszy jest podstawą w pracy z danymi i fundamentalnym elementem w każdej aplikacji bazodanowej.

Pytanie 5

Tabela odlotów zawiera dane przedstawione na ilustracji. Wykonanie zapytania SQL spowoduje zwrócenie informacji:

SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%';
idsamoloty_idnr_rejsukierunekczasdzienstatus_lotu
11FR1646Neapol09:20:002019-07-25wystartowal
21FR1327ALICANTE09:10:002019-07-25Opóźniony 10 min
32W63425Warszawa09:45:002019-07-25odprawa
43LX5647Londyn LT10:03:002019-07-25odprawa
53LX5673Malta10:06:002019-07-25opoznienie 20 min
63LX5622Wieden10:13:002019-07-25
74LH9821Berlin10:16:002019-07-25
84LH9888Hamburg10:19:002019-07-25
A. 4; 5; 6; 7; 8
B. 5; 8
C. zbiór pusty
D. 3; 5; 8
Podczas analizy zapytania SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%' istotne jest zrozumienie działania operatora LIKE i warunków filtrujących w SQL. Warunek samoloty_id > 2 oznacza, że poszukujemy rekordów, gdzie wartość w kolumnie samoloty_id jest większa niż 2. Oznacza to, że rekordy z samoloty_id równym 1 lub 2 nie zostaną uwzględnione w wyniku zapytania. Drugi warunek kierunek LIKE '_a%' wykorzystuje operator LIKE, który umożliwia wyszukiwanie z użyciem symboli wieloznacznych. W tym przypadku znak podkreślenia '_' reprezentuje jeden dowolny znak, a wzorzec '_a%' oznacza, że w kolumnie kierunek szukamy wartości, które mają 'a' na drugim miejscu. Jest to specyficzne dopasowanie, które eliminuje wszelkie inne wzorce, które nie mają 'a' jako drugiego znaku. W tym kontekście błędne zrozumienie warunku LIKE może doprowadzić do niepoprawnego założenia, że szuka on dowolnego ciągu zawierającego literę 'a', co nie jest zgodne z rzeczywistością. Typowe błędy myślowe mogą wynikać z pomylenia znaku '%' z '_', gdzie pierwszy oznacza dowolną liczbę dowolnych znaków, a drugi tylko jeden dowolny znak. Takie nieporozumienia są powszechne, ale zrozumienie poprawnej składni i mechanizmu działania operatora LIKE jest kluczowe dla skutecznego wykorzystania tego narzędzia w SQL. Dodatkowo, nieuwzględnienie warunku samoloty_id > 2 prowadzi do niewłaściwego zrozumienia, które rekordy powinny zostać uwzględnione w końcowym wyniku zapytania. Takie sytuacje podkreślają znaczenie dokładnej analizy warunków i wzorców w zapytaniach SQL, aby uzyskać oczekiwane rezultaty bez błędów interpretacyjnych.

Pytanie 6

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport pokazujący dane z tabeli, obejmujący tylko komputery z co najmniej 8 GB pamięci oraz procesorem Intel, można wykorzystać kwerendę

A. SELECT * FROM komputery WHERE procesor = 'Intel' OR pamiec >= 8;
B. SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec < 8
C. SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8;
D. SELECT * FROM komputery WHERE procesor = 'Intel' OR pamiec < 8
Wybrana kwerenda SELECT * FROM komputery WHERE procesor = 'Intel' AND pamiec >= 8; jest prawidłowa, ponieważ precyzyjnie spełnia wymagania dotyczące filtracji danych w tabeli komputery. Użycie operatora AND jest kluczowe w tej sytuacji, ponieważ umożliwia jednoczesne sprawdzenie dwóch warunków: pierwszy warunek wymaga, aby procesor był równy 'Intel', a drugi, aby pamięć RAM była większa lub równa 8 GB. W rezultacie kwerenda zwróci tylko te rekordy, które spełniają oba kryteria, co jest zgodne z założeniem raportu. W praktyce, tego typu kwerendy są niezwykle ważne, szczególnie w kontekście analizy danych, gdzie precyzyjne określenie kryteriów jest kluczowe dla uzyskania wartościowych wyników. Dobre praktyki w tworzeniu zapytań SQL obejmują także wykorzystanie odpowiednich indeksów na kolumnach procesor i pamiec, co może znacznie zwiększyć wydajność zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 7

W języku SQL wykonano przedstawione poniżej polecenia GRANT. Kto będzie miał prawo do przeglądania danych oraz ich zmiany?

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. Jedynie Tomasz
B. Anna i Tomasz
C. Tomasz i Adam
D. Adam i Anna
Odpowiedź 'Tomasz i Adam' jest poprawna, ponieważ obaj użytkownicy mają przypisane odpowiednie uprawnienia do przeglądania oraz modyfikacji danych w bazie 'firmy'. Adam otrzymał pełne uprawnienia, co oznacza, że może przeglądać (SELECT) oraz modyfikować (INSERT, UPDATE, DELETE) dane, a także zmieniać strukturę tabel (ALTER, CREATE, DROP). Tomasz, z kolei, ma przydzielone szczegółowe uprawnienia do przeglądania danych (SELECT) oraz ich modyfikacji (INSERT, UPDATE). W praktyce, przydzielanie uprawnień w bazach danych odbywa się zgodnie z zasadą minimalnych uprawnień, co oznacza, że każdy użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do realizacji przydzielonych zadań. Dobrą praktyką jest regularna weryfikacja przydzielonych uprawnień oraz ich dostosowywanie do zmieniających się potrzeb organizacji.

Pytanie 8

Jakiego ograniczenia (constraint) używa się do zdefiniowania klucza obcego?

A. AUTO_INCREMENT(ID)
B. FOREIGN KEY(ID)
C. PRIMARY KEY(ID)
D. UNIQUE KEY(ID)
Wybór innych odpowiedzi jest błędny, ponieważ nie odzwierciedlają one funkcji kluczy obcych. Odpowiedź 'UNIQUE KEY(ID)' jest myląca, ponieważ klucz unikalny zapewnia, że wszystkie wartości w danej kolumnie są unikalne, ale nie tworzy relacji między tabelami. Klucz unikalny może być użyty dla kolumn, które nie są kluczem głównym, ale które muszą zachować unikalność, np. adres e-mail użytkownika. Użycie 'AUTO_INCREMENT(ID)' również jest nieprawidłowe, ponieważ ta opcja jest stosowana do automatycznego zwiększania wartości klucza głównego przy dodawaniu nowych rekordów, co nie ma związku z tworzeniem relacji między tabelami. Klucz główny, na przykład 'PRIMARY KEY(ID)', definiuje unikalną identyfikację rekordów w tabeli, co jest kluczowe dla struktury bazy danych, ale nie tworzy linku do innych tabel. Problemy z interpretacją wynikają często z niezrozumienia, jak różne rodzaje kluczy funkcjonują w relacyjnych bazach danych. Klucz obcy jest kluczowy w kontekście modelowania relacji, natomiast klucz unikalny, klucz główny oraz autoinkrementacja pełnią inne, specyficzne funkcje w architekturze bazy danych. Właściwe zrozumienie ról tych ograniczeń jest kluczowe dla projektowania efektywnych i spójnych baz danych.

Pytanie 9

Polecenie TRUNCATE TABLE w systemie MySQL stosuje się do usuwania

A. wierszy tabeli.
B. kolumn.
C. baz danych.
D. tabel.
W poleceniu TRUNCATE TABLE kluczowe jest zrozumienie, że operujemy na zawartości tabeli, a nie na jej definicji czy całej bazie danych. W praktyce wiele osób myli to polecenie z innymi instrukcjami SQL, co później prowadzi do niebezpiecznych sytuacji w środowisku produkcyjnym. Usuwanie tabel jako obiektów bazy danych realizuje się poleceniem DROP TABLE. DROP kasuje całą strukturę: kolumny, indeksy, klucze, uprawnienia powiązane z tą tabelą. Po DROP nie ma już gdzie wstawić danych, trzeba tabelę zdefiniować na nowo. TRUNCATE takich rzeczy nie robi, pozostawia strukturę nienaruszoną. Mylenie TRUNCATE z usuwaniem kolumn też bywa częste. Za dodawanie i usuwanie kolumn odpowiada ALTER TABLE, np. ALTER TABLE nazwa_tabeli DROP COLUMN nazwa_kolumny. To są operacje na schemacie (strukturze) danych, a TRUNCATE działa na poziomie rekordów, czyli zawartości. Ktoś, kto kojarzy słowo „truncate” z „ucięciem” struktury, może intuicyjnie pomyśleć, że zniknie kolumna, ale w SQL tak to nie działa. Podobnie w przypadku baz danych: do kasowania całych baz służy DROP DATABASE, ewentualnie w narzędziach typu phpMyAdmin odpowiednie opcje w interfejsie. TRUNCATE TABLE nie ma prawa dotykać całej bazy, bo jest przypisane do konkretnej tabeli. Typowy błąd myślowy polega na wrzuceniu do jednego worka wszystkich poleceń, które „coś usuwają”, bez rozróżniania, czy modyfikujemy strukturę (DDL), czy dane (DML), oraz na jakim poziomie: pojedynczy rekord, wszystkie rekordy, tabela czy cała baza. W MySQL TRUNCATE to specyficzna hybryda – formalnie DDL, ale semantycznie kasuje wyłącznie wiersze. Dlatego dobra praktyka jest taka: DROP używamy, gdy chcemy pozbyć się obiektu (tabeli, bazy), ALTER – gdy zmieniamy strukturę (kolumny, indeksy), a TRUNCATE lub DELETE – gdy czyścimy zawartość, przy czym TRUNCATE zawsze usuwa wszystkie wiersze, bez możliwości filtrowania i bez prostego cofnięcia transakcji. Rozdzielenie tych pojęć bardzo ułatwia bezpieczną pracę z SQL-em.

Pytanie 10

Na zaprezentowanym schemacie bazy danych biblioteka, elementy takie jak: czytelnik, wypożyczenie oraz książka stanowią

Ilustracja do pytania
A. encje
B. krotki
C. atrybuty
D. pola
Prawidłowo – na takim schemacie bazy danych „czytelnik”, „wypożyczenie” i „książka” to encje. W modelowaniu danych najpierw identyfikujemy obiekty świata rzeczywistego, które chcemy odwzorować w systemie. W przypadku biblioteki naturalnymi obiektami są właśnie czytelnik, książka i konkretne wypożyczenie. W notacji ERD (Entity‑Relationship Diagram) każdy z tych obiektów opisujemy jako encję, a potem dopiero dodajemy jej atrybuty oraz relacje z innymi encjami. Na schemacie widzisz trzy prostokąty – to są właśnie encje. Każda encja ma zestaw atrybutów: dla encji „czytelnik” są to np. imię, nazwisko, ulica, miejscowość; dla encji „książka” – tytuł, autor, rok wydania; dla encji „wypożyczenie” – daty wypożyczenia i zwrotu, klucze obce do czytelnika i książki. W relacyjnej bazie danych te encje są potem najczęściej odwzorowane jako tabele: tabela CZYTELNIK, WYPOZYCZENIE, KSIAZKA. To jest dokładnie zgodne z dobrymi praktykami projektowania: najpierw model koncepcyjny (encje i relacje), dopiero później model logiczny (tabele, klucze, typy danych). Z mojego doświadczenia przy każdym poważniejszym projekcie bazodanowym analitycy najpierw rysują diagram encji, bo to pomaga zrozumieć domenę biznesową. Dzięki poprawnemu rozróżnieniu encji od atrybutów można uniknąć błędów typu powtarzanie tych samych danych w wielu miejscach czy trudności z raportowaniem. W bibliotece na przykład wypożyczenie musi być osobną encją, bo opisuje zdarzenie w czasie, ma własne atrybuty (daty) i łączy dwie inne encje relacjami. Taki sposób modelowania jest zgodny z klasycznymi podręcznikami baz danych (model encja‑związek) oraz z zasadami normalizacji.

Pytanie 11

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Fafik, Brutus, Dika, Fuks.
B. Figaro, Dika, Fuks.
C. Dika, Fuks.
D. Anna Kowalska, Jan Nowak.
Gratulacje! Twoja odpowiedź była poprawna. Wybrałeś 'Dika, Fuks.', co jest prawidłowym wynikiem dla podanego zapytania SQL. Zapytanie przeszukuje bazę danych zwierząt z podziałem na pewne kryteria - w tym przypadku są to zwierzęta o rodzaju, który odpowiada 2 oraz które były szczepione w 2016 roku. Wśród wszystkich rekordów w tabeli tylko 'Dika' i 'Fuks' spełniają te kryteria, dlatego tylko one są wyświetlane. To pokazuje, jak potężne i elastyczne mogą być zapytania SQL - możemy przeszukiwać ogromne ilości danych, stosując różne warunki, aby otrzymać dokładnie to, czego szukamy. Zrozumienie i umiejętne wykorzystanie takich zapytań jest kluczowe w pracy z bazami danych. Pamiętaj, że SQL pozwala nie tylko na pobieranie danych, ale również na ich modyfikację, usuwanie oraz dodawanie nowych rekordów do bazy. Spróbuj teraz zastosować swoją wiedzę w praktycznych zadaniach!

Pytanie 12

Przedstawiony w ramce fragment kwerendy SQL ma za zadanie wybrać

SELECT COUNT(wartosc) FROM ...
A. liczbę wierszy.
B. średnią w kolumnie wartosc.
C. liczbę kolumn.
D. sumę w kolumnie wartosc.
Funkcja COUNT() w SQL bardzo często bywa mylona z innymi funkcjami agregującymi, takimi jak SUM() czy AVG(), i stąd biorą się nietrafione interpretacje tego typu zapytań. Trzeba jasno podkreślić: COUNT(wartosc) nie zwraca ani liczby kolumn, ani sumy wartości, ani średniej. Zlicza wiersze, w których dana kolumna ma ustawioną jakąś wartość, czyli nie jest NULL. To jest operacja na rekordach, a nie na strukturze tabeli. Liczba kolumn w tabeli jest cechą schematu bazy danych i jej się nie wyciąga funkcją COUNT() w taki sposób; do tego służą metadane systemowe, np. odpowiednie zapytania do information_schema w systemach zgodnych ze standardem SQL. Mylenie COUNT z operacjami na strukturze wynika często z intuicji, że „liczę coś w SELECT, więc może kolumny”, ale SQL tak nie działa. Z kolei oczekiwanie, że COUNT(wartosc) policzy sumę lub średnią, bierze się z mieszania pojęć między różnymi funkcjami agregującymi. SUM(wartosc) faktycznie dodaje wszystkie nie-NULL wartości w danej kolumnie, a AVG(wartosc) oblicza z nich średnią arytmetyczną. COUNT natomiast w ogóle nie zagląda do treści liczbowej czy tekstowej, interesuje go tylko, czy wiersz ma wartość, czy ma NULL. Typowy błąd myślowy polega na tym, że ktoś widzi w SELECT jakąś nazwę funkcji i kolumnę w nawiasie i automatycznie zakłada, że wynik będzie „jakimś przetworzeniem” danych – sumą, średnią, czymś w tym stylu. Tymczasem w SQL każda funkcja ma bardzo precyzyjnie zdefiniowane działanie i trzeba znać różnice. Dobre praktyki mówią, żeby zawsze dobierać funkcję agregującą do konkretnego pytania biznesowego: jeśli pytasz „ile rekordów?”, używasz COUNT; jeśli „jaka jest łączna wartość?”, wtedy SUM; jeśli „jaka jest przeciętna wartość?”, wtedy AVG. Warto też pamiętać o różnicy między COUNT(*) a COUNT(kolumna), bo to kolejna pułapka: pierwsze liczy wszystkie wiersze, nawet z NULL-ami, drugie tylko te z uzupełnioną wartością. Świadome korzystanie z tych funkcji to podstawa rzetelnej analizy danych w każdej profesjonalnej bazie.

Pytanie 13

Jaki jest cel funkcji napisanej w PHP?

$zapytanie = mysql_query("SELECT * FROM napisy");
A. uzyskanie danych z bazy danych
B. zmianę hasła do bazy danych
C. ochronę bazy danych
D. nawiązanie połączenia z bazą danych
Podana funkcja w języku PHP demonstruje zastosowanie polecenia SQL SELECT które jest używane do pobierania danych z bazy danych MySQL. Funkcja mysql_query jest używana do wykonywania zapytań SQL w kontekście bazy danych MySQL. W tym przypadku zapytanie SQL SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. W praktyce wybór danych przy użyciu komendy SELECT jest kluczowy w aplikacjach PHP które działają z bazami danych ponieważ pozwala na dynamiczne generowanie zawartości strony internetowej w oparciu o informacje przechowywane w bazie. Ważne jest przestrzeganie najlepszych praktyk takich jak użycie funkcji mysqli_query czy PDO w nowych aplikacjach PHP w celu zapewnienia bezpieczeństwa i wydajności ponieważ mysql_query jest przestarzałe. Dodatkowo należy stosować techniki zabezpieczające przed SQL injection takie jak przygotowane zapytania co zwiększa bezpieczeństwo aplikacji

Pytanie 14

Aby zapewnić integralność danych w bazie programu Microsoft Access, należy zastosować

A. defragmentację bazy
B. więzy integralności
C. kwerendę aktualizującą
D. archiwizację bazy
Rozważając archiwizację bazy, defragmentację bazy oraz kwerendy aktualizujące jako strategie zapewnienia spójności danych, można zauważyć istotne różnice w ich funkcjach i zastosowaniach. Archiwizacja bazy danych polega na przeniesieniu starych lub nieaktywnych danych do archiwum, co ma na celu zwolnienie przestrzeni oraz poprawę wydajności systemu. Choć archiwizacja może pośrednio wpłynąć na spójność danych poprzez usunięcie danych nieaktualnych, nie jest to bezpośrednia metoda zapewnienia integralności danych w momencie ich wprowadzania czy modyfikacji. Defragmentacja bazy danych to proces mający na celu uporządkowanie fizycznego rozmieszczenia danych na dysku, co poprawia szybkość dostępu do danych. Mimo że poprawia to wydajność systemu, defragmentacja nie ma wpływu na reguły dotyczące spójności i poprawności danych. Z kolei kwerendy aktualizujące służą do modyfikacji istniejących danych w bazie, jednak same w sobie nie ustanawiają zasad dotyczących integralności danych. Użytkownicy mogą mylnie sądzić, że te procesy mogą zastąpić więzy integralności, co jest nieprawdziwe, ponieważ więzy te są kluczowe dla utrzymania logicznej spójności i poprawności danych w bazie. Właściwe podejście do zarządzania danymi wymaga zastosowania więzów integralności jako fundamentu, na którym opiera się cała struktura bazy danych, zapewniając jej niezawodność i spójność.

Pytanie 15

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_id = Zainteresowania.id FROM Osoby, Zainteresowania;
B. SELECT imie, hobby FROM Osoby JOIN Zainteresowania ON Osoby.Zainteresowania_id = Zainteresowania.id;
C. SELECT imie, hobby FROM Osoby, Zainteresowania WHERE Osoby.id = Zainteresowania.id;
D. SELECT imie, hobby FROM Osoby, Zainteresowania;
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 16

Aby wyszukać w tabeli Pracownicy tylko te nazwiska, które kończą się na literę "i", można zastosować kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%"
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i"
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%"
Fajnie, że wybrałeś tę kwerendę SQL: 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i";'. To jest naprawdę dobra robota, bo zastosowałeś operator LIKE w odpowiedni sposób. Wzorzec '%i' pozwala na wyszukiwanie nazwisk kończących się na literę 'i'. Ten symbol '%' to taki wildcard, który mówi SQL, żeby szukał czegokolwiek przed 'i', nawet niczego. To jest mega przydatne w codziennej pracy z bazami danych, bo często musimy wyciągać konkretne dane, żeby coś załatwić. Na przykład, jeśli chcemy stworzyć listę pracowników, którzy mają nazwiska kończące się na 'i', to ta kwerenda będzie strzałem w dziesiątkę. Pamiętaj, że dobrze jest testować swoje kwerendy na próbnych danych, żeby mieć pewność, że wyniki są takie, jakie chcemy.

Pytanie 17

Jakie są nazwy standardowych instrukcji w języku SQL, które dotyczą wykonywania operacji na danych w SQL DML (np.: dodawanie danych do bazy, usuwanie, wprowadzanie zmian w danych)?

A. SELECT, SELECT INTO
B. DENY, GRANT, REVOKE
C. DELETE, INSERT, UPDATE
D. ALTER, CREATE, DROP
Odpowiedź DELETE, INSERT, UPDATE jest całkiem trafna, bo te polecenia są częścią DML, czyli Data Manipulation Language, w SQL-u. DML to zestaw komend do zarządzania danymi w bazach danych. Moim zdaniem, DELETE jest kluczowe, bo pozwala na usuwanie zbędnych rekordów, co pomaga utrzymać bazę w dobrym stanie. Z kolei INSERT to coś, co używamy do dodawania nowych wpisów do tabeli, co jest mega ważne, jeśli chodzi o zbieranie danych potrzebnych aplikacji. A UPDATE? No to już absolutnie istotna sprawa, bo z jego pomocą zmieniamy dane, które już są w bazie, co przydaje się na przykład przy aktualizacji informacji o użytkownikach czy produktach. Przykłady? Można użyć INSERT, żeby dodać nowego użytkownika do tabeli 'Users', DELETE, żeby pozbyć się nieaktywnych kont, a UPDATE, żeby zmienić e-mail jakiegoś użytkownika. Dobrym pomysłem jest też korzystanie z transakcji, bo zapewnia to lepszą integralność danych podczas operacji DML.

Pytanie 18

Aby posortować listę uczniów według daty urodzenia w bazie danych, jakie polecenie należy zastosować?

A. SELECT imie,nazwisko,klasa from uczniowie order by nazwisko
B. SELECT imie,nazwisko,klasa from uczniowie order by rok_urodzenia
C. SELECT imie,nazwisko,klasa from uczniowie where rok_urodzenia = 1994
D. SELECT imie,nazwisko,klasa from uczniowie group by rok_urodzenia
Aby uporządkować listę uczniów według roku urodzenia w bazie danych, należy zastosować polecenie SQL 'SELECT imie,nazwisko,klasa from uczniowie order by rok_urodzenia'. Klauzula 'ORDER BY' jest kluczowa w SQL, ponieważ pozwala na sortowanie wyników zapytania według określonej kolumny, w tym przypadku 'rok_urodzenia'. Użycie tej klauzuli zapewnia, że wyniki są prezentowane w porządku rosnącym lub malejącym, co jest szczególnie przydatne, gdy chcemy analizować dane w kontekście czasowym. Na przykład, jeżeli mamy tabelę uczniów z kolumnami 'imie', 'nazwisko', 'klasa' oraz 'rok_urodzenia', użycie tego polecenia umożliwi nam nie tylko zobaczenie imion i nazwisk uczniów, ale również ich uporządkowanie według daty urodzenia. Zgodnie z normami SQL, jest to standardowa metoda sortowania danych, która zwiększa przejrzystość i użyteczność wyników. Przykładowo, jeśli w tabeli są uczniowie urodzeni w różnych latach, dzięki temu zapytaniu, najpierw zobaczymy uczniów urodzonych w najwcześniejszych latach, co może być istotne przy podejmowaniu decyzji organizacyjnych w szkole.

Pytanie 19

Pole autor w tabeli ksiazka jest:

CREATE TABLE ksiazka (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
tytul VARCHAR(200),
autor SMALLINT UNSIGNED NOT NULL,
CONSTRAINT `dane` FOREIGN KEY (autor) REFERENCES autorzy(id)
);
A. polem typu tekstowego zawierającym informacje o autorze
B. polem wykorzystanym w relacji z tabelą dane
C. kluczem obcym związanym z tabelą autorzy
D. kluczem podstawowym tabeli ksiazka
Wybór odpowiedzi wskazującej, że pole autor jest kluczem głównym tabeli ksiazka jest błędny, ponieważ klucz główny jest unikalnym identyfikatorem każdego rekordu w tabeli, a w tym przypadku pole id pełni tę rolę. Klucz główny zapewnia, że każdy rekord w tabeli jest jednoznacznie identyfikowalny, co jest kluczowe dla integralności danych. Z kolei klucz obcy, jak w tym przypadku, odnosi się do innej tabeli, co nie ma związku z rolą klucza głównego. Kolejny błąd polega na stwierdzeniu, że pole autor jest polem typu napisowego. W rzeczywistości, pole autor jest zdefiniowane jako SMALLINT UNSIGNED, co oznacza, że przechowuje liczby całkowite, a nie tekst. Ta nieścisłość jest kluczowa, ponieważ typ danych wpływa na sposób, w jaki dane są przechowywane i przetwarzane. Ponadto, błędne jest również podanie, że pole autor jest polem wykorzystanym przy relacji z tabelą dane, ponieważ nie istnieje taka tabela w podanym kontekście. W tym przypadku, odniesienie do tabeli dane jest mylące i nieadekwatne do struktury bazy danych. Przykłady dobrych praktyk w projektowaniu schematów baz danych obejmują poprawne użycie typów danych oraz stosowanie kluczy obcych do zabezpieczenia relacji między tabelami, co jest kluczowe dla efektywnej i bezpiecznej architektury bazy danych.

Pytanie 20

Polecenie DBCC CHECKDB 'sklepAGD', Repair_fast) w systemie MS SQL Server

A. potwierdzi spójność bazy danych i utworzy kopię zapasową
B. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
C. zweryfikuje spójność danej tabeli
D. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
Polecenie DBCC CHECKDB 'sklepAGD' z opcją Repair_fast jest kluczowym narzędziem w zarządzaniu bazami danych w MS SQL Server, które służy do sprawdzenia integralności bazy danych oraz do naprawy uszkodzonych indeksów. Gdy podczas przetwarzania danych wykryte zostaną jakiekolwiek błędy spójności, DBCC CHECKDB generuje szczegółowy raport, który pomaga administratorowi w zrozumieniu stanu bazy. W kontekście zastosowań praktycznych, regularne korzystanie z DBCC CHECKDB jest zalecane jako część strategii utrzymania bazy danych, zwłaszcza w środowiskach produkcyjnych. Właściwe zarządzanie bazą danych, w tym regularne sprawdzanie jej spójności, może zapobiec poważnym awariom, które mogłyby prowadzić do utraty danych. Dobre praktyki branżowe sugerują, aby polecenie to było wykonywane w oknach konserwacyjnych, aby minimalizować wpływ na wydajność systemu, a także aby backups były wykonywane przed rozpoczęciem jakichkolwiek operacji naprawczych. Ponadto, zrozumienie działania DBCC CHECKDB i jego opcji, takich jak Repair_fast, jest niezbędne dla każdego administratora baz danych, aby skutecznie zarządzać problemami związanymi z integralnością danych.

Pytanie 21

Którą kwerendę należy wykonać, aby zaktualizować wszystkim rekordom z tabeli pracownicy wartość w kolumnie plec na K, przyjmując na potrzeby zadania, że każde imię żeńskie kończy się literą a?

A. ALTER TABLE pracownicy SET plec='K' WHERE imie='%a';
B. UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';
C. ALTER TABLE pracownicy SET plec='K' WHERE imie LIKE '%a';
D. UPDATE pracownicy SET plec='K' WHERE imie='%a';
Poprawna jest kwerenda: UPDATE pracownicy SET plec='K' WHERE imie LIKE '%a';. Po pierwsze użyty jest właściwy typ polecenia SQL do modyfikacji danych w tabeli. Do zmiany wartości w istniejących rekordach zawsze używamy instrukcji UPDATE, a nie ALTER TABLE. ALTER TABLE służy do zmiany struktury tabeli (np. dodanie kolumny, zmiana typu danych, usunięcie kolumny), a nie do operowania na danych w wierszach. To jest taki podstawowy podział: DDL (Data Definition Language) – np. ALTER TABLE, CREATE, DROP – do definicji struktury; DML (Data Manipulation Language) – np. SELECT, INSERT, UPDATE, DELETE – do pracy na rekordach. W tym zadaniu ewidentnie potrzebna jest operacja DML. Druga ważna rzecz to warunek WHERE imie LIKE '%a'. Operator LIKE służy do porównywania tekstów z wykorzystaniem wzorców. Symbol % oznacza „dowolny ciąg znaków (również pusty)”, więc wzorzec '%a' oznacza: dowolny ciąg znaków zakończony literą „a”. Dokładnie o to chodzi w zadaniu: przyjmujemy założenie, że każde imię żeńskie kończy się na „a”, więc chcemy zaktualizować wszystkie rekordy, gdzie kolumna imie kończy się na „a”. Gdybyśmy chcieli szukać imion zaczynających się na „A”, używalibyśmy 'A%'. Moim zdaniem warto zapamiętać ten schemat, bo w praktyce bardzo często stosuje się LIKE do prostych filtrów tekstowych: wyszukiwanie użytkowników po fragmencie loginu, znajdowanie produktów po części nazwy, filtrowanie adresów e-mail po domenie itp. Przykład: UPDATE klienci SET status='VIP' WHERE nazwisko LIKE 'Nowak%'; – zaktualizuje wszystkich Nowaków. Albo: UPDATE produkty SET promocja=1 WHERE nazwa LIKE '%kabel%'; – zaznaczy jako promocyjne wszystkie produkty, których nazwa zawiera słowo „kabel”. W dobrych praktykach zaleca się uważać z aktualizacjami bez WHERE, bo wtedy zmieniamy wszystkie rekordy w tabeli. Tutaj warunek LIKE '%a' pełni rolę bezpiecznego filtra. W wielu systemach bazodanowych warto też pamiętać, że domyślnie porównania tekstowe mogą być niewrażliwe na wielkość liter (collation), więc 'a' i 'A' mogą być traktowane tak samo, ale to już zależy od konfiguracji bazy. W kontekście egzaminów zawodowych i pracy z SQL-em takie zadanie to klasyk – łączy poprawne użycie UPDATE z właściwym użyciem LIKE i symbolu % jako wieloznakowego wildcarda.

Pytanie 22

idnazwiskoimiedata_urubezpieczony
✏️ Edytuj📋 Kopiuj⛔ Usuń1KowalskiJan2005-12-181
✏️ Edytuj📋 Kopiuj⛔ Usuń2NowakAdam2005-10-101
✏️ Edytuj📋 Kopiuj⛔ Usuń3WisniewskiAntoni2005-06-140
✏️ Edytuj📋 Kopiuj⛔ Usuń4LipskaAnna2006-04-121
✏️ Edytuj📋 Kopiuj⛔ Usuń5TomaszewskiPawel2006-07-110
✏️ Edytuj📋 Kopiuj⛔ Usuń6KostarzJulia2006-03-201
✏️ Edytuj📋 Kopiuj⛔ Usuń7BorewiczPatryk2007-06-211
✏️ Edytuj📋 Kopiuj⛔ Usuń8KoperskiBartlomiej2001-09-100
Które zapytanie w języku MySQL usunie z tabeli uczniowie uczniów urodzonych w czerwcu?
A. DROP FROM `uczniowie` WHERE data_ur == #-06-#
B. DELETE FROM `uczniowie` WHERE data_ur LIKE "?-06-?"
C. DROP FROM `uczniowie` WHERE data_ur LIKE "06"
D. DELETE FROM `uczniowie` WHERE data_ur LIKE "%-06-%"
Poprawnie wskazane zapytanie korzysta z instrukcji DELETE oraz operatora LIKE z odpowiednim wzorcem: "%-06-%". W kolumnie data_ur mamy daty zapisane w standardowym formacie ISO: RRRR-MM-DD, np. 2005-06-14. W takim formacie miesiąc zawsze znajduje się na pozycjach 6–7 i jest zapisany jako dwucyfrowa liczba z wiodącym zerem. Wzorzec "%-06-%" oznacza: dowolny ciąg znaków przed, dokładnie „-06-” w środku, oraz dowolny ciąg znaków po. Dzięki temu trafiamy w wszystkie daty, gdzie miesiąc to 06, czyli czerwiec, niezależnie od roku i dnia. To jest bardzo praktyczne podejście, gdy przechowujemy datę w typie DATE i chcemy filtrować po miesiącu bez dodatkowych funkcji. W MySQL operator LIKE działa na wartościach tekstowych, ale typ DATE jest w takim kontekście automatycznie konwertowany do postaci tekstowej w formacie 'YYYY-MM-DD', więc wzorzec z myślnikami jest jak najbardziej poprawny. W realnych projektach częściej stosuje się funkcje DATE_FORMAT albo MONTH(data_ur) = 6, bo to jest czytelniejsze i mniej podatne na pomyłki w zapisie wzorca. Jednak w tym zadaniu celem jest zrozumienie, jak działa LIKE, wildcard „%” oraz jak wygląda rzeczywisty format przechowywania daty. Dobrą praktyką jest też zawsze używanie pojedynczych cudzysłowów w SQL (np. '%-06-%'), choć MySQL akceptuje też podwójne w pewnych konfiguracjach. Moim zdaniem warto zapamiętać ten sposób myślenia: patrzysz na rzeczywisty zapis danych w kolumnie i dopasowujesz wzorzec tak, żeby trafić dokładnie ten fragment, który Cię interesuje (tu: '-06-').

Pytanie 23

W SQL uprawnienie SELECT przydzielone za pomocą polecenia GRANT umożliwia użytkownikowi bazy danych

A. zmienianie danych w tabeli
B. uzyskiwanie danych z tabeli
C. usuwanie danych z tabeli
D. generowanie tabeli
Przywilej SELECT w języku SQL, przyznawany przy użyciu polecenia GRANT, umożliwia użytkownikowi baz danych na wykonywanie operacji odczytu danych z określonych tabel. Oznacza to, że użytkownik może pobierać informacje zapisane w tabelach bazy danych, co jest kluczowe dla większości aplikacji korzystających z danych. Na przykład, w kontekście aplikacji analitycznych, dostęp do danych pozwala na generowanie raportów i analiz, które wspierają podejmowanie decyzji. W praktyce, przyznanie przywileju SELECT jest standardową procedurą zabezpieczającą, ponieważ pozwala na kontrolowanie, którzy użytkownicy mogą zobaczyć dane w bazie, minimalizując ryzyko nieautoryzowanego dostępu. Warto również zaznaczyć, że w bazach danych, takich jak MySQL, PostgreSQL czy Oracle, przywileje są zarządzane w sposób hierarchiczny, co oznacza, że użytkownik z przywilejem SELECT może dodatkowo dziedziczyć inne przywileje, co zwiększa elastyczność zarządzania dostępem.

Pytanie 24

Element lub zestaw elementów, który jednoznacznie identyfikuje każdy pojedynczy rekord w tabeli bazy danych, nazywamy kluczem

A. przestawny
B. inkrementacyjny
C. obcy
D. podstawowy
Klucz podstawowy (ang. primary key) jest to pole lub zbiór pól w tabeli bazy danych, które jednoznacznie identyfikują każdy row w tej tabeli. Klucz podstawowy nie może zawierać wartości NULL i musi być unikalny dla każdego rekordu, co zapewnia integralność danych w bazie. Przykładem klucza podstawowego może być identyfikator użytkownika w tabeli użytkowników, gdzie każdy użytkownik ma unikalny numer ID. Zgodnie z normami projektowania baz danych, klucz podstawowy powinien być prosty, a jego wartość nie powinna się zmieniać w czasie, aby zachować stabilność odniesień do tego rekordu w innych tabelach. W dobrych praktykach projektowania baz danych dla kluczy podstawowych często stosuje się typy danych takie jak INTEGER z automatycznym inkrementowaniem, co umożliwia wygodne dodawanie nowych rekordów bez ryzyka kolizji wartości. Używanie kluczy podstawowych ułatwia również tworzenie relacji z innymi tabelami, znanych jako klucze obce, co jest fundamentem relacyjnych baz danych.

Pytanie 25

Utworzono bazę danych zawierającą tabelę podzespoły, która składa się z pól: model, producent, typ, cena. Aby uzyskać listę wszystkich modeli pamięci RAM od firmy Kingston uporządkowaną według ceny, zaczynając od najniższej, należy wykorzystać zapytanie:

A. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena DESC
B. SELECT model FROM podzespoly WHERE typ="RAM" OR producent="Kingston" ORDER BY cena DESC
C. SELECT model FROM producent WHERE typ="RAM" OR producent="Kingston" ORDER BY podzespoly ASC
D. SELECT model FROM podzespoly WHERE typ="RAM" AND producent="Kingston" ORDER BY cena ASC
Niepoprawne odpowiedzi bazują na zrozumieniu logiki zapytań SQL, ale zawierają istotne błędy w składni i koncepcji dzielenia danych. W pierwszej opcji, użycie operatora OR w klauzuli WHERE prowadzi do wyników, które mogą obejmować modele innych typów pamięci, ponieważ filtruje dane na podstawie jednego z dwóch warunków, co jest sprzeczne z zamiarem uzyskania precyzyjnych wyników tylko dla pamięci RAM od producenta Kingston. Taki błąd w myśleniu może wynikać z mylnego przekonania, że użycie operatora OR zawsze jest lepsze dla zwiększenia ilości danych, co w rzeczywistości prowadzi do zafałszowania wyników. W drugiej odpowiedzi, mimo że użycie operatora AND jest poprawne, sortowanie wyników w kolejności malejącej (ORDER BY cena DESC) nie odpowiada wymaganiu wyświetlenia najtańszej pamięci jako pierwszej, co też czyni tę odpowiedź niewłaściwą. Ostatnia opcja błędnie odnosi się do tabeli 'producent', co jest oczywistym naruszeniem zasad normalizacji bazy danych, ponieważ zapytanie powinno odnosić się do tabeli 'podzespoly', gdzie znajdują się odpowiednie dane. Tego rodzaju błędy mogą prowadzić do nieefektywnego wykorzystania zapytań SQL, co w praktyce będzie skutkować nieprawidłowymi wynikami w aplikacjach opartych na bazach danych, co obniża jakość i wydajność aplikacji. Zrozumienie tych koncepcji jest kluczowe dla prawidłowego stosowania SQL w codziennych zastosowaniach związanych z zarządzaniem danymi.

Pytanie 26

Kiedy należy użyć kwerendy SELECT DISTINCT, aby wybrać rekordy?

A. pogrupowane.
B. uporządkowane w kolejności malejącej lub rosnącej.
C. tak, aby w wskazanej kolumnie nie powtarzały się wartości.
D. obecne w bazie tylko raz.
Kwerenda SELECT DISTINCT jest używana w SQL do zwracania unikalnych rekordów z określonej kolumny lub kolumn. Głównym celem tej kwerendy jest eliminacja duplikatów z wyników zapytania, co jest szczególnie przydatne w sytuacjach, gdy interesuje nas uzyskanie listy unikalnych wartości, na przykład nazwisk pracowników w firmie, których można znaleźć w tabeli „Pracownicy”. Dzięki zastosowaniu DISTINCT, wynik zapytania dostarczy tylko różne nazwiska, eliminując powtarzające się wystąpienia. W kontekście dobrych praktyk w projektowaniu baz danych, korzystanie z DISTINCT pozwala na efektywniejsze analizowanie danych oraz lepsze zrozumienie struktury informacji w tabelach. Użycie SELECT DISTINCT może również pomóc w optymalizacji zapytań, szczególnie w rozbudowanych bazach danych, gdzie występowanie duplikatów może prowadzić do zafałszowania wyników analiz. Przykład praktyczny to zapytanie: SELECT DISTINCT kraj FROM Klienci, które zwróci wszystkie różne kraje, w których znajdują się klienci, co jest kluczowe w analizach geolokalizacyjnych.

Pytanie 27

W systemach bazodanowych, aby przedstawić dane, które spełniają określone kryteria, należy stworzyć

A. makropolecenie
B. raport
C. formularz
D. relację
Raport w kontekście baz danych to coś, co naprawdę pomaga w uporządkowanej prezentacji danych. Dzięki niemu możemy pokazać informacje w taki sposób, żeby było to zrozumiałe i zgodne z tym, czego potrzebujemy. Raporty to świetne narzędzie do zbierania danych, ich analizy i wizualizacji, co jest bardzo ważne w biznesie. Na przykład, można za ich pomocą stworzyć zestawienie sprzedaży za dany okres, porównać finanse różnych działów firmy albo sprawdzić, jak skuteczne były kampanie marketingowe. W praktyce często korzysta się z takich raportów w programach jak Microsoft Access, gdzie można wybrać źródło danych, odpowiednie pola i ustawić filtry. To wszystko po to, żeby stworzyć dokument, który jasno przedstawia wyniki analizy. Warto pamiętać, że tworzenie raportów powinno opierać się na dobrych zasadach, takich jak czytelność i estetyka, a także dostosowanie do potrzeb użytkownika, bo to naprawdę się liczy, jeśli chodzi o UX.

Pytanie 28

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Błąd połączenia z serwerem SQL
B. Rekord został pomyślnie dodany do bazy
C. Wybrana baza danych nie istnieje
D. Błąd w trakcie przetwarzania zapytania SQL
Poprawna odpowiedź 'Błąd połączenia z serwerem SQL' jest właściwa, ponieważ funkcja mysql_connect() służy do nawiązywania połączenia z serwerem bazy danych MySQL. Jeśli połączenie nie powiedzie się, zwraca false. W takiej sytuacji należy poinformować użytkownika o nieudanym połączeniu. Jest to kluczowe w debugowaniu i zapewnianiu użytkownikowi zrozumiałych komunikatów błędów. W praktyce, połączenie z bazą danych jest podstawowym krokiem w wielu aplikacjach internetowych, a jego poprawna obsługa to standardowa praktyka branżowa. Współczesne podejście wymaga także użycia rozszerzenia mysqli lub PDO zamiast przestarzałej funkcji mysql_connect(). Jest to zalecane ze względu na lepsze wsparcie bezpieczeństwa i wydajności. Użycie funkcji mysqli_connect() pozwala na obsługę zarówno błędów połączenia, jak i zapytań SQL w sposób bardziej elastyczny i bezpieczny.

Pytanie 29

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

SELECT COUNT(wartosc) FROM ...
A. suma w kolumnie wartosc
B. średniej wartości tabeli
C. średniej w kolumnie wartosc
D. liczby rekordów
Komenda SELECT COUNT w języku SQL jest używana do zwracania liczby wierszy w rezultacie zapytania. Użycie funkcji COUNT z nazwą kolumny, jak w przykładzie SELECT COUNT(wartosc), pozwala policzyć wszystkie niepuste wartości w danej kolumnie wartosc w tabeli. Jest to przydatne w przypadkach, gdy chcemy zrozumieć, ile danych spełnia określone kryteria, lub gdy interesuje nas liczba wierszy zawierających wartości w konkretnej kolumnie. Funkcja COUNT jest jedną z podstawowych funkcji agregujących w SQL, co oznacza, że podsumowuje dane w określony sposób. Stosowanie tej funkcji jest zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie często potrzebujemy analizować dane w sposób ilościowy. Przykładowo, jeśli prowadzimy bazę danych klientów, możemy użyć SELECT COUNT(id) FROM klienci, aby dowiedzieć się, ilu mamy zarejestrowanych klientów. Ta funkcja jest także kluczowym elementem w optymalizacji zapytań, ponieważ pozwala na szybkie uzyskanie informacji o liczbie rekordów bez konieczności przetwarzania wszystkich danych z tabeli. Zrozumienie działania COUNT i jego zastosowań jest kluczowe dla efektywnego przetwarzania danych i tworzenia wydajnych zapytań w języku SQL.

Pytanie 30

Jakie zapytanie SQL należy użyć, aby zmienić strukturę już istniejącej tabeli?

A. UPDATE
B. CREATE TABLE
C. INSERT INTO
D. ALTER TABLE
Odpowiedź 'ALTER TABLE' jest poprawna, ponieważ to polecenie SQL służy do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki 'ALTER TABLE' możemy dodawać nowe kolumny, modyfikować istniejące kolumny (np. zmieniając ich typ danych czy nazwę), a także usuwać kolumny, które nie są już potrzebne. Przykładowe zastosowanie polecenia to dodanie nowej kolumny do tabeli pracowników: 'ALTER TABLE pracownicy ADD COLUMN wiek INT;'. Ponadto, 'ALTER TABLE' pozwala na wprowadzanie ograniczeń, takich jak klucze obce czy unikalności, co jest kluczowe w kontekście integracji danych i zapewnienia ich spójności. W praktyce, odpowiednie zarządzanie strukturą tabel jest fundamentalnym aspektem utrzymania bazy danych w dobrej kondycji. Należy pamiętać, aby stosować te zmiany zgodnie z najlepszymi praktykami, takimi jak testowanie zapytań w środowisku deweloperskim przed ich wdrożeniem w produkcji, co minimalizuje ryzyko błędów i strat danych.

Pytanie 31

W bazach danych typ DECIMAL jest przeznaczony do przechowywania

A. liczb zapisanych w systemie binarnym.
B. liczb rzeczywistych stałoprzecinkowych.
C. liczb rzeczywistych zmiennoprzecinkowych.
D. danych napisowych o określonej długości.
Poprawnie – typ DECIMAL w bazach danych jest przeznaczony do przechowywania liczb rzeczywistych stałoprzecinkowych, czyli takich, gdzie liczba miejsc po przecinku jest z góry określona i zawsze dokładnie reprezentowana. W definicji kolumny podajemy zwykle dwa parametry, np. DECIMAL(10,2), gdzie 10 to całkowita liczba cyfr, a 2 to liczba cyfr po przecinku. Dzięki temu baza wie, że np. wartość 1234,50 będzie przechowywana bez zaokrągleń binarnych, które występują w typach zmiennoprzecinkowych (FLOAT, DOUBLE). To jest kluczowe w zastosowaniach finansowych: kwoty pieniędzy, stawki VAT, kursy walut, limity kredytowe, rozliczenia magazynowe. W takich miejscach nawet jeden grosz różnicy przy dużej liczbie operacji potrafi narobić bałaganu. Moim zdaniem w projektach produkcyjnych dobra praktyka jest taka, że wszystko, co ma sens biznesowy jako „kwota”, „saldo”, „cena jednostkowa”, „rabat procentowy z dokładnością do dwóch lub czterech miejsc” trzymamy właśnie w DECIMAL/NUMERIC, a nie w FLOAT. Standard SQL definiuje typy DECIMAL i NUMERIC jako typy dokładne (exact numeric), co oznacza, że operacje arytmetyczne na nich są przewidywalne i nie generują dziwnych ogonków typu 1.199999999 zamiast 1.2. W wielu silnikach (MySQL, PostgreSQL, SQL Server) DECIMAL jest implementowany wewnętrznie jako zapis dziesiętny, często podobny do „dużej liczby całkowitej” z wirtualnym przecinkiem w określonym miejscu. Dobrą praktyką jest też dobór precyzji z zapasem, np. DECIMAL(18,4) dla kwot w systemach księgowych, żeby uniknąć przepełnień przy większych sumach. W praktyce webowej, gdy aplikacja PHP czy JavaScript komunikuje się z bazą, to właśnie typ DECIMAL pozwala zachować spójność między tym, co widzi użytkownik na formularzu, a tym, co finalnie zapisuje się w tabeli – bez ukrytych błędów zaokrągleń.

Pytanie 32

Jaką cechę pola w tabeli należy ustalić, aby pole mogło przyjmować wyłącznie dane składające się z cyfr?

Ogólne
Rozmiar pola255
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. Wartość domyślną
B. Maskę wprowadzania
C. Tagi inteligentne
D. Regułę sprawdzania poprawności
Maska wprowadzania to coś, co bardzo ułatwia życie, zwłaszcza w systemach baz danych i aplikacjach. Dzięki niej możemy dokładnie określić, jakie znaki mogą być wpisywane w dane pole, co jest szczególnie przydatne, gdy potrzebujemy tylko cyfr. Wyobraź sobie, że musisz wpisać numer telefonu – to właśnie wtedy maska pokazuje, że możesz wpisać tylko cyfry i może nawet dodać myślniki dla lepszej estetyki. To dobry sposób na ograniczenie błędów, bo nikt nie będzie miał okna do wpisania literek, których nie powinno być. W praktyce, jeżeli projektujesz coś jak formularze online, to maseczki wprowadzania są bardzo fajne, bo zabezpieczają dane przed wprowadzeniem czegokolwiek, co nie pasuje. Możesz je łatwo zaimplementować w językach programowania jak C# czy JavaScript przy pomocy wyrażeń regularnych albo gotowych komponentów UI. Dobrze zaprojektowane maski wprowadzania pomagają też utrzymać porządek w bazach danych i zgodność z wymaganiami, które mamy na myśli.

Pytanie 33

Zawarta baza danych składa się z trzech tabel oraz dwóch relacji. Aby uzyskać informacje o wszystkich lekarzach przypisanych do wybranego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.Recepty_id
B. Lekarze.id = Recepty.id
C. Lekarze.id = Pacjenci.Lekarze_id
D. Lekarze.id = Pacjenci.id
Odpowiedź Lekarze.id = Pacjenci.Lekarze_id jest poprawna, ponieważ w bazach danych relacyjne połączenie między tabelami jest realizowane przez klucze obce. Tabela Pacjenci zawiera kolumnę Lekarze_id, która jest kluczem obcym odnoszącym się do kolumny id w tabeli Lekarze. Dzięki temu połączeniu możemy określić, który lekarz jest przypisany do danego pacjenta. W praktyce oznacza to, że możemy wykonywać zapytania SQL, które łączą te tabele i wyświetlają dane wszystkich lekarzy przypisanych do konkretnego pacjenta. Przykładowe zapytanie SELECT może wyglądać tak SELECT Lekarze.imie Lekarze.nazwisko FROM Pacjenci INNER JOIN Lekarze ON Pacjenci.Lekarze_id = Lekarze.id WHERE Pacjenci.id = [id_pacjenta]. Takie podejście jest zgodne z dobrymi praktykami projektowania baz danych zgodnie z zasadami normalizacji co zwiększa spójność i integralność danych. Poprawne użycie kluczy obcych jest fundamentalne w kontekście zarządzania relacjami między danymi oraz umożliwia przeprowadzanie bardziej złożonych analiz danych z różnych tabel w sposób wydajny i bezpieczny.

Pytanie 34

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

A. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych
B. zarządzanie plikami na dysku
C. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy
D. zarządzanie bezpieczeństwem systemu
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 35

Narzędziem do zarządzania bazą danych wbudowanym w pakiet XAMPP jest

A. SQLite
B. phpMyAdmin
C. MySQL Workbench
D. pgAdmin
phpMyAdmin to popularne narzędzie webowe, które jest częścią pakietu XAMPP, służące do zarządzania bazami danych MySQL. Umożliwia użytkownikom interakcję z bazą danych poprzez intuicyjny interfejs graficzny, co znacznie upraszcza wykonanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel. Dzięki phpMyAdmin można z łatwością zarządzać uprawnieniami użytkowników, importować i eksportować dane, a także wykonywać zapytania SQL bez konieczności korzystania z linii poleceń. To narzędzie jest szczególnie przydatne dla osób, które nie mają doświadczenia w pracy z bazami danych, a jego dostępność w XAMPP czyni go idealnym rozwiązaniem dla programistów webowych i administratorów systemów. W praktyce, phpMyAdmin wspiera wiele standardów, takich jak UTF-8, co zapewnia poprawne przetwarzanie danych w różnych językach. Warto zaznaczyć, że korzystanie z phpMyAdmin jest zgodne z najlepszymi praktykami w zakresie zarządzania bazami danych, ponieważ umożliwia skuteczne monitorowanie i optymalizację wydajności bazy danych.

Pytanie 36

Jakie polecenie wykonane w systemowej konsoli umożliwi przywrócenie bazy danych?

A. mysql -u root -p baza < kopia.sql
B. mysqldump -u root -p baza < kopia.sql
C. mysql -u root -p baza > kopia.sql
D. mysqldump -u root -p baza > kopia.sql
Wszystkie inne odpowiedzi są niepoprawne, ponieważ z użyciem niewłaściwych poleceń z systemu MySQL. Pierwsze z tych poleceń, zamiast przywracać bazę danych, tworzy jej kopię zapasową, co nie odpowiada na zadane pytanie. Użycie 'mysqldump' z parametrami '-u root -p baza > kopia.sql' jest sposobem na eksport danych z bazy do pliku SQL, a nie na ich import. Kolejne polecenie sugeruje zastosowanie 'mysqldump' w kontekście przywracania, co jest również błędne, ponieważ 'mysqldump' jest narzędziem służącym do zrzutów, a nie importu. Z kolei ostatnie polecenie 'mysql -u root -p baza > kopia.sql' ponownie nie wykonuje przywracania, lecz zapisuje dane z bazy danych do pliku, co jest odwrotnością oczekiwanej operacji. W praktyce, błędne zastosowanie tych poleceń może prowadzić do poważnych konsekwencji, takich jak utrata danych czy niewłaściwe zarządzanie bazą danych. Dlatego kluczowe jest zrozumienie roli każdego z narzędzi dostępnych w MySQL oraz ich poprawne zastosowanie w różnych scenariuszach administracyjnych.

Pytanie 37

Dana jest tabela studenci o polach id_albumu, ubezpieczenie. Modyfikacja w kolumnie ubezpieczenie polegająca na zmianie wierszy bez wartości (NULL) na ciąg znaków „brak” zostanie wykonana kwerendą

A. UPDATE studenci SET ubezpieczenie='brak' WHERE ubezpieczenie IS NULL;
B. UPDATE studenci ubezpieczenie IS NULL SET ubezpieczenie='brak';
C. ALTER TABLE studenci MODIFY COLUMN ubezpieczenie='brak' NOT NULL;
D. ALTER TABLE studenci ADD ubezpieczenie='brak' WHERE ubezpieczenie IS NULL;
Prawidłowa kwerenda używa instrukcji UPDATE z klauzulą SET oraz warunkiem w części WHERE: „UPDATE studenci SET ubezpieczenie='brak' WHERE ubezpieczenie IS NULL;”. To dokładnie odpowiada temu, co chcemy zrobić: zaktualizować istniejące rekordy w tabeli, tylko w tych wierszach, gdzie kolumna ubezpieczenie ma wartość NULL. UPDATE służy właśnie do modyfikowania danych w tabeli, a nie do zmiany jej struktury. Kluczowy jest tu warunek WHERE ubezpieczenie IS NULL – bez tego zmienilibyśmy wartość ubezpieczenie na „brak” we wszystkich wierszach, co byłoby poważnym błędem. W SQL porównanie z NULL odbywa się zawsze przez IS NULL lub IS NOT NULL, a nie przez operator =, bo NULL oznacza „brak danych”, a nie konkretną wartość. Moim zdaniem warto zapamiętać ten schemat, bo w praktyce pracy z bazami danych bardzo często trzeba „sprzątać” dane: zastępować wartości NULL jakimiś domyślnymi opisami, np. „nieznany”, „nie dotyczy”, „brak danych”. Przykładowo: UPDATE klienci SET telefon='brak' WHERE telefon IS NULL; albo UPDATE pracownicy SET premia=0 WHERE premia IS NULL;. To jest ten sam wzorzec działania. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym warunkiem WHERE, żeby zobaczyć, które rekordy zostaną zmodyfikowane, zanim puścimy właściwy UPDATE. W projektowaniu baz danych przyjęło się, że UPDATE służy do zmiany zawartości wierszy, a ALTER TABLE do zmiany struktury tabeli (dodawanie kolumn, zmiana typów, kluczy itp.). Mieszanie tych dwóch ról prowadzi potem do dziwnych błędów. W standardowym SQL nie ma możliwości aktualizacji tylko części wierszy poprzez ALTER TABLE, dlatego tutaj jedynym sensownym, poprawnym i zgodnym z dobrymi praktykami rozwiązaniem jest właśnie użycie UPDATE z warunkiem WHERE ubezpieczenie IS NULL.

Pytanie 38

Aby zoptymalizować operacje na bazie danych, należy stworzyć indeksy dla pól, które są często wyszukiwane lub sortowane?

A. utworzyć indeks.
B. dodać więzy integralności.
C. stworzyć osobną tabelę przechowującą tylko te pola.
D. dodać klucz obcy.
Indeksowanie to kluczowy mechanizm optymalizacji wydajności baz danych. Indeksy pozwalają na szybsze wyszukiwanie, sortowanie oraz filtrowanie danych, co znacząco poprawia czas reakcji na zapytania. Kiedy tworzymy indeks na kolumnach, które są często używane w klauzulach WHERE, ORDER BY lub JOIN, silnik bazy danych może szybciej zlokalizować potrzebne dane, minimalizując czas przeszukiwania. Na przykład, w bazie danych o dużej liczbie rekordów, wyszukiwanie konkretnego użytkownika bez indeksu może wymagać przeszukania całej tabeli, co jest czasochłonne. W przypadku dodania indeksu do kolumny 'username', zapytanie SELECT * FROM users WHERE username = 'janek' będzie mogło wykorzystać indeks, aby natychmiastowo znaleźć odpowiedni rekord. Zgodnie z dokumentacją SQL Server i MySQL, indeksowanie jest również zalecane w przypadku kolumn, które są często modyfikowane, ponieważ pozwala na utrzymanie wysokiej wydajności przy dużych zbiorach danych. Indeksy mogą być zarówno unikalne, jak i nieunikalne, a ich odpowiednie zaplanowanie jest kluczowe dla zachowania równowagi między szybkością przetwarzania a wydajnością operacji zapisu. Ostatecznie, optymalizacja bazy danych za pomocą indeksów to niezbędny krok dla każdej aplikacji wymagającej efektywnego zarządzania danymi.

Pytanie 39

Jakie polecenie pozwala na dodanie kolumny zadanie kompletne do tabeli zadania?

A. ALTER TABLE zadania ADD COLUMN zadaniekompletne int
B. ADD COLUMN zadanie kompletne WITH zadania
C. CREATEINDEX zadania ADD COLUMN zadanie_kompletne int
D. INSERT INTO zadania VALUES zadania kompletne
Odpowiedź 'ALTER TABLE zadania ADD COLUMN zadaniekompletne int' jest na pewno trafna. To polecenie ALTER TABLE to taki standard do zmiany struktury tabeli w relacyjnych bazach, jak MySQL czy PostgreSQL. Dzięki temu możemy dodać nową kolumnę do tabeli, co w tym przypadku robimy, dodając 'zadaniekompletne' jako kolumnę typu całkowitego (int). To jest super, gdy chcemy przechowywać liczby, na przykład ile zadań zostało już ukończonych. Warto pamiętać, że dobrze jest, żeby nazwy kolumn były jasne i jednoznaczne, bo to potem bardzo ułatwia pracę z danymi. Przykład: jak mamy tabelę 'zadania' i chcemy widzieć, jak sobie radzą użytkownicy, to dodanie kolumny 'zadaniekompletne' pozwoli nam śledzić, ile rzeczy zostało ukończonych, co pomoże w ocenie efektywności działań. Można też pomyśleć, żeby zamiast liczby używać flagi boolowskiej, ale to już zależy od systemu. Jeśli chcesz dalej rozwijać swoje umiejętności, to warto zajrzeć do dokumentacji SQL różnych baz, żeby lepiej złapać różnice w działaniu.

Pytanie 40

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?

Ilustracja do pytania
A. Maskę wprowadzania
B. Wartość domyślną
C. Regułę sprawdzania poprawności
D. Tagi inteligentne
Maska wprowadzania to opcja pozwalająca na zdefiniowanie wzorca, według którego użytkownicy mogą wprowadzać dane do pola w bazie danych. W przypadku konieczności przyjmowania wyłącznie cyfr, maska wprowadzania może ograniczyć użytkownika do wpisywania numerów, co jest szczególnie przydatne w aplikacjach wymagających precyzyjnego formatu danych, takich jak numery telefonów, kody pocztowe czy numery identyfikacyjne. Maska zapewnia spójność danych oraz minimalizuje ryzyko błędnych wpisów. Przykładowo, maska 0000-000-000 może być użyta do wymuszenia formatu numeru telefonu, gdzie każda liczba 0 reprezentuje wymaganą cyfrę. W branży IT oraz w procesie projektowania systemów bazodanowych, takie rozwiązania przyczyniają się do podniesienia jakości danych oraz upraszczają proces ich przetwarzania. Stosowanie masek wprowadzania jest zgodne z najlepszymi praktykami w dziedzinie zarządzania danymi, które podkreślają znaczenie walidacji danych na poziomie aplikacji oraz baz danych, aby uniknąć nieprawidłowych lub niekompletnych danych w systemie.