Pytania pomocnicze - INF.03
Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Każde pytanie ma krótką odpowiedź, która pomaga utrwalić wiedzę i przygotować się do egzaminu. Łącznie: 6221.
Strona 77 z 81.
Dlaczego PNG jest poprawną odpowiedzią w pytaniu o bezstratny format grafiki na stronę WWW?
PNG zapisuje grafikę rastrową bezstratnie i jest standardowo obsługiwany przez przeglądarki internetowe. Nadaje się szczególnie do logo, ikon, zrzutów ekranu i grafik z przezroczystością.
Dlaczego JPG nie jest formatem bezstratnym?
JPG najczęściej stosuje kompresję stratną, czyli usuwa część informacji z obrazu. Dzięki temu plik jest mniejszy, ale może pojawić się pogorszenie jakości i artefakty.
Dlaczego BMP nie jest najlepszym wyborem dla stron WWW?
BMP może przechowywać obraz bez utraty jakości, ale pliki BMP są zwykle bardzo duże. Z tego powodu nie są praktyczne na stronach internetowych, gdzie liczy się szybkie ładowanie.
Czym różni się PNG od GIF?
PNG obsługuje większą liczbę kolorów i lepszą przezroczystość niż GIF. GIF jest bezstratny, ale ma ograniczenie do 256 kolorów i częściej kojarzy się z prostymi animacjami.
Dlaczego CDR nie pasuje jako odpowiedź w tym pytaniu?
CDR to format programu CorelDRAW, związany głównie z grafiką wektorową. Nie jest typowym formatem rastrowym używanym bezpośrednio na stronach WWW.
Kiedy warto użyć PNG zamiast JPG na stronie internetowej?
PNG warto użyć, gdy obraz zawiera tekst, ostre krawędzie, logo, ikony lub przezroczystość. JPG lepiej sprawdza się zwykle przy zdjęciach, gdzie mniejszy rozmiar pliku jest ważniejszy niż idealne zachowanie jakości.
Co oznacza, że format graficzny jest bezstratny?
Oznacza to, że zapisanie obrazu nie powoduje utraty informacji o pikselach. Po ponownym otwarciu obraz zachowuje pierwotną jakość.
Do czego służy polecenie ALTER TABLE w SQL?
ALTER TABLE służy do modyfikowania struktury istniejącej tabeli, np. dodawania, usuwania lub zmiany kolumn. Jest to polecenie z grupy DDL.
Co oznacza klauzula MODIFY w poleceniu ALTER TABLE?
MODIFY zmienia definicję istniejącej kolumny, najczęściej jej typ danych lub dodatkowe właściwości. W przykładzie zmienia typ kolumny cena na FLOAT.
Czym różni się MODIFY od ADD w ALTER TABLE?
MODIFY zmienia już istniejącą kolumnę, natomiast ADD dodaje nową kolumnę do tabeli. Jeśli kolumna już istnieje, ADD zwykle spowoduje błąd.
Czym różni się MODIFY od DROP w ALTER TABLE?
MODIFY zmienia definicję kolumny, a DROP usuwa kolumnę z tabeli. Usunięcie kolumny powoduje utratę danych zapisanych w tej kolumnie.
Czym różni się MODIFY od CHANGE w MySQL?
MODIFY zmienia typ lub właściwości kolumny bez zmiany jej nazwy. CHANGE może jednocześnie zmienić nazwę kolumny oraz jej definicję.
Jaki typ danych reprezentuje FLOAT w SQL?
FLOAT przechowuje liczby zmiennoprzecinkowe, czyli wartości przybliżone z częścią ułamkową. Nie jest zalecany do pieniędzy, gdzie lepszy jest typ DECIMAL.
Czy zmiana typu kolumny może wpłynąć na istniejące dane?
Tak. Jeśli dane nie dają się poprawnie przekonwertować do nowego typu, może wystąpić błąd albo utrata precyzji, zależnie od systemu bazy danych.
Co robi polecenie ALTER TABLE w SQL?
`ALTER TABLE` służy do zmiany struktury istniejącej tabeli, np. dodania, usunięcia lub zmiany kolumny.
Jak działa klauzula ADD w poleceniu ALTER TABLE?
`ADD` oznacza dodanie nowego elementu do tabeli, najczęściej nowej kolumny wraz z jej typem danych i ewentualnymi ograniczeniami.
Co oznacza typ DOUBLE w definicji kolumny?
`DOUBLE` oznacza typ liczbowy zmiennoprzecinkowy, czyli pozwalający przechowywać liczby z częścią ułamkową.
Jaką rolę pełni NOT NULL w definicji kolumny?
`NOT NULL` wymusza, aby w danej kolumnie zawsze znajdowała się wartość. Nie pozwala zapisać wartości pustej `NULL`.
Czym różni się dodanie kolumny od zmiany typu istniejącej kolumny?
Dodanie kolumny tworzy nową kolumnę w tabeli. Zmiana typu dotyczy kolumny, która już istnieje, i wymaga innej składni, np. `MODIFY` lub `CHANGE` w MySQL.
Dlaczego odpowiedź mówiąca o zmianie nazwy kolumny jest błędna?
W poleceniu użyto `ADD`, czyli dodawania kolumny. Nie ma tam składni odpowiedzialnej za zmianę nazwy kolumny.
Do jakiej grupy poleceń SQL należy ALTER TABLE?
`ALTER TABLE` należy do DDL, czyli poleceń definiujących i modyfikujących strukturę bazy danych.
Czy DOUBLE NOT NULL oznacza wartość domyślną DOUBLE?
Nie. `DOUBLE` to typ danych, a `NOT NULL` to ograniczenie. Wartość domyślną określa się osobno za pomocą `DEFAULT`.
Do czego służy polecenie ALTER TABLE w MySQL?
ALTER TABLE służy do zmiany struktury istniejącej tabeli, np. dodania, usunięcia lub modyfikacji kolumny, indeksu albo ograniczenia.
Dlaczego ALTER TABLE należy do poleceń DDL?
DDL obejmuje polecenia definiujące lub zmieniające strukturę bazy danych. ALTER TABLE modyfikuje definicję tabeli, więc jest poleceniem DDL.
Czym różni się ALTER TABLE od INSERT INTO?
ALTER TABLE zmienia strukturę tabeli, np. dodaje kolumnę. INSERT INTO dodaje nowe rekordy, czyli dane, do istniejącej tabeli.
Czym różni się ALTER TABLE od UPDATE?
ALTER TABLE zmienia budowę tabeli, natomiast UPDATE zmienia wartości w istniejących rekordach. UPDATE nie zmienia liczby ani definicji kolumn.
Do czego służy polecenie GRANT w MySQL?
GRANT służy do nadawania użytkownikom uprawnień, np. prawa do odczytu, zapisu lub modyfikacji danych. Nie służy do zmiany struktury tabeli.
Jakim poleceniem można dodać kolumnę do istniejącej tabeli?
Do dodania kolumny używa się ALTER TABLE z klauzulą ADD, np. ALTER TABLE uczniowie ADD email VARCHAR(100);
Czym różni się klucz główny od klucza obcego?
Klucz główny jednoznacznie identyfikuje rekord w swojej tabeli. Klucz obcy wskazuje na klucz główny lub unikalny w innej tabeli i tworzy relację między tabelami.
Po której stronie relacji 1:n znajduje się klucz obcy?
Klucz obcy znajduje się po stronie „wiele”, czyli w tabeli podrzędnej. Przykładowo w relacji klient–zamówienia klucz obcy jest w tabeli `zamowienia`.
Dlaczego klucz obcy pomaga zachować spójność danych?
Ponieważ wymusza, aby wartość w tabeli podrzędnej istniała w tabeli nadrzędnej. Dzięki temu nie da się przypisać zamówienia do nieistniejącego klienta.
Czy klucz obcy musi mieć unikalne wartości?
Nie. W relacji 1:n wiele rekordów może mieć tę samą wartość klucza obcego, np. wiele zamówień może należeć do tego samego klienta.
Do czego służy klucz główny w tabeli?
Klucz główny służy do jednoznacznej identyfikacji każdego rekordu. Jego wartości muszą być unikalne i nie mogą być puste.
Jak w SQL można zdefiniować klucz obcy?
Klucz obcy można zdefiniować podczas tworzenia tabeli poleceniem `CREATE TABLE` albo później przez `ALTER TABLE`. Używa się do tego konstrukcji `FOREIGN KEY (...) REFERENCES tabela(kolumna)`.
Czy formularz bazy danych jest celem stosowania klucza obcego?
Nie. Formularz służy do wygodnego wprowadzania lub edycji danych, natomiast klucz obcy służy do definiowania relacji i pilnowania poprawności powiązań między tabelami.
Do czego służy zdarzenie onSubmit w formularzu HTML?
Służy do uruchomienia kodu JavaScript w momencie próby wysłania formularza. Pozwala np. sprawdzić poprawność danych przed ich przesłaniem.
Jak zatrzymać wysłanie formularza za pomocą onSubmit?
W funkcji obsługującej zdarzenie można zwrócić `false`. W nowoczesnym JavaScript można też użyć `event.preventDefault()`.
Czym różni się onSubmit od onClick?
`onSubmit` dotyczy wysłania całego formularza, a `onClick` kliknięcia konkretnego elementu. Kliknięcie przycisku może wywołać wysłanie formularza, ale nie jest tym samym zdarzeniem.
Czym różni się onSubmit od onChange?
`onChange` uruchamia się po zmianie wartości pola formularza, np. inputa lub selecta. `onSubmit` uruchamia się dopiero przy próbie wysłania formularza.
Dlaczego walidację formularza często wykonuje się przy zdarzeniu submit?
Ponieważ w tym momencie użytkownik zakończył wprowadzanie danych i próbuje je wysłać. Skrypt może wtedy sprawdzić wszystkie pola naraz.
Czy onSubmit zastępuje walidację po stronie serwera?
Nie. Walidacja JavaScript poprawia wygodę użytkownika, ale dane trzeba sprawdzać także po stronie serwera, ponieważ kod klienta można obejść.
Co oznacza znak `>` w selektorze CSS?
Znak `>` oznacza selektor dziecka. Wybiera tylko elementy znajdujące się bezpośrednio wewnątrz wskazanego elementu nadrzędnego.
Jaka jest różnica między selektorem `p > i` a `p i`?
`p > i` wybiera tylko elementy `<i>` będące bezpośrednimi dziećmi `<p>`. `p i` wybiera wszystkie elementy `<i>` znajdujące się gdziekolwiek wewnątrz `<p>`.
Czy selektor `p > i` zmienia cały tekst akapitu `<p>`?
Nie. Zmienia tylko tekst znajdujący się w elemencie `<i>`, który jest bezpośrednio wewnątrz `<p>`.
Dlaczego odpowiedź o klasie `i` jest błędna?
Klasa w CSS jest oznaczana kropką, np. `.i`. Selektor `p > i` odnosi się do elementu HTML `<i>`, a nie do klasy.
Czy selektor `p > i` zadziała dla kodu `<p><span><i>tekst</i></span></p>`?
Nie. Element `<i>` nie jest bezpośrednim dzieckiem `<p>`, ponieważ znajduje się wewnątrz elementu `<span>`.
Za co odpowiada właściwość CSS `color`?
Właściwość `color` ustala kolor tekstu elementu. W przykładzie `color: red;` tekst zostanie wyświetlony na czerwono.
Jak rozpoznać klucz główny na diagramie bazy danych?
Klucz główny jest zwykle oznaczony symbolem klucza i najczęściej ma nazwę `id`. Jednoznacznie identyfikuje rekord w tabeli.
Jak rozpoznać klucz obcy w tabeli?
Klucz obcy bywa oznaczony jako `FK` i często ma nazwę typu `NazwaTabeli_id`, np. `Lekarze_id`. Wskazuje na klucz główny w innej tabeli.
Dlaczego poprawne porównanie to `Lekarze.id = Pacjenci.Lekarze_id`?
`Lekarze.id` identyfikuje lekarza, a `Pacjenci.Lekarze_id` przechowuje identyfikator lekarza przypisanego do pacjenta. To para klucz główny - klucz obcy.
Dlaczego odpowiedź `Lekarze.id = Pacjenci.id` jest błędna?
`Pacjenci.id` identyfikuje pacjenta, a nie lekarza. Samo podobieństwo nazw `id` nie oznacza relacji między tabelami.
Do czego służy warunek `ON` w zapytaniu SQL z `JOIN`?
Warunek `ON` określa, które rekordy z dwóch tabel mają zostać ze sobą połączone. Najczęściej porównuje klucz główny jednej tabeli z kluczem obcym drugiej.
Jaką rolę pełni tabela `Pacjenci` w pokazanej relacji?
Tabela `Pacjenci` przechowuje dane pacjentów oraz klucze obce do tabel `Lekarze` i `Recepty`. Dzięki temu można ustalić, który lekarz i która recepta są przypisane do danego pacjenta.
Czy typ danych `INTEGER` wystarczy, aby uznać dwie kolumny za powiązane?
Nie. Dwie kolumny mogą mieć ten sam typ danych, ale relacja wynika z klucza głównego i klucza obcego, a nie tylko z typu kolumny.
Do czego służy funkcja mysqli_connect() w PHP?
Funkcja mysqli_connect() służy do nawiązania połączenia z serwerem MySQL/MariaDB z poziomu skryptu PHP. Zwykle podaje się w niej nazwę hosta, użytkownika, hasło i nazwę bazy danych.
Dlaczego mysqli_connect() należy wywołać przed wykonywaniem zapytań SQL?
Zapytania SQL muszą być wysłane do konkretnego serwera bazy danych. Bez aktywnego połączenia funkcje takie jak mysqli_query() nie mają gdzie przekazać zapytania.
Czym różni się mysqli_connect() od mysqli_select_db()?
mysqli_connect() nawiązuje połączenie z serwerem bazy danych. mysqli_select_db() wybiera konkretną bazę danych w ramach już istniejącego połączenia.
Do czego służy mysqli_close()?
mysqli_close() zamyka wcześniej otwarte połączenie z bazą danych. Nie służy do rozpoczynania połączenia, lecz do jego zakończenia.
Jakie dane są najczęściej potrzebne do połączenia PHP z bazą MySQL?
Najczęściej potrzebne są: adres serwera, nazwa użytkownika, hasło oraz nazwa bazy danych. Przykładowo: localhost, root, hasło i nazwa konkretnej bazy.
Jak sprawdzić, czy połączenie z bazą danych w PHP się nie powiodło?
Można sprawdzić wynik mysqli_connect() lub użyć funkcji mysqli_connect_errno() i mysqli_connect_error(). Pozwala to wykryć i opisać błąd połączenia.
Do czego służy słowo kluczowe DISTINCT w zapytaniu SELECT?
DISTINCT usuwa powtarzające się wiersze z wyniku zapytania. W przykładzie `SELECT DISTINCT nazwisko FROM mieszkancy;` każde nazwisko pojawi się tylko raz.
Dlaczego samo ORDER BY nie usuwa duplikatów?
`ORDER BY` służy wyłącznie do sortowania wyników. Jeśli w tabeli kilka osób ma to samo nazwisko, sortowanie nadal pokaże wszystkie powtórzenia.
Jaka jest różnica między SELECT nazwisko a SELECT DISTINCT nazwisko?
`SELECT nazwisko` zwraca wszystkie wartości z kolumny, także powtórzone. `SELECT DISTINCT nazwisko` zwraca tylko unikalne wartości.
Czy DISTINCT działa na jedną kolumnę czy na cały zestaw wybranych kolumn?
DISTINCT działa na cały wybrany zestaw kolumn. Jeśli zapytanie wybiera `imie, nazwisko`, unikalna musi być para wartości, a nie samo nazwisko.
Czy można połączyć DISTINCT z ORDER BY?
Tak. Przykład: `SELECT DISTINCT nazwisko FROM mieszkancy ORDER BY nazwisko;` zwróci unikalne nazwiska posortowane alfabetycznie.
Dlaczego AVG(nazwisko) jest błędnym rozwiązaniem w tym pytaniu?
`AVG()` oblicza średnią arytmetyczną, więc stosuje się ją do danych liczbowych. Nazwisko jest tekstem, a celem pytania jest usunięcie powtórzeń, nie liczenie średniej.