Wykorzystanie widżetu ListView oraz wbudowanych fragmentów simple_list_item_1 oraz simple_list_item_2 do wyświetlania listy elementów.
Ćwiczenia w PHP i SQL - Portal Sakila
Niniejszy wpis jest pewnego rodzaju "instrukcją" prowadzącą do zbudowania portalu obsługującego wypożyczalnię wideo - Sakilę. Portal ten bazuje na testowej bazie danych Sakila (tutaj zip), z której korzystam podczas zajęć związanych z bazami danych. Przy każdej liście zadań znajduje się zaznaczenie, które metody spośród CRUD są implementowane w zadaniach na liście.
(Lista jest w trakcie tworzenia. Data ostatniej aktualizacji: 10.11.2025.)
Lista 0: stworzenie szablonu witryny (można pominąć)
Aby witryna dobrze wyglądała, nie jest złym pomysłem zacząć od atrapy / makiety, czyli mockupu - szablonu wyglądu, który choć nie dostarcza żadnych funkcjonalności aplikacji, pozwala na jej wizualizację.
Warto zapoznać się z możliwościami biblioteki Bootstrap: https://getbootstrap.com/.
Lista 1: wyświetlanie informacji podstawowych (cRud)
- Utwórz plik index.php wyświetlający listę filmów w bazie. Każdy film powinien być linkiem do pliku film.php, wysyłającym metodą GET (ale nie formularzem!), który film wyświetlić.
- Utwórz plik film.php. Plik ten powinien wyświetlić informacje o wybranym filmie (parametr wysłany metodą GET) - tytuł, opis, rating, długość. Następnie należy wyświetlić kategorie, do których film należy (każda kategoria "klikalna" - link do category.php wyświetlającego szczegóły kategorii), oraz obsadę (lista/tabela aktorów, każdy "klikalny" - link do actor.php wyświetlającego szczegóły aktora).
- Utwórz plik actor.php. Plik ten powinien wyświetlić szczegóły dotyczące aktora: imię i nazwisko, liczbę filmów, w których grał. Poniżej powinna być przedstawiona lista filmów, w których grał (każdy tytuł "klikalny" jak w p. 2).
- Utwórz plik category.php. Plik ten powinien wyświetlać szczegóły kategorii: nazwę, liczbę filmów w tej kategorii i ich listę (każdy tytuł "klikalny" jak w p. 2).
W tym momencie powinno być możliwe przeglądanie listy filmów, szczegółów o filmach, aktorach i kategoriach.
Czytaj dalejKonfiguracja interfejsów sieciowych w Linuksie z wykorzystaniem netplanu
Netplan jest narzędziem zarządzającym konfiguracją wszelkich aspektów konfiguracji sieci komputerowych podłączonych do urządzenia z systemem Linux. System Ubuntu zaadaptował to narzędzie w wersji 17.10 Artful Aardvark (Pomysłowy Mrównik) i od tamtej pory należy z niego korzystać, aby „trwale” skonfigurować sieć w systemie.
Dzięki netplanowi możliwe jest:
- konfigurowanie tylko podanych interfejsów / urządzeń (te niewymienione w pliku konfiguracyjnym nie są "ruszane"),
- wykorzystanie sieci w ekstremalnie okrojonym systemie (wręcz na etapie initramfs),
- bardzo szybka zmiana konfiguracji, ponieważ jest ona ustalana przy starcie systemu i tracona przy restarcie (efemeryczna),
- możliwe jest generowanie maszyn wirtualnych / kontenerów z zadaną konfiguracją sieciową jedynie poprzez dodanie pliku konfiguracyjnego do jej plików.
Ograniczenia modelu relacyjnego. Rodzaje kluczy w relacyjnych bazach danych
Tworząc schematy baz danych, możemy korzystać z narzucanych przez model relacyjny ograniczeń, aby system baz danych "pilnował nas" podczas pracy z przechowywanymi w bazie danymi.
Ograniczenia modelu relacyjnego możemy podzielić na trzy grupy:
- ograniczenia oparte na modelu danych, wynikające wprost z założeń modelu relacyjnego,
- ograniczenia oparte na schemacie (ograniczenia bezpośrednie), wynikające z zaprojektowanego schematu danych,
- ograniczenia oparte na aplikacjach (ograniczenia semantyczne / reguły biznesowe), wynikające z założeń, na podstawie których projektuje się schemat bazy danych; ograniczenia te nie mogą być zaprogramowane w bazie danych (lub jest to bardzo trudne do zaimplementowania), przez co są wyrażane w projektowanej aplikacji bazodanowej.
Ćwiczenia w kwerendach wprowadzających/wstawiających
Bazując na bazie testowej Sakila, wykonaj następujące ćwiczenia. Pod listą zadań znajduje się przypomnienie składni polecenia INSERT INTO.
- Stworzyć kwerendę wprowadzającą do tabeli
actornastępujące dane.
| pole | wartość |
| actor_id | 201 |
| first_name | Andrew |
| last_name | McConaughey |
| last_update | 2020-10-21 14:12:23 |
2. Stworzyć kwerendę dodającą do tabeli film_actor następujące dane. Nieokreślone dane pozostawić domyślne.
actor_id | film_id |
| 201 | 1 |
| 201 | 2 |
| 201 | 3 |
3. Utworzyć tabelę actor_copy zgodną z definicją tabeli actor.
4. Utworzyć zapytanie wykonujące kopię danych z tabeli actor do tabeli actor_copy.