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: 4330.
Strona 34 z 51.
Czym jest replikacja bazy danych?
Replikacja bazy danych to kopiowanie i synchronizowanie danych między serwerami bazodanowymi. Umożliwia zwiększenie dostępności danych, wydajności odczytu lub bezpieczeństwa systemu.
Jak rozpoznać model centralnego wydawcy na schemacie?
W modelu centralnego wydawcy jeden centralny serwer wysyła dane do wielu innych serwerów. Strzałki na schemacie zwykle wychodzą z jednego punktu i prowadzą do wielu subskrybentów.
Kim jest subskrybent w replikacji bazy danych?
Subskrybent to serwer, który odbiera dane publikowane przez wydawcę. Może przechowywać kopię danych do odczytu, raportowania lub dalszego przetwarzania.
Jaka jest różnica między wydawcą a dystrybutorem?
Wydawca udostępnia dane przeznaczone do replikacji, a dystrybutor pośredniczy w ich przekazywaniu do subskrybentów. W prostych schematach role te mogą być przedstawiane razem lub mylone wizualnie.
Czym różni się model centralnego wydawcy od modelu centralnego subskrybenta?
W modelu centralnego wydawcy jeden serwer rozsyła dane do wielu odbiorców. W modelu centralnego subskrybenta wiele serwerów przesyła dane do jednego centralnego odbiorcy.
Kiedy stosuje się model centralnego wydawcy?
Stosuje się go, gdy jedna główna baza danych ma zasilać wiele kopii danych, np. dla oddziałów firmy, serwerów raportowych lub systemów odczytowych.
Jakie jest główne ryzyko modelu centralnego wydawcy?
Głównym ryzykiem jest zależność od centralnego źródła danych. Awaria wydawcy może utrudnić aktualizację danych u wszystkich subskrybentów.
Co oznacza zapis SELECT * w zapytaniu SQL?
SELECT * oznacza pobranie wszystkich kolumn z tabeli wskazanej w klauzuli FROM. W tym pytaniu pobierane są wszystkie kolumny z tabeli uczniowie.
Jaką rolę pełni klauzula WHERE w zapytaniu SQL?
WHERE filtruje rekordy według podanego warunku. Warunek srednia > 5 powoduje, że zwróceni zostaną tylko uczniowie ze średnią większą niż 5.
Do czego służy klauzula ORDER BY?
ORDER BY ustala kolejność rekordów w wyniku zapytania. Można sortować według jednej lub wielu kolumn.
Co oznacza DESC w ORDER BY klasa DESC?
DESC oznacza sortowanie malejące. Wyniki zostaną uporządkowane od największej do najmniejszej wartości w kolumnie klasa.
Czym różni się ASC od DESC w SQL?
ASC sortuje rosnąco, czyli od najmniejszej do największej wartości. DESC sortuje malejąco, czyli od największej do najmniejszej wartości.
Według której kolumny sortowane są wyniki zapytania SELECT * FROM uczniowie WHERE srednia > 5 ORDER BY klasa DESC?
Wyniki są sortowane według kolumny klasa, ponieważ ta kolumna została podana po ORDER BY. Kolumna srednia służy tu tylko do filtrowania rekordów.
Do czego służy polecenie ALTER TABLE w SQL?
Polecenie `ALTER TABLE` służy do zmiany struktury istniejącej tabeli, np. dodania, usunięcia lub modyfikacji kolumny. Należy do instrukcji DDL.
Co oznacza zapis VARCHAR(30)?
Oznacza kolumnę tekstową o zmiennej długości, która może przechować maksymalnie 30 znaków.
Dlaczego w tym pytaniu poprawne jest MODIFY COLUMN, a nie UPDATE?
`MODIFY COLUMN` zmienia definicję kolumny, czyli strukturę tabeli. `UPDATE` zmienia dane zapisane w rekordach, a nie typ ani długość kolumny.
Czym różni się VARCHAR od CHAR?
`VARCHAR` przechowuje tekst zmiennej długości, a `CHAR` tekst stałej długości. Dla imion, nazwisk i podobnych danych zwykle stosuje się `VARCHAR`.
Czy zmniejszenie długości kolumny VARCHAR może być problematyczne?
Tak. Jeśli w kolumnie istnieją już dane dłuższe niż nowy limit, system bazy danych może zgłosić błąd albo obciąć dane, zależnie od konfiguracji i DBMS.
Jak ogólnie wygląda składnia zmiany typu kolumny w MySQL?
Typowa składnia to `ALTER TABLE nazwa_tabeli MODIFY COLUMN nazwa_kolumny nowy_typ;`, np. `ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);`.
Co oznacza operator modulo `%` w PHP?
Operator `%` zwraca resztę z dzielenia całkowitego. Na przykład `7 % 2` daje `1`, a `8 % 2` daje `0`.
Dlaczego warunek `$liczba % 2 == 0` sprawdza parzystość liczby?
Liczba parzysta dzieli się przez 2 bez reszty. Jeśli reszta z dzielenia przez 2 wynosi 0, liczba jest parzysta.
Jaka jest różnica między wynikiem dzielenia a resztą z dzielenia?
Wynik dzielenia to iloraz, np. `8 / 2 = 4`. Reszta z dzielenia to to, co zostaje po dzieleniu całkowitym, np. `8 % 2 = 0`.
Kiedy instrukcja `echo $liczba;` zostanie wykonana w podanym kodzie?
Zostanie wykonana tylko wtedy, gdy warunek w instrukcji `if` będzie prawdziwy. W tym przypadku stanie się tak dla liczb parzystych.
Czym różni się operator `==` od operatora `=` w PHP?
`==` służy do porównywania wartości, natomiast `=` służy do przypisania wartości do zmiennej. Pomylenie ich w warunku może prowadzić do błędów logicznych.
Czym różni się operator `==` od `===` w PHP?
`==` porównuje wartości z możliwą konwersją typów. `===` porównuje zarówno wartość, jak i typ danych.
Jaki warunek można zapisać, aby sprawdzić, czy liczba jest nieparzysta?
Można użyć warunku `$liczba % 2 != 0`. Oznacza on, że reszta z dzielenia przez 2 nie jest równa 0.
Co robi metoda document.createElement() w JavaScript?
Tworzy nowy element HTML jako obiekt DOM. Samo jej użycie nie powoduje jeszcze wyświetlenia elementu na stronie.
Co robi metoda appendChild()?
Dodaje wskazany element jako ostatnie dziecko elementu nadrzędnego. Na przykład `document.body.appendChild(akapit)` dodaje akapit na końcu treści strony.
Dlaczego w podanym kodzie akapit pojawia się na końcu strony?
Ponieważ element jest dodawany do `document.body` metodą `appendChild()`. Ta metoda umieszcza nowy element na końcu listy dzieci elementu nadrzędnego.
Czy document.createElement("p") od razu wyświetla akapit na stronie?
Nie. Ta instrukcja tylko tworzy element w pamięci. Aby pojawił się na stronie, trzeba go dodać do DOM, np. metodą `appendChild()`.
Jak dodać tekst do utworzonego akapitu?
Można użyć właściwości `textContent`, np. `akapit.textContent = "Treść akapitu";`. Dopiero potem można dodać element do strony.
Czym różni się appendChild() od alert()?
`appendChild()` modyfikuje strukturę strony, dodając element do DOM. `alert()` wyświetla okno dialogowe z komunikatem.
Co oznacza wartość false zwrócona przez mysql_query()?
Oznacza, że zapytanie SQL nie zostało poprawnie wykonane. W takim przypadku należy obsłużyć błąd, np. wyświetlić komunikat o problemie z przetwarzaniem zapytania.
Dlaczego w kodzie zastosowano warunek if (!$x)?
Operator `!` oznacza negację, więc warunek sprawdza, czy zmienna `$x` ma wartość fałszywą. Dla `mysql_query()` taka wartość oznacza błąd wykonania zapytania.
Jakie zapytanie SQL znajduje się w kodzie?
W kodzie znajduje się zapytanie `SELECT * FROM mieszkanci`, które próbuje pobrać wszystkie kolumny i wszystkie rekordy z tabeli `mieszkanci`.
Czy komunikat o złym haśle do bazy danych pasuje do tego fragmentu kodu?
Nie. Złe hasło dotyczyłoby zwykle etapu nawiązywania połączenia z bazą danych, a nie samego wykonania zapytania przez `mysql_query()`.
Czym różni się błąd połączenia z bazą od błędu zapytania SQL?
Błąd połączenia oznacza, że aplikacja nie połączyła się z serwerem bazy danych. Błąd zapytania oznacza, że połączenie może istnieć, ale konkretna instrukcja SQL nie została wykonana poprawnie.
Dlaczego funkcja mysql_query() nie jest zalecana we współczesnym PHP?
Należy do starego rozszerzenia `mysql`, które jest przestarzałe i usunięte w nowszych wersjach PHP. Zamiast niego stosuje się `mysqli` lub `PDO`.
Dlaczego stwierdzenie, że SQL jest językiem programowania strukturalnego, jest fałszywe?
SQL jest językiem zapytań do baz danych, a nie klasycznym językiem programowania strukturalnego. Służy głównie do określania, jakie dane mają zostać pobrane lub zmienione.
Co oznacza skrót SQL?
SQL oznacza Structured Query Language, czyli strukturalny język zapytań. Nazwa nie oznacza jednak, że SQL jest językiem programowania strukturalnego.
Czym różni się język deklaratywny od języka imperatywnego?
W języku deklaratywnym opisuje się oczekiwany rezultat, np. jakie dane pobrać. W języku imperatywnym opisuje się krok po kroku sposób wykonania zadania.
Dlaczego JavaScript nazywa się językiem skryptowym?
JavaScript jest często wykonywany przez interpreter w przeglądarce lub środowisku uruchomieniowym. Służy m.in. do obsługi interakcji na stronie internetowej.
Czy C++ jest językiem obiektowym?
Tak. C++ obsługuje programowanie obiektowe, m.in. klasy, obiekty, dziedziczenie, hermetyzację i polimorfizm.
Do czego służy PHP w tworzeniu stron internetowych?
PHP jest językiem działającym głównie po stronie serwera. Umożliwia generowanie dynamicznych stron, obsługę formularzy, sesji oraz komunikację z bazą danych.
Jaka jest różnica między językiem po stronie klienta a językiem po stronie serwera?
Język po stronie klienta, np. JavaScript, działa w przeglądarce użytkownika. Język po stronie serwera, np. PHP, wykonuje się na serwerze i generuje odpowiedź wysyłaną do przeglądarki.
Jakie grupy poleceń SQL są najważniejsze na egzaminie INF.03?
Najważniejsze są DML, np. SELECT, INSERT, UPDATE, DELETE, oraz DDL, np. CREATE TABLE, ALTER TABLE, DROP TABLE. Warto znać ich zastosowanie i podstawową składnię.
Do czego służy atrybut value w polu tekstowym formularza?
Ustawia początkową, domyślną wartość widoczną w polu po załadowaniu strony. Użytkownik może ją zmienić, jeśli pole nie jest tylko do odczytu.
Czym różni się atrybut value od atrybutu name?
`value` określa wartość pola, a `name` określa nazwę tego pola podczas przesyłania formularza. Do serwera trafia zwykle para `name=value`.
Który atrybut ogranicza maksymalną długość tekstu w polu formularza?
Do ograniczenia liczby znaków służy atrybut `maxlength`, a nie `value`.
Który atrybut ustawia pole formularza jako tylko do odczytu?
Pole tylko do odczytu ustawia atrybut `readonly`. Atrybut `value` może jedynie podać wartość, która będzie w takim polu wyświetlana.
Jak zapisać atrybut value zgodnie ze składnią XHTML?
W XHTML wartość atrybutu należy ująć w cudzysłów, np. `<input type="text" name="login" value="admin" />`.
Jaką rolę pełni value w przycisku wysyłania formularza?
Dla `<input type="submit">` atrybut `value` określa napis widoczny na przycisku, np. `value="Wyślij"`.
Jak JavaScript porównuje dwa łańcuchy znaków operatorem większości?
Porównuje je leksykograficznie, znak po znaku od lewej strony. Decyduje pierwszy znak, który różni się w obu napisach.
Dlaczego wyrażenie 'def' > 'abc' zwraca true?
Pierwszy znak napisu 'def' to 'd', a pierwszy znak napisu 'abc' to 'a'. Ponieważ 'd' występuje dalej niż 'a', wynik porównania to true.
Dlaczego wyrażenie 'ab' > 'c' zwraca false?
JavaScript porównuje najpierw pierwsze znaki. Litera 'a' jest mniejsza od 'c', więc całe porównanie zwraca false.
Czy długość tekstu zawsze decyduje o wyniku porównania napisów?
Nie. Najpierw porównywane są znaki od lewej strony. Długość ma znaczenie głównie wtedy, gdy początkowe znaki są takie same, np. 'abc' > 'ab'.
Czy wielkość liter wpływa na porównywanie napisów w JavaScript?
Tak. JavaScript porównuje znaki według ich kodów Unicode, więc wielkie i małe litery mają różne wartości.
Jak uniknąć problemów z wielkością liter podczas porównywania tekstów?
Można przed porównaniem sprowadzić oba napisy do tej samej wielkości liter, np. używając metod `toLowerCase()` lub `toUpperCase()`.
Do czego służy właściwość CSS `list-style-image`?
Służy do ustawienia obrazka jako punktora listy. Obrazek pojawia się przy elementach listy zamiast standardowego znaku, np. kropki.
Czy `list-style-image` ustawia tło listy?
Nie. Do ustawiania tła służy właściwość `background-image`, a `list-style-image` dotyczy punktora listy.
Jakiego elementu HTML najczęściej dotyczy styl `ul { list-style-image: ... }`?
Dotyczy listy nienumerowanej `<ul>` oraz jej elementów `<li>`. Punktor przy każdym elemencie listy może zostać zastąpiony obrazkiem.
Jaka jest różnica między `list-style-image` a `list-style-type`?
`list-style-image` ustawia grafikę jako punktor, natomiast `list-style-type` określa standardowy typ punktora, np. `disc`, `circle` lub `square`.
Co oznacza zapis `url('rys.gif')` w CSS?
Wskazuje ścieżkę do pliku graficznego używanego przez daną właściwość CSS. W tym przypadku plik `rys.gif` zostanie użyty jako obrazek punktora listy.
Jak ustawić zwykły kwadrat jako punktor listy bez używania obrazka?
Można użyć właściwości `list-style-type: square;`. Nie wymaga to podawania pliku graficznego.