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 79 z 81.
Dlaczego naiwny algorytm szukania minimum ma złożoność O(n)?
Ponieważ w najprostszym rozwiązaniu trzeba przejrzeć wszystkie n elementów kolekcji. Liczba operacji rośnie liniowo wraz z liczbą danych.
Ile porównań wykonuje algorytm szukania minimum w tablicy n-elementowej?
Zwykle wykonuje n-1 porównań, jeśli pierwszy element przyjmie się jako początkowe minimum. W notacji Big O zapisuje się to jako O(n).
Co oznacza zapis O(n)?
O(n) oznacza złożoność liniową. Gdy liczba danych wzrośnie dwukrotnie, liczba operacji również wzrośnie w przybliżeniu dwukrotnie.
Czy położenie najmniejszego elementu zmienia złożoność algorytmu?
W standardowym naiwnym algorytmie nie zmienia złożoności asymptotycznej. Aby mieć pewność, że znaleziono minimum, trzeba sprawdzić wszystkie elementy.
Czym różni się złożoność O(n) od O(n²)?
O(n) oznacza pojedyncze liniowe przejście po danych. O(n²) zwykle pojawia się przy dwóch zagnieżdżonych pętlach zależnych od liczby elementów.
Czy w posortowanej kolekcji można znaleźć minimum szybciej?
Tak, jeśli wiadomo, że kolekcja jest posortowana rosnąco, minimum znajduje się na początku i można je pobrać w czasie O(1). Dla kolekcji nieposortowanej standardowo jest to O(n).
Na czym polega integralność encji w relacyjnej bazie danych?
Polega na tym, że każdy rekord w tabeli musi być jednoznacznie identyfikowalny. Zapewnia to klucz główny, który jest unikalny i nie może mieć wartości NULL.
Dlaczego klucz główny jest ważny dla tabeli?
Klucz główny pozwala jednoznacznie wskazać konkretny rekord. Bez niego tabela może zawierać trudne do odróżnienia duplikaty.
Czy klucz główny zawsze musi być liczbą całkowitą?
Nie. Może być liczbą, tekstem lub zestawem kilku kolumn, pod warunkiem że jednoznacznie identyfikuje rekord i nie zawiera wartości NULL.
Jaka jest różnica między kluczem głównym a kluczem obcym?
Klucz główny identyfikuje rekord w swojej tabeli. Klucz obcy tworzy powiązanie z rekordem w innej tabeli.
Czy każda tabela musi być wskazywana przez klucz obcy z innej tabeli?
Nie. Tabela może mieć klucz główny i nie być powiązana kluczem obcym z żadną inną tabelą.
Czy przypisanie typów danych kolumnom wystarcza do zachowania integralności encji?
Nie. Typ danych określa, jakie wartości można przechowywać w kolumnie, ale nie gwarantuje jednoznacznej identyfikacji rekordów.
Czym różni się integralność encji od integralności referencyjnej?
Integralność encji dotyczy jednoznacznej identyfikacji rekordów w tabeli przez klucz główny. Integralność referencyjna dotyczy poprawności powiązań między tabelami przez klucze obce.
Do czego służy formularz w bazie danych?
Formularz służy do wygodnego wprowadzania, przeglądania i edytowania danych zapisanych w tabelach. Użytkownik pracuje na czytelnym widoku zamiast bezpośrednio na tabeli.
Czym formularz różni się od raportu?
Formularz jest przeznaczony głównie do pracy z danymi, np. ich dodawania i edycji. Raport służy przede wszystkim do prezentacji, podsumowania i wydruku danych.
Dlaczego kwerenda SELECT nie jest najlepszą odpowiedzią w tym pytaniu?
Kwerenda SELECT służy do pobierania i wyświetlania danych z bazy. Sama w sobie nie jest narzędziem zaprojektowanym do wygodnego wprowadzania i edytowania rekordów.
Na czym polega filtrowanie danych?
Filtrowanie ogranicza widoczne dane do rekordów spełniających określony warunek. Nie jest jednak narzędziem służącym do wprowadzania nowych danych.
Jakie operacje CRUD można wykonywać za pomocą formularza?
Formularz może umożliwiać tworzenie nowych rekordów, odczyt danych, aktualizowanie istniejących rekordów oraz czasem ich usuwanie. Odpowiada to operacjom Create, Read, Update, Delete.
Dlaczego formularze zmniejszają ryzyko błędów przy wprowadzaniu danych?
Formularz może zawierać pola wyboru, listy rozwijane, ograniczenia i walidację danych. Dzięki temu użytkownik rzadziej wpisuje dane w złym formacie lub w niewłaściwe miejsce.
Do czego służy właściwość CSS text-decoration?
Właściwość `text-decoration` służy do dodawania dekoracji tekstu, np. podkreślenia, nadkreślenia lub przekreślenia.
Jakie wartości właściwości text-decoration odpowiadają za podkreślenie, nadkreślenie i przekreślenie?
`underline` oznacza podkreślenie dolne, `overline` oznacza linię nad tekstem, a `line-through` oznacza przekreślenie.
Jak zapisać w CSS przekreślenie tekstu?
Należy użyć zapisu `text-decoration: line-through;`, np. `p { text-decoration: line-through; }`.
Czym różni się text-decoration od text-align?
`text-decoration` dodaje efekty wizualne do tekstu, np. podkreślenie. `text-align` służy do wyrównywania tekstu, np. do lewej, prawej lub środka.
Czym różni się text-decoration od text-transform?
`text-decoration` odpowiada za dekoracje tekstu, np. podkreślenie. `text-transform` zmienia wielkość liter, np. na wielkie litery za pomocą `uppercase`.
Czym różni się text-decoration od text-indent?
`text-decoration` dodaje linię przy tekście, np. podkreślenie. `text-indent` ustawia wcięcie pierwszego wiersza tekstu.
Jak usunąć domyślne podkreślenie linku w CSS?
Najczęściej stosuje się `text-decoration: none;`, np. `a { text-decoration: none; }`.
Co usuwa instrukcja DELETE w SQL?
Instrukcja `DELETE` usuwa rekordy, czyli wiersze danych z tabeli. Nie usuwa samej tabeli ani jej kolumn.
Jaką rolę pełni klauzula WHERE w poleceniu DELETE?
`WHERE` określa warunek wyboru rekordów do usunięcia. W przykładzie usuwane są tylko rekordy, w których `status = 1`.
Co się stanie po wykonaniu polecenia DELETE bez WHERE?
Zostaną usunięte wszystkie rekordy z podanej tabeli. Struktura tabeli nadal pozostanie w bazie danych.
Czym różni się DELETE FROM od DROP TABLE?
`DELETE FROM` usuwa dane z tabeli, a `DROP TABLE` usuwa całą tabelę wraz z jej strukturą. To dwa różne typy operacji.
Czy polecenie DELETE FROM mieszkania WHERE status = 1 usuwa kolumnę status?
Nie. Kolumna `status` jest tylko użyta w warunku. Usunięte zostaną całe rekordy spełniające ten warunek.
Do jakiej grupy instrukcji SQL należy DELETE?
`DELETE` należy do DML, czyli języka manipulowania danymi. DML obejmuje operacje na rekordach, np. dodawanie, modyfikowanie i usuwanie danych.
Do czego służy tablica $_SESSION w PHP?
Tablica $_SESSION przechowuje dane sesji użytkownika po stronie serwera. Pozwala zachować informacje między kolejnymi żądaniami, np. identyfikator zalogowanego użytkownika lub wybrany element.
Jak poprawnie przypisać wartość do zmiennej sesyjnej w PHP?
Należy użyć składni tablicy asocjacyjnej: $_SESSION["nazwa"] = wartość;. Dla zmiennej wyborID i wartości 4 będzie to: $_SESSION["wyborID"] = 4;
Dlaczego w PHP używa się zapisu $_SESSION["wyborID"], a nie session.wyborID?
PHP nie używa notacji kropkowej do dostępu do elementów tablic. $_SESSION jest superglobalną tablicą asocjacyjną, więc jej elementy odczytuje się i zapisuje za pomocą nawiasów kwadratowych.
Co trzeba zrobić przed użyciem zmiennych sesyjnych w PHP?
Przed odczytem lub zapisem danych sesji należy wywołać session_start();. Funkcja ta uruchamia lub wznawia sesję użytkownika.
Jaka jest różnica między nazwą zmiennej sesyjnej a jej wartością?
Nazwa zmiennej sesyjnej to klucz w tablicy, np. "wyborID". Wartość to dane przypisane do tego klucza, np. liczba 4.
Jak odczytać wartość zmiennej sesyjnej wyborID w PHP?
Po uruchomieniu sesji można odczytać ją przez $_SESSION["wyborID"]. Na przykład echo $_SESSION["wyborID"]; wypisze zapisaną wartość.
Jak sprawdzić, czy zmienna sesyjna została ustawiona?
Najczęściej używa się funkcji isset(), np. isset($_SESSION["wyborID"]). Zwraca ona true, jeśli element istnieje i nie ma wartości null.
Dlaczego wyrażenie 5 === '5' zwraca false?
Ponieważ `5` jest liczbą typu `number`, a `'5'` jest tekstem typu `string`. Operator `===` wymaga zgodności zarówno wartości, jak i typu danych.
Czym różni się operator == od operatora === w JavaScript?
`==` porównuje wartości po możliwej konwersji typów, natomiast `===` porównuje wartości bez konwersji typów. Dlatego `5 == '5'` daje `true`, a `5 === '5'` daje `false`.
Co oznaczają apostrofy wokół liczby w JavaScript?
Apostrofy oznaczają tekst, czyli typ `string`. Zapis `'5'` nie jest liczbą, tylko ciągiem znaków zawierającym znak 5.
Jaką rolę pełni document.write() w tym przykładzie?
`document.write()` wypisuje podaną wartość do dokumentu HTML. W tym przypadku wypisze wynik porównania, czyli `false`.
Jak sprawdzić typ wartości w JavaScript?
Do sprawdzania typu służy operator `typeof`, np. `typeof 5` zwróci `'number'`, a `typeof '5'` zwróci `'string'`.
Dlaczego w JavaScript zaleca się używanie operatora ===?
Operator `===` jest bezpieczniejszy, ponieważ nie wykonuje automatycznej konwersji typów. Dzięki temu wynik porównania jest bardziej przewidywalny.
Do czego służy element <img> w HTML?
Element <img> służy do osadzania obrazu na stronie internetowej. Jest elementem pustym, czyli nie ma znacznika zamykającego.
Jaką rolę pełni atrybut src w znaczniku <img>?
Atrybut src wskazuje lokalizację pliku graficznego, który ma zostać wyświetlony. Jeśli ścieżka jest błędna lub plik nie istnieje, przeglądarka nie załaduje obrazu.
Co oznacza atrybut alt w obrazie HTML?
Atrybut alt zawiera tekst alternatywny dla obrazu. Jest wyświetlany lub odczytywany wtedy, gdy grafika nie może zostać załadowana albo gdy użytkownik korzysta z czytnika ekranu.
Co zobaczy użytkownik, gdy obraz z <img> nie zostanie odnaleziony?
Przeglądarka nie wyświetli grafiki, ale może pokazać tekst z atrybutu alt w miejscu obrazu. W podanym przykładzie będzie to tekst „pejzaż”.
Dlaczego warto zawsze uzupełniać atrybut alt przy obrazach?
Atrybut alt poprawia dostępność strony i ułatwia zrozumienie treści osobom korzystającym z czytników ekranu. Pomaga też wtedy, gdy obraz nie załaduje się z powodu błędnej ścieżki lub braku pliku.
Czy brak obrazka powoduje zatrzymanie ładowania całej strony HTML?
Nie. Strona nadal się wyświetli, a problem dotyczy tylko konkretnego obrazu, którego przeglądarka nie mogła odnaleźć.
Czym jest właściwość obiektu w JavaScript?
Właściwość to element obiektu zapisany jako para klucz-wartość. Przykładem właściwości są `x: 0` i `y: 0`.
Kiedy właściwość obiektu nazywamy metodą?
Właściwość nazywamy metodą, gdy jej wartością jest funkcja. Przykład: `wsp: function() { ... }`.
Ile właściwości i metod ma obiekt `{ x: 0, y: 0, wsp: function() {} }`?
Ma dwie właściwości danych: `x` i `y`, oraz jedną metodę: `wsp`.
Jak odwołać się do właściwości obiektu w JavaScript?
Najczęściej używa się notacji kropkowej, np. `obiekt.x`. Można też użyć nawiasów kwadratowych, np. `obiekt["x"]`.
Jak wywołać metodę obiektu w JavaScript?
Metodę wywołuje się z nawiasami, np. `obiekt.wsp()`. Same `obiekt.wsp` oznacza odwołanie do funkcji, ale bez jej uruchomienia.
Czy funkcja zapisana wewnątrz obiektu nadal jest funkcją?
Tak, ale w kontekście obiektu nazywa się ją metodą. Technicznie jest to funkcja przypisana do właściwości obiektu.
Czym jest referencja do elementu HTML w JavaScript?
Referencja to dostęp do obiektu reprezentującego element strony w DOM. Dzięki niej można odczytywać i zmieniać właściwości elementu, np. tekst, styl lub atrybuty.
Co zwróci document.getElementById(), jeśli element o podanym id nie istnieje?
Metoda zwróci wartość `null`. Próba użycia właściwości na `null`, np. `null.textContent`, spowoduje błąd w JavaScript.
Czy w argumencie getElementById() należy wpisywać znak #?
Nie. W `getElementById()` podaje się samą wartość identyfikatora, np. `"menu"`, a nie `"#menu"`. Znak `#` stosuje się m.in. w selektorach CSS i metodzie `querySelector()`.
Dlaczego atrybut id powinien być unikalny na stronie HTML?
Atrybut `id` identyfikuje konkretny element dokumentu, dlatego powinien występować tylko raz. Duplikaty mogą powodować niejednoznaczne działanie skryptów i problemy z poprawnością HTML.
Jak można zmienić treść elementu pobranego przez getElementById()?
Można użyć właściwości `textContent` lub `innerHTML`. `textContent` ustawia zwykły tekst, a `innerHTML` pozwala wstawić także kod HTML.
Jaka jest różnica między getElementById() a querySelector()?
`getElementById()` wyszukuje element wyłącznie po wartości `id`. `querySelector()` używa selektora CSS, np. `#menu`, `.klasa` albo `div p`.