Wyniki egzaminu

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

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

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

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

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

Pytanie 2

Do czego służy w PHP funkcja mysqli_select_db()?

A. do wskazania bazy, z której będą pobierane dane
B. do pobrania danych na podstawie zapytania
C. do wskazania tabeli, z której pobierane są dane
D. do nawiązania połączenia z serwerem SQL
Na jednym serwerze MySQL bywa wiele baz, więc po połączeniu trzeba wskazać, z KTÓREJ korzystać - służy do tego mysqli_select_db($polaczenie, "nazwa_bazy"). Zmienia aktywną bazę dla danego połączenia, dzięki czemu kolejne zapytania działają na właściwym zbiorze tabel. Zwykle bazę podaje się już w mysqli_connect(), ale tą funkcją można ją PRZEŁĄCZYĆ w trakcie. Zapamiętaj: „select_db” = wybierz bazę danych.

Pytanie 3

Do czego służy w SQL polecenie ALTER TABLE?

A. do usuwania tabeli z bazy
B. do dodawania tabeli do bazy
C. do modyfikowania danych w rekordach
D. do modyfikowania kolumn (struktury) tabeli
Polecenie ALTER TABLE należy do języka definicji danych (DDL) i służy do MODYFIKOWANIA STRUKTURY istniejącej tabeli - dodawania, usuwania lub zmiany kolumn oraz ograniczeń. Nie zmienia samych danych w wierszach. Dlatego ALTER TABLE służy do modyfikowania kolumn (struktury) tabeli.

Pytanie 4

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. zapytanie
B. zestawienie
C. raport
D. formularz
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 5

Tabela Pracownicy zawiera informacje o zatrudnionych w różnych działach, co jest określone przez pole liczbowe dzial. Z uwagi na to, że zazwyczaj wykonuje się kwerendy jedynie dla działu równego 2, można uprościć zapytania do tej tabeli, tworząc wirtualną tabelę o nazwie Prac_dzial2 przy użyciu zapytania

A. VIEW Prac_dzial2 SELECT FROM Pracownicy WHERE dzial=2
B. CREATE VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
C. CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2
D. VIEW Prac_dzial2 FROM Pracownicy WHERE dzial=2
Odpowiedź 'CREATE VIEW Prac_dzial2 AS SELECT * FROM Pracownicy WHERE dzial=2;' jest poprawna, ponieważ syntaktycznie i semantycznie odnosi się do standardów SQL używanych do tworzenia widoków. Komenda 'CREATE VIEW' służy do zdefiniowania wirtualnej tabeli, która agreguje dane według określonych kryteriów. W tym przypadku, widok 'Prac_dzial2' wyciąga wszystkie rekordy z tabeli 'Pracownicy', które spełniają warunek, że wartość pola 'dzial' wynosi 2. Używanie widoków jest praktyką zalecaną, ponieważ pozwala na uproszczenie złożonych zapytań oraz zabezpiecza przed niepożądanym dostępem do danych. Dzięki temu, użytkownicy mogą łatwiej filtrować dane, co zwiększa wydajność zapytań i poprawia organizację kodu. Widoki są także korzystne w kontekście zarządzania danymi, ponieważ mogą być zaktualizowane, a ich struktura może być zmieniana w zależności od potrzeb użytkownika, co czyni je elastycznym narzędziem w bazach danych.

Pytanie 6

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

A. INSERT INTO
B. UPDATE
C. CREATE TABLE
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 7

Na ilustracji widoczne są dwie tabele. Aby stworzyć relację jeden do wielu, gdzie jeden jest po stronie Klienci, a wiele po stronie Zamowienia, należy

Ilustracja do pytania
A. Utworzyć trzecią tabelę z dwoma kluczami obcymi. Jeden klucz połączyć z ID tabeli Klienci, a drugi z ID tabeli Zamowienia
B. Wprowadzić pole klucza obcego do tabeli Zamowienia i połączyć je z ID tabeli Klienci
C. Wprowadzić pole klucza obcego do tabeli Klienci i połączyć je z ID tabeli Zamowienia
D. Połączyć relacją pola ID z obu tych tabel
Relacja jeden do wielu polega na tym że jedna wartość z jednej tabeli może być związana z wieloma wartościami w innej tabeli W tym przypadku jeden klient może mieć wiele zamówień co oznacza że musimy dodać pole klucza obcego w tabeli Zamowienia które będzie odnosiło się do Klientów Klucz obcy w bazach danych to pole które odwołuje się do klucza głównego w innej tabeli Dobre praktyki projektowania baz danych sugerują aby takie połączenia realizować za pomocą kluczy obcych co pozwala na utrzymanie integralności danych oraz łatwiejsze ich przetwarzanie W praktyce oznacza to że w tabeli Zamowienia dodajemy pole które przechowuje ID z tabeli Klienci Standardy branżowe jak SQL ANSI określają sposób tworzenia takich relacji co zapewnia kompatybilność z większością systemów zarządzania bazami danych Dzięki temu możemy łatwo uzyskać wszystkie zamówienia przypisane do konkretnego klienta co jest funkcjonalnością często wymaganą w aplikacjach biznesowych

Pytanie 8

W bazie danych znajduje się tabela uczniowie, która ma kolumny: imie, nazwisko i klasa. Jakie polecenie SQL należy użyć, aby uzyskać imiona oraz nazwiska uczniów, których nazwiska zaczynają się na literę M?

A. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN 'M%';
B. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN 'M%';
C. SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';
D. SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko='M%';
Poprawne polecenie SQL to 'SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE 'M%';'. Operator LIKE jest kluczowym elementem języka SQL, który pozwala na wyszukiwanie danych zgodnych z określonym wzorem, gdzie '%' oznacza dowolny ciąg znaków. Użycie tego operatora jest zgodne z najlepszymi praktykami w zakresie wyszukiwania danych w relacyjnych bazach danych, umożliwiając elastyczne filtrowanie wyników. W kontekście tego zapytania, operator LIKE skutecznie identyfikuje wszystkie nazwiska, które zaczynają się na literę 'M', co jest szczególnie przydatne w sytuacjach wymagających poszukiwania danych spełniających określone kryteria. Przykładem zastosowania tego zapytania może być generowanie raportów dla nauczycieli, którzy chcą zobaczyć listę uczniów w określonej klasie. Dodatkowo, warto pamiętać, że w przypadku wielu baz danych, operator LIKE jest również wrażliwy na wielkość liter, dlatego warto dostosować zapytanie w zależności od kontekstu, w jakim pracujemy.

Pytanie 9

W SQL, aby w tabeli Towar dodać kolumnę rozmiar typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?

A. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar ADD rozmiar varchar(20)
Odpowiedź 'ALTER TABLE Towar ADD rozmiar varchar(20);' jest poprawna, ponieważ polecenie ALTER TABLE jest używane do modyfikacji struktury istniejącej tabeli. W tym przypadku chcemy dodać nową kolumnę o nazwie 'rozmiar', a typ 'varchar(20)' oznacza, że kolumna ta będzie przechowywać dane tekstowe o maksymalnej długości 20 znaków. Jest to standardowa praktyka w języku SQL, która pozwala na elastyczne zarządzanie danymi w bazach danych. Przykładem zastosowania może być sytuacja, w której w tabeli 'Towar' chcemy przechowywać informacje o rozmiarze odzieży, co pomaga w lepszym zarządzaniu stanem magazynowym. Prawidłowe zweryfikowanie typów kolumn i ich ograniczeń jest kluczowe dla zapewnienia integralności danych. Warto także pamiętać o tym, że operacje na strukturze bazy danych powinny być przeprowadzane z zachowaniem odpowiednich zasad, takich jak wykonywanie kopii zapasowych przed wprowadzeniem zmian oraz testowanie zmian w środowisku deweloperskim przed wdrożeniem ich w środowisku produkcyjnym.

Pytanie 10

Wymień dwa sposoby na zabezpieczenie bazy danych w Microsoft Access.

A. Określenie hasła do otwarcia bazy danych oraz wprowadzenie zabezpieczeń na poziomie użytkownika
B. Wprowadzenie zabezpieczeń na poziomie użytkownika oraz sesji
C. Używanie funkcji anonimowych oraz ustawienie hasła dostępu do bazy danych
D. Zaszyfrowanie pliku bazy danych oraz wysyłanie SMS-ów z kodem autoryzacyjnym
Odpowiedzi sugerujące stosowanie funkcji anonimowych oraz SMS-ów z kodem autoryzującym nie są właściwe w kontekście zabezpieczania bazy danych Microsoft Access. Funkcje anonimowe nie istnieją w standardowym pakiecie Access, co czyni tę koncepcję niepraktyczną i mylącą. W praktyce, anonimowość w systemach baz danych nie jest pożądana, ponieważ uniemożliwia identyfikację użytkowników oraz monitorowanie ich działań, co jest kluczowe dla bezpieczeństwa i zgodności z regulacjami prawnymi, takimi jak RODO. Ponadto, pomysł zabezpieczenia bazy danych za pomocą SMS-ów z kodami autoryzującymi jest stosunkowo nieodpowiedni dla tego typu systemu, ponieważ Microsoft Access nie obsługuje natywnie autoryzacji dwuskładnikowej ani nie jest zaprojektowany do integracji z zewnętrznymi systemami SMS. Takie podejście nie tylko wprowadza dodatkowe ryzyko związane z bezpieczeństwem, ale również stwarza problemy praktyczne, takie jak zależność od zewnętrznych usług, co może prowadzić do przestojów w dostępie do danych. Dlatego kluczowe jest zastosowanie sprawdzonych metod zabezpieczeń, takich jak hasła i uprawnienia użytkowników, które są standardem w zarządzaniu danymi i zapewniają właściwą ochronę przed zagrożeniami.

Pytanie 11

Na tabeli dania, której wiersze zostały pokazane poniżej, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
63wierzbowy przysmak35
72Mintał w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 13
B. 8
C. 2
D. 5
Trochę nie tak zrozumiałeś, jak działają klauzule 'WHERE' i 'LIMIT' w SQL. Klauzula 'WHERE' filtruje wiersze, a w tym przypadku miały być dwa warunki: 'typ' musi być mniejszy od 3 i 'cena' mniejsza od 30. Te warunki są połączone przez AND, więc wszystkie muszą być spełnione naraz. W tabeli tylko jeden wiersz to spełnia. Klauzula 'LIMIT' natomiast ustala maksymalną liczbę wierszy, które mogą się pojawić w wynikach, ale tu, nawet z limitem 5, wynik się nie zmienia, bo tylko jeden wiersz spełnia te kryteria. Zrozumienie, jak to wszystko współdziała, jest naprawdę ważne, żeby dobrze korzystać z SQL.

Pytanie 12

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

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

Pytanie 13

Tabela filmy zawiera klucz główny id oraz klucz obcy rezyserID, natomiast tabela rezyserzy ma klucz główny id. Obydwie tabele są połączone relacją jeden do wielu, gdzie strona rezyserzy odnosi się do strony filmy. Jak należy zapisać kwerendę SELECT, aby połączyć tabele filmy i rezyserzy?

A. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.filmyID ...
B. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.id ...
C. ... filmy JOIN rezyserzy ON filmy.id = rezyserzy.filmyID ...
D. ... filmy JOIN rezyserzy ON filmy.rezyserID = rezyserzy.id ...
W przypadku błędnych odpowiedzi, takich jak używanie rezyserzy.filmyID lub porównywanie kluczy głównych tabeli rezyserzy z kluczami głównymi tabeli filmy, istotne jest zrozumienie, że klucze muszą być stosowane zgodnie z ich rolami w relacji. Klucz obcy w tabeli filmy (rezyserID) jest przeznaczony do wskazywania na odpowiedni klucz główny w tabeli rezyserzy (id). Używanie rezyserzy.filmyID jest całkowicie błędne, ponieważ tabela rezyserzy nie ma kolumny o takiej nazwie; nie ma relacji, która by wskazywała na filmy w tej tabeli. Z kolei porównywanie filmy.id z rezyserzy.id nie jest sensowne, ponieważ porównujemy dwa różne klucze, które nie mają ze sobą bezpośredniego związku, co prowadzi do niepoprawnych wyników zapytań. Klucz rezyserID w tabeli filmy jest odpowiedzialny za powiązanie konkretnego reżysera z filmem, a nie odwrotnie. Warto również zauważyć, że nieprzestrzeganie zasad normalizacji oraz poprawnego stosowania kluczy obcych może prowadzić do niejednoznacznych danych oraz trudności w utrzymaniu spójności bazy danych.

Pytanie 14

Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda?

SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzeslaw Niemen2005Przyjdz W Taka Noc itd.
2IkonaStan Borys2014
3AerolitCzeslaw Niemen2017Winylowa reedycja płyty „Aerolit”.
4JourneyMikolaj Czechowski2013
A. pusty wynik
B. Czeslaw, Niemen
C. Czeslaw
D. Czeslaw, Czechowski
Dobrze, wybrałeś prawidłową odpowiedź. Zapytanie SQL, które widzimy w tym pytaniu, zostało sformułowane w taki sposób, że wyszukuje ono wszystkich wykonawców (kolumna 'wykonawca' w tabeli 'muzyka'), których nazwy zaczynają się na literę 'C' i kończą na literę 'w'. Składnia LIKE 'C%w' w warunku WHERE zapytania SQL jest używane do dopasowania wzorca, gdzie '%' oznacza dowolny ciąg znaków, a 'C' i 'w' to konkretne litery na początku i końcu nazwy. Jednak w tabeli 'muzyka' nie ma żadnego wykonawcy, który spełniałby ten warunek. Dlatego wynik zapytania jest pusty. Jest to dobra praktyka, aby zrozumieć, jak używać operatora LIKE w zapytaniach SQL, ponieważ pozwala na elastyczne wyszukiwanie danych w bazie danych.

Pytanie 15

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Które zapytanie SQL należy wykonać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
C. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby, Adresy;
Poprawne zapytanie korzysta z jawnego złączenia tabel: SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;. Kluczowe są tu dwie rzeczy: użycie słowa kluczowego JOIN oraz właściwy warunek ON, który łączy klucz obcy z kluczem głównym. W tabeli Osoby kolumna Adresy_id jest kluczem obcym (FK), który wskazuje na kolumnę id w tabeli Adresy. To dokładnie odzwierciedla relację jeden‑do‑wielu narysowaną na diagramie. Dzięki temu baza danych wie, które miasto przypisać do którego nazwiska. Takie podejście jest zgodne ze standardem SQL i dobrą praktyką w relacyjnych bazach danych. Jawne JOIN-y są czytelne, łatwe do modyfikacji (np. dodanie kolejnych tabel lub warunków filtrowania) i dobrze współpracują z optymalizatorem zapytań. W praktycznych projektach, np. w aplikacjach webowych, właśnie tak buduje się zapytania: łączymy tabelę użytkowników lub klientów z tabelą adresów, zamówień, faktur, logów itp. zawsze po kluczach głównych i obcych, a nie po przypadkowo dobranych kolumnach. Moim zdaniem warto od razu wyrabiać sobie nawyk pisania nazw tabel przy kolumnach, czyli Osoby.nazwisko, Adresy.Miasto – zmniejsza to ryzyko konfliktu nazw i poprawia czytelność kodu SQL. Gdyby w przyszłości w którejś tabeli pojawiła się druga kolumna o nazwie Miasto, zapytanie nadal byłoby jednoznaczne. W większych systemach, gdzie dochodzą dodatkowe warunki (WHERE, ORDER BY, GROUP BY), taka struktura zapytania z JOIN ON jest po prostu dużo łatwiejsza w utrzymaniu i debugowaniu. Warto też pamiętać, że relacja jeden‑do‑wielu oznacza, że jedna osoba może mieć wiele adresów albo jeden adres może być przypisany do wielu osób – dokładne powiązanie zależy od modelu, ale technika złączenia po kluczu obcym pozostaje taka sama.

Pytanie 16

Używając polecenia ALTER TABLE, co można zrobić?

A. zmiana struktury tabeli
B. usunięcie tabeli
C. zmiana wartości w rekordach tabeli
D. stworznie tabeli
Polecenie ALTER TABLE w SQL jest używane do modyfikacji struktury istniejącej tabeli w bazie danych. Dzięki temu poleceniu można dodawać nowe kolumny, usuwać istniejące, zmieniać typ danych kolumn, a także dodawać klucze obce lub indeksy. Przykładem zastosowania ALTER TABLE może być dodanie nowej kolumny do tabeli pracowników w celu rejestrowania daty zatrudnienia: 'ALTER TABLE pracownicy ADD COLUMN data_zatrudnienia DATE;'. Good practices w zakresie modyfikacji tabeli sugerują, aby przed dokonaniem takich zmian zawsze tworzyć kopię zapasową bazy danych. Warto również monitorować wpływ zmian na istniejące zapytania oraz aplikacje, które wykorzystują tę tabelę, aby uniknąć potencjalnych błędów w przyszłości. W kontekście projektowania baz danych, ALTER TABLE stanowi kluczowy element w utrzymaniu i dostosowywaniu struktury bazy danych do zmieniających się potrzeb organizacji. Na przykład, w miarę wzrostu firmy mogą pojawić się potrzeby wprowadzenia nowych informacji dotyczących klientów, co wymaga elastyczności w strukturze bazy danych.

Pytanie 17

Podane w ramce polecenie SQL ma za zadanie

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

Pytanie 18

Testy związane ze skalowalnością aplikacji mają na celu zweryfikowanie, czy program

A. jest właściwie opisany w dokumentacji
B. jest w stanie funkcjonować przy zaplanowanym i większym obciążeniu
C. jest chroniony przed nieautoryzowanymi działaniami, np. dzieleniem przez zero
D. posiada odpowiednie funkcje
Odpowiedź mówiąca o tym, że aplikacja potrafi działać przy zakładanym i większym obciążeniu, jest kluczowa, gdyż skalowalność oprogramowania odnosi się do zdolności systemu do efektywnego działania w warunkach wzrastającego zapotrzebowania na zasoby. Oznacza to, że aplikacja powinna być w stanie obsługiwać rosnącą liczbę użytkowników, transakcji lub innych operacji bez degradacji wydajności. Przykładem może być system e-commerce, który w okresie wyprzedaży musi obsługiwać znacznie więcej użytkowników niż w normalnych okolicznościach. Aby zapewnić skalowalność, programiści mogą wykorzystywać różne architektury, takie jak mikroserwisy, które pozwalają na niezależne skalowanie poszczególnych komponentów aplikacji. Dobre praktyki obejmują również wykorzystanie chmurowych rozwiązań, takich jak AWS czy Azure, które oferują elastyczność i automatyczne skalowanie w odpowiedzi na wzrost obciążenia. Warto także wdrażać mechanizmy monitorowania i optymalizacji wydajności, aby na bieżąco dostosowywać zasoby do potrzeb użytkowników.

Pytanie 19

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
B. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;
Odpowiedź, którą wybrałeś, jest jak najbardziej trafna. Kwerenda UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL rzeczywiście aktualizuje pole dataPlatnosci w tabeli faktur, ale tylko wtedy, gdy jest ono puste. Super, że korzystasz z CURDATE(), bo to daje nam bieżącą datę. W SQL ważne jest, żeby nie tracić czasu na aktualizowanie wierszy, które już mają datę. Dobrze widzieć, że zastosowałeś IS NULL, bo to pozwala uniknąć kłopotów z porównywaniem dat i wydobywaniem takich wartości jak '0000-00-00', co na pewno by namieszało z interpretacją. Twoje podejście jest zgodne z tym, co powinno być w bazach danych – minimalizowanie zbędnych danych i dbanie o ich spójność. Z mojego doświadczenia, zawsze lepiej korzystać z funkcji datowych, bo to pozwala mieć pewność, że wprowadzane wartości są aktualne i pasują do reszty aplikacji.

Pytanie 20

Co powinno znaleźć się w KAŻDEJ tabeli, aby baza działała poprawnie i spójnie?

A. klucz FOREIGN KEY z NOT NULL
B. klucz obcy z NOT NULL i UNIQUE
C. klucze PRIMARY KEY i FOREIGN KEY
D. klucz PRIMARY KEY (unikalny i niepusty)
Każda tabela powinna mieć klucz główny (PRIMARY KEY) - pole o wartościach UNIKALNYCH i NIEPUSTYCH, które jednoznacznie identyfikuje każdy wiersz. Bez niego trudno odróżnić rekordy i utrzymać spójność. Dlatego w każdej tabeli potrzebny jest klucz główny.

Pytanie 21

Co według zasad ACID oznacza wymóg TRWAŁOŚCI (durability) transakcji?

A. transakcję można podzielić na dwa niezależne etapy
B. w trakcie transakcji dane mogą zmieniać inne transakcje
C. dane zatwierdzone przez transakcję pozostają dostępne mimo późniejszych zdarzeń
D. przy naruszeniu spójności transakcja usuwa tabele z kluczami obcymi
Pozostałe opisy dotyczą innych zasad lub są błędne. Podział transakcji na etapy to element implementacji (np. two-phase commit), a nie definicja trwałości. Możliwość zmiany danych przez inne transakcje w trakcie opisuje brak IZOLACJI. Usuwanie tabel przy naruszeniu spójności to mylące ujęcie spójności (consistency). Trwałość to przetrwanie zatwierdzonych danych mimo awarii.

Pytanie 22

Które polecenie MySQL służy do odebrania uprawnień użytkownikowi?

A.
CREATE
B.
RENAME
C.
GRANT
D.
REVOKE
Odebranie wcześniej nadanych uprawnień realizuje polecenie REVOKE, np. REVOKE INSERT ON baza.* FROM anna;. To przeciwieństwo GRANT, obie należą do grupy DCL (sterowanie dostępem). Zapamiętaj parę: GRANT daje, REVOKE odbiera.

Pytanie 23

Fragment kodu SQL wskazuje, że klucz obcy

Ilustracja do pytania
A. jest obecny w tabeli obiekty
B. wiąże się z kolumną imiona
C. jest ustawiony na kolumnie obiekty
D. stanowi odniesienie do siebie samego
W przedstawionym fragmencie kodu SQL klucz obcy (foreign key) służy do zapewnienia integralności referencyjnej między dwiema tabelami. W tym przypadku klucz obcy wskazuje, że pole imie w jednej tabeli jest powiązane z polem imiona w tabeli obiekty. Takie podejście pomaga w utrzymaniu spójności danych, ponieważ wymusza istnienie każdej wartości w polu imie w kolumnie imiona tabeli obiekty. W praktyce oznacza to, że nie można dodać wartości do pola imie, jeśli nie istnieje odpowiadająca wartość w kolumnie imiona. Klucze obce są kluczowym elementem w projektowaniu baz danych, wspierając normalizację i redukcję redundancji danych. Prawidłowe wykorzystanie kluczy obcych pozwala na efektywne zarządzanie relacjami pomiędzy danymi, co jest zgodne z najlepszymi praktykami w zakresie projektowania baz danych. Dodatkowo, prawidłowe stosowanie kluczy obcych przyczynia się do poprawy wydajności zapytań, ponieważ umożliwia optymalizację operacji łączenia danych. To podejście jest zgodne ze standardami SQL, a jego zastosowanie jest powszechne w różnych systemach zarządzania bazami danych jak MySQL, PostgreSQL czy Oracle.

Pytanie 24

W SQL, przy użyciu polecenia ALTER, można

A. zmienić strukturę tabeli
B. dodać dane do tabeli
C. usunąć tabelę
D. stworzyć nową tabelę
Odpowiedź jest poprawna, ponieważ polecenie ALTER w języku SQL służy do modyfikacji istniejącej struktury tabeli. Umożliwia ono wykonywanie różnych operacji, takich jak dodawanie nowych kolumn, zmiana typu danych istniejących kolumn, a także usuwanie kolumn. Przykładem użycia może być zmiana typu danych kolumny 'wiek' w tabeli 'Użytkownicy' z INTEGER na VARCHAR, co można osiągnąć za pomocą zapytania: ALTER TABLE Użytkownicy MODIFY COLUMN wiek VARCHAR(3). Zmiana struktury tabeli jest istotna w kontekście dostosowywania bazy danych do zmieniających się wymagań aplikacji i użytkowników, co jest kluczowe dla utrzymania jej elastyczności i wydajności. Warto również pamiętać, że modyfikacje struktury tabeli powinny być przeprowadzane z zachowaniem zasad bezpieczeństwa danych oraz odpowiednich procedur kontroli wersji, aby zminimalizować ryzyko utraty danych lub wprowadzenia błędów. Dzięki zrozumieniu i umiejętnemu stosowaniu polecenia ALTER, administratorzy baz danych mogą skuteczniej zarządzać strukturą i integralnością danych.

Pytanie 25

Wykonanie zapytania SQL spowoduje skasowanie rekordów:

DELETE FROM mieszkania WHERE status = 1;
A. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
B. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
C. elementów o nazwie status z tabeli mieszkania
D. tabeli mieszkania znajdującej się w bazie danych
Odpowiedź wskazująca na usunięcie rekordów, w których pole status jest równe 1, z tabeli mieszkania jest poprawna ponieważ w zapytaniu SQL użyto składni DELETE, która jest odpowiedzialna za usuwanie danych z określonej tabeli. W kontekście tego zapytania, po słowie 'FROM' znajduje się nazwa tabeli, czyli 'mieszkania', a warunek 'WHERE status = 1' precyzuje, które rekordy mają zostać usunięte. Przykładowo, jeśli w tabeli mieszkania znajdują się mieszkania oznaczone jako dostępne (status = 1), to po wykonaniu tego zapytania wszystkie takie mieszkania zostaną trwale usunięte z bazy danych. Ważne jest, aby przed wykonaniem zapytania DELETE rozważyć konieczność wykonania kopii zapasowej danych, aby zapobiec ich nieodwracalnej utracie. Dobrą praktyką jest również stosowanie zapytania SELECT z tym samym warunkiem, aby najpierw zweryfikować, które rekordy zostaną usunięte. Tego rodzaju podejście umożliwia lepsze zarządzanie danymi oraz redukuje ryzyko pomyłek podczas operacji na bazach danych.

Pytanie 26

Aby skryptem PHP wstawić do bazy dane z formularza, używasz wywołania:

mysqli_query($zm1, $zm2);
Co należy przekazać w parametrach $zm1 i $zm2?
A. w $zm1 identyfikator połączenia, w $zm2 zapytanie SELECT
B. w $zm1 identyfikator połączenia z bazą, w $zm2 zapytanie INSERT INTO
C. w $zm1 wartość NULL, w $zm2 zapytanie SELECT
D. w $zm1 id wiersza, w $zm2 zapytanie INSERT INTO
Funkcja mysqli_query() przyjmuje dwa parametry: pierwszy ($zm1) to uchwyt połączenia z bazą zwrócony przez mysqli_connect(), a drugi ($zm2) to treść zapytania SQL. Aby wstawić dane, w drugim parametrze przekazuje się zapytanie INSERT INTO. Dlatego poprawne jest: połączenie w $zm1 i INSERT INTO w $zm2.

Pytanie 27

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

A. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
B. zweryfikuje spójność danej tabeli
C. potwierdzi spójność bazy danych i utworzy kopię zapasową
D. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
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 28

W systemie baz danych sklepu komputerowego znajduje się tabela o nazwie komputery. Aby stworzyć raport, który wyświetli dane dla konkretnego zestawu informacji z tej tabeli, zawierający tylko te komputery, które mają co najmniej 8 GB pamięci RAM oraz procesor Intel, można wykorzystać zapytanie:

A. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8
B. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec<8
C. SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec<8
D. SELECT * FROM komputery WHERE procesor= 'Intel' OR pamiec>=8
Aby stworzyć kwerendę, która wyświetli wszystkie komputery w tabeli 'komputery', spełniające określone warunki, musimy użyć odpowiednich operatorów logicznych oraz porównań. W tym przypadku chcemy uzyskać sprzęt, którego procesor to 'Intel' oraz pamięć RAM wynosi co najmniej 8 GB. Kluczowym elementem jest tutaj użycie operatora 'AND', który zapewnia, że muszą być spełnione oba warunki jednocześnie. Kwerenda 'SELECT * FROM komputery WHERE procesor= 'Intel' AND pamiec>=8;' w pełni odpowiada tym wymaganiom. Operator 'AND' jest istotny, ponieważ bez niego moglibyśmy otrzymać komputery z procesorem Intel, ale z pamięcią RAM mniejszą niż 8 GB, co jest sprzeczne z naszym celem. Tego rodzaju zapytania są powszechne w analizie danych i często wykorzystywane w raportowaniu i wizualizacji danych. Odpowiednia struktura kwerendy zapewnia, że wyniki będą precyzyjne i zgodne z oczekiwaniami użytkowników, co jest kluczowe w zarządzaniu bazami danych oraz w tworzeniu systemów informacyjnych dla sklepów komputerowych.

Pytanie 29

Tabele: Studenci, Zapisy, Zajecia są powiązane relacją. Aby wybrać jedynie nazwiska studentów oraz odpowiadające im idZajecia dla studentów z grupy 15, należy wydać kwerendę

Ilustracja do pytania
A. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy ON Studenci.id = Zapisy.idStudenta;
B. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idZajecia WHERE grupa = 15;
C. SELECT nazwisko, idZajecia FROM Studenci INNER JOIN Zapisy WHERE grupa= 15;
D. SELECT nazwisko, idZajecia FROM Studenci JOIN Zapisy ON Studenci.id = Zapisy.idStudenta WHERE grupa = 15;
Pierwszym istotnym problemem w niepoprawnych zapytaniach jest brak prawidłowego połączenia tabel na właściwych kluczach. W relacyjnych bazach danych, aby sensownie połączyć dane z różnych tabel, należy wykorzystać klucze główne i obce, które jasno definiują powiązania między obiektami. Jeśli zapomni się o warunku JOIN albo połączy się tabele po błędnych kolumnach (na przykład próbując połączyć idStudenta z idZajecia lub pomijając warunek ON), baza zwróci błędne wyniki lub wręcz nie pozwoli wykonać zapytania. To typowy błąd początkujących, którzy nie zawsze rozumieją, jak bardzo ważne jest precyzyjne określenie relacji – w rzeczywistych bazach danych relacji jest wiele, a niewłaściwe powiązanie może prowadzić do powstawania kartuzjańskiego iloczynu, czyli powielania danych bez rzeczywistego sensu. Brak filtru WHERE grupa = 15 skutkuje wyciągnięciem danych dla wszystkich studentów, co może być ogromnym problemem przy dużych bazach i całkowicie rozmija się z celem kwerendy. Moim zdaniem, wiele osób zapomina, że filtrowanie to podstawa – bez tego, szczególnie przy produkcyjnych bazach, można zarówno błędnie interpretować wyniki, jak i mocno przeciążyć system niepotrzebnym ruchem. Takie błędy wynikają często z braku systematycznego podejścia do projektowania zapytań i nieuważnego czytania struktury tabel. Warto od razu przyzwyczajać się do pracy zgodnie z konwencjami, bo to przekłada się na bezpieczeństwo, wydajność i poprawność działania całego systemu. W praktyce – nawet drobny błąd w składni JOIN lub brak filtrowania na kluczowej kolumnie może wywołać lawinę problemów, zwłaszcza gdy kwerenda staje się częścią większej aplikacji biznesowej lub raportu dla zarządu.

Pytanie 30

Jakie jest zadanie funkcji agregującej AVG w zapytaniu?

SELECT AVG(cena) FROM uslugi;
A. określić najwyższą wartość spośród cen usług
B. sprawdzić, ile usług znajduje się w tabeli
C. obliczyć średnią arytmetyczną wartości wszystkich usług
D. zliczyć całkowity koszt wszystkich usług
Funkcja AVG w SQL jest jednym z podstawowych narzędzi do analizy danych w bazach danych. Jej głównym celem jest obliczenie średniej arytmetycznej wartości w kolumnie, co jest kluczowe w raportowaniu i analizie danych. W zapytaniu SQL SELECT AVG(cena) FROM uslugi; funkcja AVG jest użyta, aby uzyskać średnią cenę wszystkich usług zapisanych w tabeli uslugi. Taka średnia jest przydatna w wielu kontekstach biznesowych na przykład przy tworzeniu raportów finansowych czy analizie kosztów w celu optymalizacji oferty. Średnia arytmetyczna pozwala zrozumieć przeciętną wartość danego zestawu danych co jest istotne w podejmowaniu decyzji. Standardy branżowe zalecają użycie funkcji AVG wszędzie tam gdzie potrzebna jest szybka i efektywna analiza danych liczbowych. Zrozumienie działania funkcji AVG jest kluczowe w pracy z bazami danych SQL gdyż pozwala na bardziej złożone analizy jak np. porównanie średnich z różnych okresów czasu lub segmentów rynku.

Pytanie 31

Jaką rolę pełni funkcja PHP o nazwie mysql_select_db()?

A. określić tabelę, z której będą pobierane informacje
B. nawiązać połączenie bazy danych z serwerem SQL
C. określić bazę, z której będą pobierane dane
D. pobrać dane z bazy danych na podstawie zapytania
Funkcja mysql_select_db() służy do określenia, która baza danych będzie używana w kontekście bieżącego połączenia z serwerem MySQL. W momencie, gdy nawiązuje się połączenie z serwerem za pomocą funkcji mysql_connect(), należy jasno zdefiniować, w której bazie danych będą wykonywane zapytania. Właściwe ustawienie aktualnej bazy danych jest kluczowe, ponieważ wszelkie operacje związane z pobieraniem lub modyfikowaniem danych będą odnosiły się tylko do tej wskazanej bazy. Przykładowo, jeżeli mamy bazę danych 'sklep' i chcemy pobrać dane o produktach, najpierw musimy wywołać mysql_select_db('sklep'). Dobrą praktyką jest również sprawdzenie, czy operacja wyboru bazy danych zakończyła się sukcesem, co można zrobić, sprawdzając zwracany wynik. Należy pamiętać, że funkcja mysql_select_db() jest częścią starzejącego się interfejsu MySQL, a w nowoczesnych aplikacjach rekomendowane są bardziej aktualne rozszerzenia, takie jak MySQLi lub PDO, które oferują lepsze możliwości obsługi błędów oraz bezpieczeństwo.

Pytanie 32

Które narzędzie wiersza poleceń tworzy KOPIĘ ZAPASOWĄ bazy MySQL (zrzut do pliku)?

A.
create
B.
mysqlcheck
C.
mysqldump
D.
truncate
Narzędzie mysqldump tworzy KOPIĘ ZAPASOWĄ bazy MySQL - zrzuca jej strukturę i dane do pliku (zwykle z poleceniami SQL), z którego można ją później odtworzyć. Dlatego kopię zapasową robi mysqldump.

Pytanie 33

W tabeli artykuly (kolumny: nazwa, typ, producent, cena) chcemy wypisać nazwy artykułów typu „pralka” o cenie od 1000 do 1500 zł. Które zapytanie jest poprawne?

A.
SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
B.
SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
C.
SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
D.
SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
Aby spełnione były oba wymagania naraz - typ i zakres ceny - warunki łączy się operatorem AND. Zakres wartości zapisuje się przez BETWEEN dolna AND górna, która obejmuje też końce przedziału. Poprawne zapytanie to więc SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500. Dlatego ta odpowiedź jest właściwa.

Pytanie 34

Wartość kolumny w tabeli, która działa jako klucz podstawowy

A. jest zawsze w formacie numerycznym
B. musi być unikalna
C. może mieć wartość pustą (NULL)
D. jest wykorzystywana do szyfrowania treści tabeli
Wartość pola tabeli pełniącego rolę klucza podstawowego musi być unikalna, ponieważ klucz podstawowy identyfikuje jednoznacznie każdy rekord w tabeli bazy danych. To oznacza, że żadna z wartości w tym polu nie może się powtarzać, co zapewnia integralność danych. Przykładem zastosowania klucza podstawowego jest identyfikator użytkownika (UserID) w tabeli z danymi użytkowników; każdy użytkownik ma przypisany unikalny identyfikator, co umożliwia jednoznaczną identyfikację jego danych. Standardy relacyjnych baz danych, takie jak SQL, nakładają te wymagania na klucze podstawowe, co jest kluczowe dla prawidłowego działania relacji między tabelami. Dobre praktyki w projektowaniu baz danych sugerują, aby klucze podstawowe były nie tylko unikalne, ale także stabilne (czyli nie zmieniały się w czasie), co ułatwia zarządzanie danymi i ich integrację w systemie. W przypadku naruszenia zasady unikalności klucza podstawowego mogą wystąpić problemy z integralnością referencyjną, co sprawia, że niemożliwe staje się prawidłowe powiązanie rekordów w różnych tabelach.

Pytanie 35

Jak nazywa się metoda udostępniania bazy danych w programie Microsoft Access, która dotyczy wszystkich obiektów bazy umieszczonych na dysku sieciowym i wykorzystywanych jednocześnie przez kilku użytkowników?

A. folderu sieciowego
B. witryny programu SharePoint
C. dzielonej bazy danych
D. serwera bazy danych
Odpowiedź "folderu sieciowego" jest prawidłowa, ponieważ w kontekście Microsoft Access, metoda udostępniania bazy danych, która obejmuje obiekty bazy umieszczone na dysku sieciowym, opiera się na wykorzystaniu folderów sieciowych. Dzięki temu wiele użytkowników może jednocześnie uzyskiwać dostęp do tych samych danych i obiektów bazy danych, co sprzyja współpracy i zwiększa efektywność pracy. Przykładem zastosowania folderu sieciowego może być sytuacja, w której zespół pracowników korzysta z jednolitej bazy danych klientów, przechowywanej w lokalizacji na serwerze. Wszyscy członkowie zespołu mogą wprowadzać, modyfikować i przeglądać dane, co umożliwia sprawną wymianę informacji i synchronizację działań. Warto również zaznaczyć, że stosowanie folderów sieciowych to jedna z dobrych praktyk w zarządzaniu danymi w organizacjach, ponieważ pozwala na centralizację zasobów oraz kontrolowanie dostępu do nich, co jest zgodne z zasadami bezpieczeństwa informacji.

Pytanie 36

Podaj zapytanie SQL, które tworzy użytkownika sekretarka na localhost z hasłem zaq123

CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"; 
A. CREATE USER `sekretarka`@`localhost` IDENTIFY BY `zaq123`
B. CREATE USER 'sekretarka'@'localhost' IDENTIFIED `zaq123`
C. CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123'
D. CREATE USER `sekretarka`@`localhost` IDENTIFY "zaq123"
Poprawne zapytanie SQL do tworzenia nowego użytkownika w systemie baz danych MySQL brzmi: CREATE USER `sekretarka`@`localhost` IDENTIFIED BY 'zaq123';. Kluczowe elementy tego zapytania to: 'CREATE USER' – polecenie używane do tworzenia nowych użytkowników, '`sekretarka`' – nazwa użytkownika, '@`localhost`' – wskazuje, że użytkownik będzie łączył się z serwerem lokalnym, oraz 'IDENTIFIED BY' – polecenie do zdefiniowania hasła dla nowego użytkownika. Warto zwrócić uwagę, że hasło musi być umieszczone w pojedynczych cudzysłowach, co jest standardową praktyką w SQL. Umożliwia to skuteczne zarządzanie uprawnieniami użytkownika oraz bezpieczeństwem bazy danych. Dzięki odpowiedniemu skonfigurowaniu użytkowników, można wprowadzać różne poziomy dostępu, co jest kluczowe w kontekście ochrony danych. Warto również pamiętać, że praktyka ta jest zgodna z wytycznymi bezpieczeństwa, które zalecają stosowanie silnych haseł oraz ograniczanie dostępu do danych wrażliwych na poziomie użytkowników.

Pytanie 37

Rozważ tabelę mieszkań, która zawiera kolumny: adres, metraż, ile_pokoi, standard, status, cena. Wykonanie poniższej kwerendy SQL SELECT spowoduje wyświetlenie:

SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3;
A. wszystkie informacje, z wyjątkiem adresu, dotyczące mieszkań z więcej niż 3 pokojami
B. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje
C. metraż oraz cena tych mieszkań, które posiadają co najmniej 3 pokoje
D. wszystkie dane mieszkań, które mają co najmniej 3 pokoje
Odpowiedź wskazująca na metraż oraz cenę mieszkań, które mają więcej niż 3 pokoje jest prawidłowa, ponieważ kwerenda SQL wykorzystuje operator '>', co oznacza, że wybrani będą tylko ci, którzy mają co najmniej 4 pokoje. W kontekście tabeli mieszkania, zapytanie SELECT metraz, cena FROM mieszkania WHERE ile_pokoi > 3; efektywnie filtruje dane, aby zwrócić tylko kolumny metraż oraz cena dla mieszkań spełniających ten warunek. W praktyce, umiejętność pisania takich zapytań SQL jest kluczowa w pracy z bazami danych, gdzie często potrzebne jest zrozumienie struktury danych i umiejętność ich analizy. Przykładem zastosowania może być analiza rynku nieruchomości, gdzie deweloperzy mogą chcieć zbadać ceny mieszkań większych niż 3 pokoje, aby lepiej dostosować swoje oferty do potrzeb klientów. Warto również zaznaczyć, że takie zapytania powinny być pisane zgodnie z najlepszymi praktykami, takimi jak unikanie selekcji niepotrzebnych danych, co przyspiesza ich przetwarzanie oraz zmniejsza obciążenie bazy danych.

Pytanie 38

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

A. formularz
B. makropolecenie
C. relację
D. raport
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 39

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

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

Pytanie 40

Jak nazywa się niepotrzebne POWIELANIE tych samych danych w wielu miejscach bazy?

A. normalizacją
B. redundancją (nadmiarowością)
C. spójnością danych
D. integralnością referencyjną
Niepotrzebne POWIELANIE tych samych danych w wielu miejscach bazy to redundancja (nadmiarowość). Jest niepożądana: zajmuje miejsce i grozi niespójnością (zmiana w jednym miejscu, a w innym nie). Ogranicza ją normalizacja. Zapamiętaj: redundancja = ta sama informacja zapisana po wielokroć.