Które z poniższych elementów bazy mogą przyjmować argumenty? Możliwe odpowiedzi: 1. Widok, 2. Funkcja, 3. Trigger, 4. Procedura
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
R3hEC7VxG8XBv1
Ćwiczenie 2
Za pomocą których elementów bazy danych da się modyfikować zawartość tabel? Możliwe odpowiedzi: 1. Widoki, 2. Funkcje, 3. Procedury, 4. Trigger'y
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
R16Yq65jG1HlY2
Ćwiczenie 3
Uzupełnij zdania.
Uzupełnij zdania.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
2
Ćwiczenie 4
R1LN4eKDXLuiJ2
Do elementu bazy danych dobierz jego funkcję. Funkcja Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną Procedura Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną Trigger Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną Widok Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną
Do elementu bazy danych dobierz jego funkcję. Funkcja Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną Procedura Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną Trigger Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną Widok Możliwe odpowiedzi: 1. Wykonuje operacje przy wywołaniu, 2. Zawiera podsumowanie danych z innych tabel, 3. Automatycznie wykonuje operacje dla danego wydarzenia w bazie, 4. Wykonuje operacje i zwraca zmienną
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
RhWSgvQqYX2VW
Tworzysz projekt we Flask, który zdefiniowany jest następująco: bp = Blueprint('zadania', __name__, url_prefix='/zadania'). Dopasuj dekoratory do właściwych adresów, wybierając z listy.
Tworzysz projekt we Flask, który zdefiniowany jest następująco: bp = Blueprint('zadania', __name__, url_prefix='/zadania'). Dopasuj dekoratory do właściwych adresów, wybierając z listy.
R1HydzFY7E8T32
Ćwiczenie 5
Wskaż instrukcję, która w aplikacji napisanej we Flask, zwróci szablon zadania.html, do którego przekazano dane w zmiennej rekordy.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
R1GbVI7hIO3Hn2
Ćwiczenie 6
Trigger'y mogą zostać uruchomione poprzez Możliwe odpowiedzi: 1. Wywołanie ich za pomocą kwerendy, 2. Zajście wydarzenia, z którym są połączone, 3. Wywołanie ich za pomocą funkcji
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Załączone archiwum blog.zip zawiera katalog blog z plikami aplikacji Blog napisanej we frameworku Flask. Zadaniem aplikacji jest obsługa bazy danych, w której znajdzie się jedna tabela wpisy.
Pobierz i rozpakuj archiwum. W katalogu blog utwórz wirtualne środowisko języka Python i zainstaluj w nim pakiet Flask w wersji 2.3.2. Następnie wykonaj poniższe ćwiczenia.
Rnv2lV2TAih4K
Przycisk służy do pobrania plik ZIP. zawierającego archiwum.
Na podstawie poniższej ilustracji przygotuj klauzule SQL tworzące tabelę wpisy i umieść kod w pliku blog.sql w katalogu aplikacji.
R1bHXbaPbPDck
Zrzut ekranu przedstawia tabelę składająca się z trzech kolumn i z pięciu wierszy. Nagłówek drugiej kolumny. Nazwa pola. Nagłówek trzeciej kolumny. Typ pola. Drugi wiesz został zaznaczony w pierwszej kolumnie, dalej w drugiej kolumnie podano nazwę pola, to znaczy id, a w trzeciej kolumnie podano typ pola Integer [INTEGER]. W kolejnych wierszach w pierwszej kolumnie znajdują się puste pola. W wierszu trzecim podano nazwę pola tytul oraz typ pola Tekst [VARCHAR]. W czwartym wierszu nazwa pola to tresc, natomiast typ pola to Tekst [VARCHAR]. W piątym wierszu nazwa pola to pokaz, a typ pola to Tak/Nie [BOOLEAN].
Następnie w pliku wpisy.py dodaj:
widok lista() skojarzony z adresem URL .../wpisy/lista, który wyświetla > z wykorzystaniem szablonu wpisy_lista.html listę dodanych wpisów oraz link Dodaj wpis.
link w menu strony głównej o nazwie Lista wskazujący na adres .../wpisy/lista,
widok dodaj(), który obsługuje dodawanie nowych wpisów za pomocą formularza umieszczonego w szablonie wpis_dodaj.html.
Identyfikator wpisu id powinien być wartością całkowitą tworzoną automatycznie. Pole tytul powinno umożliwiać przechowywanie wartości unikalnych. Wartości wszystkich pól są wymagane. Pole pokaz powinno dopuszczać tylko wartości 0 lub 1.
Widoki lista() oraz dodaj() utwórz w oparciu o kod widoków wykonujących operacje na daniach w bazie omówionej w sekcji „Przeczytaj”.
W szablonie widok_dodaj.html zamiast kontrolki <input> możesz użyć kontrolki <textarea></textarea>, która pozwala na wprowadzanie tekstu w wielu wierszach.
Po uruchomieniu aplikacji powinien zostać utworzony plik bazy danych blog.db oraz wyświetlona w przeglądarce strona główna zawierająca komunikat „Brak wpisów”:
RTpeABPJ42uZO
Zrzut ekranu przedstawia komunikat o treści: Brak wpisów! U góry okna znajduje się pasek do wyszukiwania. Poniżej duży napis: Blog. Poniżej: Wpisy - lista. Natomiast pod nimi znajdują się przyciski opisane kolejno: blog, wpisy i lista.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Przykładowy formularz dodawania wpisów:
Rv2MVqdaAsj5s
Zrzut ekranu przedstawia Przykładowy formularz dodawania wpisów. Okno zbudowane analogicznie. U góry napis Blog. Wpis - dodawanie. Poniżej kolejne przyciski na pasku: Blog, Wpisy, Lista. Poniżej w polu znajdują się pola umożliwiające wpisanie tytułu, treści. także zaznaczenie pola podpisanego jako „Opublikowany”. Poniżej znajduje się przycisk podpisany jako „Dodaj”.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Lista wpisów:
RppYWgeJkT2Zc
Zrzut ekranu przedstawia Listę wpisów. Okno zbudowane analogicznie. U góry napis Blog. Poniżej. Wpis - lista. Poniżej kolejne przyciski na pasku: Blog, Wpisy, Lista. Poniżej w polu znajduje się lista.
Pierwszy widok. Zadaniem widoku nawias zamknięcie nawiasu jest wyświetlanie listy wpisów, opublikowane.
Drugi widok. Zadaniem widoku dodaj nawias zamknięcie nawiasu jest obsługa dodawania wpisów na blogu za pomocą formularza, opublikowanie.
Poniżej znajduje się przycisk podpisany jako „Dodaj”.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
3
Ćwiczenie 8
Po wykonaniu poprzedniego ćwiczenia w pliku wpisy.py dodaj:
widok edycja() skojarzony z adresem URL o schemacie .../wpisy/id_wpisu/edycja, który pozwoli na edycję wpisów z wykorzystaniem szablonu wpis_edytuj.html,
widok usun() skojarzony z adresem URL o schemacie .../wpisy/id_wpisu/usun, który pozwoli na usuwanie wpisów,
linki Edytuj i Usuń w szablonie wpisy_lista.html,
Widoki edytuj() i usun() utwórz w oparciu o kod widoków wykonujących operacje na daniach w bazie omówionej w sekcji „Przeczytaj”.
RzUZeLWw7NQNk
Zrzut ekranu przedstawia Listę wpisów z linkami Edytuj i Usuń oraz komunikat po edycji wpisu:. Okno zbudowane analogicznie. U góry napis Blog. Poniżej. Wpis - lista. Poniżej kolejne przyciski na pasku: Blog, Wpisy, Lista. Poniżej w zielonej ramce. Zaktualizowana wpis id 1 Pierwszy widok. W kolejnym polu znajduje się lista.
Pierwszy widok. Zadaniem widoku nawias zamknięcie nawiasu jest wyświetlanie listy wpisów, opublikowane - przyciski Edytuj i Usuń.
Drugi widok. Zadaniem widoku dodaj nawias zamknięcie nawiasu jest obsługa dodawania wpisów na blogu za pomocą formularza, opublikowanie - przyciski Edytuj i Usuń.
Poniżej znajduje się przycisk podpisany jako „Dodaj wpis”.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Formularz usuwania:
RRgTEcvVdop9m
Zrzut ekranu przedstawia Formularz usuwania wpisu. Okno zbudowane analogicznie. U góry napis Blog. Poniżej. Wpis - usuwanie. Dalej kolejne przyciski na pasku: Blog, Wpisy, Lista. W kolejnym polu znajduje się pytanie wraz z informacją. Czy na pewno usunąć wpis: Drugi widok. Zadaniem widoku dodaj nawias zamknięcie nawiasu jest obsługa dodawania wpisów na blogu za pomocą formularza. Poniżej znajduje się przycisk podpisany jako „Usuń”.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Komunikat po usunięciu wpisu:
RPdOUC5Ez5SWl
Zrzut ekranu przedstawia Komunikat po usunięciu wpisu. Okno zbudowane analogicznie. U góry napis Blog. Poniżej. Wpis - lista. Dalej kolejne przyciski na pasku: Blog, Wpisy, Lista. Poniżej w zielonej ramce znajduje się informacja. Usunięto wpis id Drugi widok. W kolejnym polu znajduje się następująca treść. Pierwszy widok. Zadaniem widoku lista nawias zamknięcie nawiasu jest wyświetlanie listy wpisów, opublikowane - przyciski Edytuj i Usuń. Poniżej znajduje się przycisk podpisany jako „Dodaj wpis”.
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.
Archiwum blog_v1.zip zawierający kompletny kod aplikacji Blog. Przygotuj i wykorzystaj pomocniczą funkcję get_wpis(), która jako argument otrzymuje identyfikator wpisu id_w i zwraca odpowiedni rekord z tablicy wpisy lub wyjątek HTTP 404 z komunikatem, że wpis nie istnieje.
Lista wpisów z linkami Edytuj i Usuń oraz komunikat po edycji wpisu:
R1Y84QcIGjSCu
Przycisk służy do pobrania plik ZIP. zawierającego rozwiązanie do ćwiczenia.