Przejdź do głównej treści

Pytania pomocnicze - INF.03

Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych - pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Łącznie: 8439. Strona 90 z 116.

Do czego służy formularz bazy danych?

Formularz bazy danych służy głównie do wygodnego wprowadzania, edytowania i usuwania danych bez bezpośredniej pracy na tabelach.

Dlaczego formularz jest wygodniejszy niż bezpośrednia edycja tabeli?

Formularz może mieć czytelny układ pól, etykiety, przyciski, listy wyboru oraz mechanizmy walidacji, co zmniejsza ryzyko błędów użytkownika.

Czym formularz różni się od raportu w bazie danych?

Formularz służy do obsługi danych, np. dodawania i edycji rekordów. Raport służy głównie do prezentowania, podsumowywania i drukowania danych.

Czym formularz różni się od kwerendy lub zapytania?

Kwerenda służy do wyszukiwania, filtrowania, obliczania lub modyfikowania danych według określonych warunków. Formularz jest interfejsem użytkownika ułatwiającym pracę z danymi.

Jakie operacje CRUD można wykonywać za pomocą formularza?

Za pomocą formularza można zwykle tworzyć nowe rekordy, odczytywać dane, aktualizować istniejące rekordy oraz usuwać dane.

Czy formularz tworzy relacje między tabelami?

Nie. Relacje między tabelami definiuje się w strukturze bazy danych, np. przez klucze podstawowe i obce. Formularz może jedynie ułatwiać pracę z danymi powiązanymi relacjami.

Do czego służy instrukcja foreach w PHP?

Instrukcja `foreach` służy do wykonywania pętli po elementach tablicy. Kod w jej wnętrzu uruchamia się osobno dla każdego elementu.

Czym foreach różni się od instrukcji if?

`foreach` jest pętlą, więc powtarza wykonanie kodu. `if` jest instrukcją warunkową i wykonuje kod tylko wtedy, gdy warunek jest prawdziwy.

Czym foreach różni się od pętli for?

`for` najczęściej używa licznika i warunku zakończenia. `foreach` automatycznie przechodzi po kolejnych elementach tablicy, bez ręcznego podawania indeksu.

Jak odczytać klucze i wartości tablicy w pętli foreach?

Należy użyć składni `foreach ($tablica as $klucz => $wartosc)`. Wtedy zmienna `$klucz` przechowuje indeks lub nazwę pola, a `$wartosc` wartość elementu.

Czy foreach jest instrukcją wyboru?

Nie. Instrukcją wyboru w PHP jest na przykład `switch`. `foreach` jest instrukcją pętli.

Dlaczego w pytaniach egzaminacyjnych foreach łączy się z tablicami?

Ponieważ podstawowym zastosowaniem `foreach` w PHP jest przechodzenie po elementach tablicy. Dlatego w zadaniach egzaminacyjnych należy kojarzyć ją z pętlą dla tablic.

Co oznacza wynik zwracany przez funkcję mysql_connect()?

Jeśli połączenie się uda, funkcja zwraca uchwyt połączenia. Jeśli wystąpi błąd, zwraca wartość fałszywą, czyli `false`.

Dlaczego komunikat powinien dotyczyć połączenia z serwerem SQL?

Kod wywołuje funkcję `mysql_connect()`, która odpowiada za połączenie z serwerem MySQL. Nie wybiera ona jeszcze konkretnej bazy ani nie wykonuje zapytania.

Co sprawdza warunek if (!$a) w podanym kodzie PHP?

Sprawdza, czy zmienna `$a` ma wartość fałszywą. W tym przypadku oznacza to nieudane połączenie z serwerem SQL.

Czym różni się błąd połączenia z serwerem od błędu wyboru bazy danych?

Błąd połączenia oznacza, że PHP nie połączył się z serwerem MySQL. Błąd wyboru bazy pojawia się dopiero wtedy, gdy połączenie działa, ale wskazana baza danych nie istnieje lub jest niedostępna.

Dlaczego odpowiedź o błędzie zapytania SQL jest niepoprawna?

W pokazanym kodzie nie ma żadnego zapytania SQL, np. `SELECT`, `INSERT` ani `UPDATE`. Kod dotyczy wyłącznie próby połączenia z serwerem.

Jakich funkcji używa się obecnie zamiast mysql_connect()?

W nowych aplikacjach PHP stosuje się rozszerzenie `mysqli` albo bibliotekę `PDO`. Funkcje `mysql_*` są przestarzałe i usunięte z nowszych wersji PHP.

Dlaczego dane jednego ucznia najlepiej zapisać jako strukturę?

Ponieważ jeden uczeń ma kilka powiązanych cech: imię, nazwisko i średnią ocen. Struktura pozwala zebrać te pola w jedną logiczną całość.

Dlaczego dla 50 uczniów potrzebna jest tablica struktur?

Struktura opisuje jednego ucznia, a tablica pozwala przechować wiele takich elementów. Dla 50 uczniów tworzy się więc tablicę 50 struktur.

Czym różni się tablica od struktury?

Tablica przechowuje wiele elementów tego samego typu. Struktura przechowuje zestaw pól, które mogą mieć różne typy i opisują jeden obiekt.

Dlaczego odpowiedź z klasą jest niepoprawna w tym pytaniu?

Klasa jest pojęciem charakterystycznym dla programowania obiektowego. Pytanie dotyczy języków o układzie strukturalnym, gdzie typowym rozwiązaniem są struktury.

Dlaczego tablica samych łańcuchów znakowych nie wystarczy do opisania uczniów?

Łańcuchy znakowe mogą przechowywać imiona lub nazwiska, ale średnia ocen jest liczbą. Dane ucznia mają różne typy, więc potrzebna jest struktura.

Jak można odwołać się do danych konkretnego ucznia w tablicy struktur?

Najpierw wskazuje się element tablicy, a potem jego pole, np. `uczniowie[0].nazwisko` lub `uczniowie[0].srednia`.

Czym różni się styl lokalny od stylu wewnętrznego w CSS?

Styl lokalny zapisuje się w atrybucie `style` konkretnego elementu HTML. Styl wewnętrzny zapisuje się w sekcji `<style>` dokumentu HTML.

Co oznacza zapis `TD.niebieski` w CSS?

Oznacza regułę CSS dla elementów `<td>`, które mają atrybut `class="niebieski"`. Jest to selektor elementu połączony z selektorem klasy.

Ile klas zdefiniowano w regułach `TD.niebieski` i `TD.czerwony`?

Zdefiniowano dwie klasy: `niebieski` oraz `czerwony`. W starszej terminologii egzaminacyjnej mogą być nazwane kategoriami.

Jakie właściwości CSS przypisano akapitowi `P` w podanym kodzie?

Akapit ma kolor niebieski, rozmiar czcionki 14 punktów oraz kursywę. Wynika to z reguły `P{color:blue; font-size:14pt; font-style:italic}`.

Jakie właściwości CSS przypisano odnośnikowi `A` w podanym kodzie?

Odnośnik ma rozmiar czcionki 16 punktów i tekst zamieniany na małe litery. Odpowiada za to reguła `A{font-size: 16pt; text-transform:lowercase;}`.

Do czego służy właściwość `text-transform: lowercase`?

Powoduje wyświetlanie tekstu małymi literami. W podanym kodzie dotyczy odnośników, czyli elementów `<a>`.

Dlaczego stwierdzenie, że akapit będzie konwertowany na małe litery, jest błędne?

Właściwość `text-transform: lowercase` została przypisana selektorowi `A`, a nie `P`. Dotyczy więc odnośników, nie akapitów.

Co oznacza typ integer w programowaniu?

Typ integer oznacza typ liczbowy przeznaczony do przechowywania liczb całkowitych, np. -5, 0, 12.

Czym różni się integer od float?

Integer przechowuje liczby całkowite bez części ułamkowej. Float przechowuje liczby rzeczywiste, np. 3.14.

Czy liczba 10.0 jest typową wartością integer?

Nie. Mimo że matematycznie oznacza dziesięć, zapis z częścią dziesiętną zwykle traktowany jest jako liczba rzeczywista.

Do czego można użyć zmiennej typu integer w aplikacji internetowej?

Można jej użyć np. do przechowywania wieku użytkownika, liczby produktów w koszyku, identyfikatora rekordu lub liczby punktów.

Jaki typ danych przechowuje wartości true i false?

Wartości `true` i `false` przechowuje typ logiczny, najczęściej nazywany `boolean`.

Czy pojedynczy znak, np. 'A', jest liczbą całkowitą?

Nie. Pojedynczy znak jest zwykle przechowywany jako typ znakowy lub tekstowy, a nie jako integer.

Co oznacza zapis !isNaN(x) w JavaScript?

Oznacza, że wartość `x` nie jest wartością nieliczbową, czyli może być traktowana jako liczba. Operator `!` odwraca wynik funkcji `isNaN()`.

Dlaczego w warunku użyto operatora &&?

Operator `&&` wymaga, aby oba warunki były prawdziwe. W tym przypadku `x` musi być liczbą oraz musi być większe od zera.

Czy wartość 0 spełni warunek x > 0?

Nie. Warunek `x > 0` jest spełniony tylko dla wartości większych od zera, więc `0` go nie spełnia.

Czy liczba ujemna spełni warunek (!isNaN(x)) && (x > 0)?

Nie. Liczba ujemna jest wprawdzie liczbą, ale nie jest większa od zera.

Jak zachowa się warunek dla pustego ciągu znaków?

Pusty ciąg znaków może zostać przekonwertowany przez JavaScript na `0`, ale warunek `0 > 0` jest fałszywy. Dlatego cały warunek nie będzie spełniony.

Jaka jest różnica między isNaN(x) a !isNaN(x)?

`isNaN(x)` sprawdza, czy wartość nie jest liczbą. `!isNaN(x)` sprawdza odwrotnie: czy wartość jest liczbą albo może być potraktowana jak liczba.

Jak najprościej opisać warunek ((!isNaN(x)) && (x > 0))?

Warunek sprawdza, czy `x` jest dodatnią wartością liczbową. Musi być jednocześnie liczbą i mieć wartość większą od zera.

Dlaczego przedstawiona tabela nie spełnia pierwszej postaci normalnej?

Ponieważ kolumna „Adres” zawiera kilka informacji w jednej komórce: ulicę, numer, kod pocztowy i miasto. W 1NF każda komórka powinna zawierać jedną wartość atomową.

Jak można poprawić strukturę tej tabeli, aby była bliższa normalizacji?

Należy rozbić kolumnę „Adres” na osobne pola, np. „Ulica”, „Numer”, „Kod pocztowy” i „Miasto”. Dzięki temu dane będą jednoznaczne i łatwiejsze do przetwarzania.

Co oznacza atomowość danych w tabeli relacyjnej?

Atomowość oznacza, że jedna komórka tabeli zawiera jedną, niepodzielną informację. Przykładem atomowej wartości jest samo miasto, a nie pełny adres zapisany jako jeden tekst.

Czy tabela może być w drugiej postaci normalnej, jeśli nie spełnia pierwszej?

Nie. Druga postać normalna wymaga, aby tabela najpierw spełniała pierwszą postać normalną. Postacie normalne są sprawdzane kolejno.

Jaka jest różnica między tabelą nieznormalizowaną a tabelą w 1NF?

Tabela nieznormalizowana może zawierać dane złożone lub powtarzające się grupy w jednej komórce. Tabela w 1NF ma dane rozbite tak, aby każda komórka przechowywała pojedynczą wartość.

Dlaczego przechowywanie pełnego adresu w jednej kolumnie może być problemem?

Utrudnia wyszukiwanie, sortowanie i filtrowanie po mieście, kodzie pocztowym czy ulicy. Może też powodować niespójności w zapisie adresów.

Czy sama obecność dwóch kolumn w tabeli wystarcza, aby uznać ją za znormalizowaną?

Nie. Liczba kolumn nie decyduje o normalizacji. Ważne jest znaczenie danych, ich atomowość oraz zależności między kolumnami.

Jak odróżnić zadanie wykonywane po stronie serwera od zadania wykonywanego w przeglądarce?

Jeśli zadanie dotyczy bazy danych, sesji, logowania lub przetwarzania danych na serwerze, jest to back-end. Jeśli dotyczy wyglądu strony, reakcji na kursor lub manipulacji elementami HTML w przeglądarce, jest to front-end.

Dlaczego zapis danych do bazy danych jest zadaniem serwera?

Baza danych zwykle znajduje się na serwerze lub jest dostępna z poziomu serwera aplikacji. Przeglądarka nie powinna bezpośrednio zapisywać danych w bazie ze względów bezpieczeństwa.

Czy walidacja danych może odbywać się po stronie klienta i serwera?

Tak. Walidacja po stronie klienta poprawia wygodę użytkownika, ale nie jest wystarczająca. Dane trzeba ponownie sprawdzić na serwerze, ponieważ użytkownik może ominąć JavaScript w przeglądarce.

Jakie technologie są typowo używane po stronie serwera w aplikacjach internetowych?

Przykładowe technologie serwerowe to PHP, Node.js, Python, Java, C# oraz systemy baz danych, np. MySQL, PostgreSQL lub SQL Server.

Jaką rolę pełni formularz HTML w przesyłaniu danych do serwera?

Formularz HTML pozwala użytkownikowi wprowadzić dane i wysłać je do wskazanego skryptu serwerowego. Sposób wysyłania określa najczęściej atrybut method, np. POST.

Dlaczego zmiana stylu elementu po najechaniu kursorem nie jest zadaniem serwera?

Taka zmiana odbywa się lokalnie w przeglądarce za pomocą CSS lub JavaScript. Nie wymaga kontaktu z serwerem ani zapisu danych w bazie.

Co oznacza operacja Create w CRUD?

Create oznacza utworzenie nowego rekordu, czyli zapis nowych danych w bazie danych. W SQL najczęściej realizuje się to poleceniem INSERT.

Dlaczego klucz główny musi być unikalny?

Ponieważ jego zadaniem jest jednoznaczne identyfikowanie każdego rekordu w tabeli. Bez unikalności nie dałoby się pewnie wskazać jednego konkretnego wiersza.

Czy klucz główny może mieć wartość NULL?

Nie. Klucz główny nie może mieć wartości NULL, ponieważ NULL oznacza brak znanej wartości, a klucz musi jednoznacznie identyfikować rekord.

Czy klucz główny zawsze musi być jedną kolumną?

Nie. Klucz główny może składać się z jednej kolumny albo z kilku kolumn — wtedy nazywa się go kluczem złożonym.

Dlaczego pole nazwisko zwykle nie nadaje się na klucz główny?

Ponieważ wiele osób może mieć takie samo nazwisko. Klucz główny musi być unikalny, a samo nazwisko nie spełnia tego warunku.

Czy klucz główny musi być liczbą?

Nie. Klucz główny może być tekstowy, liczbowy lub złożony z kilku pól, o ile jego wartości są unikalne i nie są NULL.

Jaka jest różnica między kluczem głównym a AUTO_INCREMENT?

Klucz główny identyfikuje rekordy, a AUTO_INCREMENT automatycznie nadaje kolejne wartości liczbowe. AUTO_INCREMENT często stosuje się razem z kluczem głównym, ale nie jest z nim tym samym.

Po co stosuje się sztuczne identyfikatory, np. id?

Sztuczne identyfikatory są proste, krótkie i stabilne. Dzięki nim łatwiej tworzyć relacje między tabelami i unikać problemów z powtarzającymi się danymi, np. nazwiskami.