Baza danych
Transkrypt
Baza danych
Technologia informacyjna Bazy danych MS Access Bazy danych Baza danych jest to zbiór danych powiązanych między sobą pewnymi zależnościami. Baza danych składa się z danych oraz programu komputerowego wyspecjalizowanego do gromadzenia i przetwarzania tych danych. Program taki lub zestaw programów nazywany jest „Systemem zarządzania bazą danych” → SZBD (ang. „DataBase Management System”, → DBMS) System zarządzania bazą danych (SZBD) to oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi bazami danych. Wyróżniamy: ● SZBD działające w architekturze klient-serwer ● Bezserwerowe SZBD SZBD typu klient-serwer Większość obecnie spotykanych systemów działa w trybie klient-serwer, gdzie baza danych jest udostępniana klientom przez SZBD będący serwerem. Serwer baz danych może udostępniać dane klientom bezpośrednio lub przez inny serwer pośredniczący (np. serwer WWW lub serwer aplikacji). Systemy bazy danych w architekturze klient-serwer to m.in.: ●DB2 ●Informix Dynamic Server ●Firebird ●Microsoft SQL Server ●MySQL ●Oracle ●PostgreSQL SZBD bezserwerowe Czasem jednak stosowanie serwera nie jest konieczne. Istnieją bazy danych, które nie muszą być współdzielone przez wielu użytkowników w tym samym czasie. Do takich zastosowań używane są bezserwerowe bazy danych takie jak: Microsoft Access (część pakietu Microsoft Office) OpenOffice.org Base (część pakietu OpenOffice.org) UWAGA: Obecna wersje powyższych programów mogą również współpracować z bazami danych typu klient-serwer Funkcje baz danych Podstawowe funkcje bazy danych to: projektowanie rekordów: ●nazwa pola, ●długość pola. ●rodzaj pola (tekstowe, liczbowe, logiczne) ● edycja danych: ●dopisywanie, ●poprawianie, ●usuwanie rekordów, ● ● sortowanie, ● wyszukiwanie i selekcja danych, ● tworzenie zapytań, ● tworzenie raportów. Rodzaje baz danych wg. struktury bazy proste – każda tablica danych jest samodzielnym dokumentem i nie może współpracować z innymi tablicami, bazy relacyjne – wiele tablic danych może współpracować ze sobą (są między sobą powiązane za pomocą relacji), ● bazy obiektowe – dane przechowywane są w strukturach obiektowych zdefiniowanych jako klasy, ● bazy relacyjno–obiektowe – relacyjna baza danych zapisanych w strukturach obiektowych, ● strumieniowe bazy danych – dane są przedstawione w postaci zbioru strumieni danych, ● temporalne bazy danych – odmiana bazy relacyjnej, w której każdy rekord posiada stempel czasowy, określający czas w jakim wartość jest prawdziwa. ● Proste bazy danych W prostych bazach każda tablica danych jest samodzielnym dokumentem i nie może współpracować z innymi tablicami. Bazy proste znajdują zastosowanie w jednym wybranym celu. Z baz tego typu korzystają liczne programy typu: książka telefoniczna, książka kucharska, spisy książek, kaset i inne. Właściwości prostych baz danych Dane w prostych bazach można: ●sortować, ●przeszukiwać, ●stosować w nich filtry ograniczające zakres wyświetlanych informacji. Proste bazy danych można tworzyć: ●w dowolnym programie zarządzającym bazami danych, ●w arkuszach kalkulacyjnych, ●w prostych edytorach tekstów (pliki z wartościami oddzielanymi przecinkami CSV lub tabulatorami TSV). Dedykowane programy do tworzenia prostych baz danych umożliwiają: ●tworzenie bazy (tzn. tabeli z danymi), ●tworzenie graficznego interfejsu użytkownika, Relacyjne bazy danych W bazach relacyjnych wiele tablic danych może współpracować ze sobą. Bazy relacyjne posiadają wewnętrzne języki programowania, (zwykle SQL ) do operowania na danych. Relacyjne bazy danych oparte są na następujących zasadach: ●wszystkie wartości danych oparte są na typach prostych, ●wszystkie dane przedstawiane są w formie dwuwymiarowych tabel, ●każdy wiersz składa się z jednakowych kolumn wypełnionych wartościami, ●możliwe jest porównywanie wartości z różnych kolumn i tabel oraz scalanie wierszy, gdy pochodzące z nich wartości są zgodne. ●wiersze w relacyjnej bazie danych przechowywane są w dowolnym porządku - nie musi on odzwierciedlać ani kolejności ich wprowadzania, ani kolejności ich przechowywania. ●każda tabela powinna zawierać przynajmniej jedną kolumnę o niepowtarzalnych wartościach (tzw. „klucz podstawowy tabeli”). Przykłady relacyjnych baz danych Dwie tabele zawierające takie samo pole Dwie tabele powiązane za pomocą tabeli łączącej Typy relacji 1 ↔ 1 - np. jednej osobie odpowiada jeden PESEL, 1 ↔ m - np. jeden autor może być autorem wielu książek, M ↔ m - np. wielu autorów i wiele książek (złożenie relacji 1 ↔ m - jeden autor dla wielu książek oraz relacji n ↔ 1 - jedna książka ma wielu autorów). Proste bazy danych vs. relacyjne Proste bazy danych ● ● ● ● ● równoczesny dostęp do danych sprawia kolizje Sekwencyjny dostęp do danych – plik musi być czytany od początku do końca System nadawania uprawnień jedynie na poziomie systemu operacyjnego, wraz ze wzrostem liczby rekordów znacznie maleje szybkość wykonywania operacji, wyszukiwanie informacji w pliku prostym jest stosunkowo trudne Relacyjne bazy danych ● ● ● ● ● wbudowany mechanizm wielodostępu swobodny (niesekwencyjny) dostęp do danych wbudowany system nadawania uprawnień szybki dostęp do danych oparty o kryteria zdefiniowane przez użytkownika obsługa wspólnych standardów przez wiele baz danych. Definicje w bazach danych ● ● ● ● ● ● ● Baza danych – zbiór związanych ze sobą tabel Tabela – zbiór wierszy lub rekordów określonego rodzaju Wiersz lub rekord – jest zbiorem kolumn, pól z danymi o obiekcie. Kolumna – jest najmniejszą częścią informacji o obiekcie. Może mieć zdefiniowane pewne ograniczenia Relacja – Zdefiniowane powiązanie pomiędzy tabelami Klucz – Jest jedną kolumną lub zbiorem kolumn, które jednoznacznie identyfikują każdy rekord Integralność – jest cechą bazy danych, która zabezpiecza dane w niej przechowywane Nowa baza danych Typy obiektów bazy danych Microsoft Access ●Tabele -Fizyczne magazyny danych ●Kwerendy-Dynamiczne zestawy rekordów tworzone według określonych kryteriów ●Formularze-Lokalny interfejs użytkownika ●Raporty-Zestawienia i podsumowania zestawów rekordów bazy danych ●Strony-Interfejs WWW bazy danych ●Makra–Makropolecenia; zestaw poleceń ●Moduły -Zestaw procedur i funkcji w języku VBA ● Tworzenie tabel Tworzenie tabel jest pierwszą i najważniejszą czynnością nowej bazy danych ●Poprawnie utworzony plan tabel wpływa na efektywność budowanej aplikacji ● Tworzenie tabeli: Jako własny projekt ●Za pomocą kreatora ●Bezpośrednio, wprowadzając dane ● Typy danych (1) ● Tekst ● ● ● ● ● ● Liczba ● ● ● ● ● Przyjmuje tylko dane liczbowe Można określić poziom precyzji dla danych Liczby można zapisywać również w polu typu tekst Jeśli na danych w polu będą przeprowadzane operacje arytmetyczne należy dla niego wybrać typu Liczby Data/Godzina ● ● ● Zapis alfanumeryczny Typ ten akceptuje każdy znak lecz ograniczony jest do 255 znaków Dla pola można ustalić długość krótszą niż 255 znaków, lecz nie zaoszczędzi to miejsca na dysku jak to ma miejsce w innych systemach Access pamięta tylko liczbę bajtów koniecznych do przechowania informacji Operacje arytmetyczne na danych z pola można wykonać dopiero po ich konwersji Specjalistyczna odmiana typu Liczba przeznaczona do przechowywania danych o datach i czasie. Pozwala na wykonywanie operacji arytmetycznych Walutowy ● ● Specjalizowana odmiana typu Liczba służąca do przechowywania danych finansowych Określana jest dokładnie liczba miejsc dziesiętnych Typy danych (2) ● Autonumer ● ● ● Tak/Nie ● ● ● ● Przeznaczone do przechowywania notatek Dane zapisywane w nim mogą mieć 65 535 znaków Główna zasada to używanie pól typu tekstowego, chyba że: ● ● ● Dopuszcza tylko jedną z dwóch wartości Tak/Nie, Prawda/Fałsz lubWłączony/Wyłączony w zależności od ustawień pola Format Używane do przechowywania pola flag Nota (memo) ● ● Automatycznie wstawiane wartości dla nowego rekordu Własność Nowe Wartości: Przyrostowy, Losowy jesteśmy pewni co do tego, że wszystkie dane przechowywane w tympolu będą pasowały do jego typu gdy będzie istniała konieczność wykonywania operacji arytmetycznych Podczas tworzenia tabeli koniecznym jest utworzenie klucza głównego ● Access posiada mechanizm automatycznego tworzenia klucza podczaszapisywania nowo projektowanej tabeli Własności pól (1) ● Typ danych ● ● ● Opis ● ● ● ● ● Maksymalna liczba znaków jak może być zapisana w polu. Jest używana tylko dla pól tekst Jeśli typ pola to liczba można wybrać z grupy: bajt, liczb całkowita, długa liczba całkowita, pojedyncza precyzja, podwójna precyzja Format ● ● ● Opis informacji przechowywanych w danym polu Jest wyświetlany na pasku stanu gdy pole jest edytowane w formularzu Rozmiar pola ● ● Rodzaj informacji, które będą przechowywane w polu: tekst, data/godzina, liczba, nota , itp. Każdy z typów ma swoje ograniczenia np. tekst -255 znaków, nota –65535 znaków. Pozwala na zdefiniowanie sposobu, jak dane będą wyświetlane Np. Czwartek Marzec 12, 2005 r. Miejsca dziesiętne ● Własność określana tylko dla liczb Własności pól (2) ● Maska wprowadzania ● ● ● ● Tytuł ● ● ● Etykieta pola na formularzu, raporcie i kwerendzie. Jeśli nie jest zdefiniowana automatycznie przypisywana jest nazwa pola Reguła poprawności ● ● ● Własność wszystkich typów prócz Tak/Nie i Memo. Pozwala na ustalenie maski do poprawnego wprowadzania danych. Np. (017) 55-66-777 Reguła pozwalająca uniknąć wprowadzania błędnych danych Np. „M” lub „K” dla pola płeć Komunikat o błędzie ● Tekst komunikatu będzie wyświetlany , gdy reguła poprawności zostanie naruszona. Własności pól (3) ● Wartość domyślna ● ● Wymagane ● ● Czy wprowadzenie danych do pola jest konieczne Zerowa długość dozwolona ● ● Wartość zostanie wprowadzona do pola automatycznie dla nowych rekordów Czy dopuszczalne jest wprowadzenie ciągu znaków określających wartość o zerowej długości Indeksowane ● ● ● Dopuszcza trzy możliwości: Nie, Tak (powtórzenia OK.), Tak (Bez powtórzeń) Pole można indeksować jeśli budowana aplikacja ma wyszukiwać lub sortować rekordy według tego pola. Indeksowanie pola przyśpiesza te operacje. Indeksowanie zwalnia operację wprowadzania rekordów do bazy. Co można ustalić dla pól? Używanie Maski wprowadzania ● Własności Rozmiar pola ● Zmiana porządku pól w tabeli ● Listy i pola typu kombi w tabeli ● Ustalanie wartości domyślnych pól ● Korzystanie z własności Regułą poprawności oraz Komunikat o błędzie Tworzenie relacji Relacje dodajemy za pomocą opcji Relacje Z menu Narzędzia Kwerendy Kwerendy są przepisami w jaki sposób zapytać bazę danych aby uzyskać dane w celu ich prezentacji lub zmiany ich wartości. ●Rola kwerend: ● „Wyciągają” spełniające określone kryteria ● Wykonują określone działania na „wyciągniętych” danych ● Wiążą kilka tabel lub kwerend, aby w określony sposób przedstawić użytkownikowi dane pobrane z nich ● Wykonują grupowanie, porządkowanie i wyliczają dane znajdujące się w tabelach lub innych kwerendach ●Tworzenie kwerend: ● Samodzielny projekt ● Kreator ● Typy kwerend Wybierające ●Krzyżowe ●Tworzące tabele ●Aktualizująca ●Dołączająca ●Usuwająca ● Projekt kwerendy Korzystając z pomocy kreatora ●Wykonując projekt kwerendy ● ● ● ● ● Wybieranie źródła Wybór pól dla kwerendy Opracowanie kryteriów Uruchomienie kwerendy Przygotowanie kwerendy Wybieranie źródła ● Umieszczanie w kwerendzie tylko niezbędnych tabel i kwerend ● Dołączanie nowych tabel do istniejącej kwerendy ● Konieczność ustanowienia relacji pomiędzy współpracującymi tabelami w kwerendzie ● Wybór pól kwerendy ● Technika Drag&Drop ● Wybór pola z pola kombi po uprzednim określeniu źródła ● * oznacza wszystkie pola z tabeli ● Usuwanie pola ● Sortowanie rekordów kwerendy ● Określenie czy pole ma być widoczne ● Określenie kryteriów Za pomocą konstruktora wyrażeń ●Odręcznie ● Kryterium "Kraków" Opis wartość pola jest Kraków "Rzeszów" or "Sanok" wartość pola jest Rzeszów lub Sanok =#2005-02-02# wartość pola jest 2 luty 2005 r. Between#2005-01-01# and#200512-31# wartość pola ma mieścić się w przedziale czasu od 200501-01 do 2005-12-31 In ("Kraków","Rzeszów") wartością pola ma być Kraków lub Rzeszów Not "Warszawa" wartość pola nie może zawierać wartości Warszawa < Date()-30 wartość pola musi zawierać daty późniejsze niż 30 dni sprzed dzisiejszego dnia Year([Data_ur])=1985 wartość pola daty urodzenia ma zawierać wszystkie daty z roku 1985 Like "C*" tekst zaczynający się od litery C Like "*a" tekst kończący się literą a Like "[L-N]*" Tekst zaczynający się na literę od L do N Left ([Miast],1)="O" Tekst, którego pierwszym znakiem od lewej strony jest litera "O" Kryteria z operatorami Kwerendy parametryczne Umożliwiają interakcję z użytkownikiem podczas generowania zestawu rekordów ● ● Przykłady: ● Jeden parametr:> [ Podaj wartość dla pola:] ● Dwa parametry:Between[Podaj wartość początku:] and[Podaj wartość końca:] ● Parametry z symbolami wieloznacznymi:LIKE [Podaj pierwszy znak dla wartości: ] & "*" Kwerendy usuwające Automatyzują proces globalnego usuwania rekordów z bazy danych ● Wybranie odpowiednich tabel dla konstrukcji kryteriów usuwania rekordów ● Opracowanie kryteriów usuwania ● Kryteria proste ● Kryteria parametryczne ● Podczas konstrukcji kryteriów należy zwrócić uwagę na ich poprawność (kwerenda wybierająca) ● Usuwanie ● Gdzie –kryterium ● Skąd –jakiej tabeli dotyczy operacja usunięcia ●Kwerenda usuwająca działa na całych rekordach (nie jest istotna liczba pól w kryterium) ● Kwerenda dołączająca Pobiera dane z jednej tabeli lub kwerendy i dołącza je do innej tabeli ● Zastosowanie - Archiwizacja danych ● Kwerenda aktualizująca Zmienia zawartość pól docelowej tabeli ●Działa na polach a nie na całych rekordach ● Usuwanie rekordów –kwerenda usuwająca ● Usuwanie/zmiana wartości pól dla rekordów –kwerenda aktualizująca ● Kwerendy krzyżowe Kwerenda krzyżowa - jest dwuwymiarową macierzą z operacją matematyczną wykonywaną na każdym przesunięciu Defragmentacja Wiele operacji usuwania powoduje wiele „dziur” w bazie danych ●Access rezerwuje rozmiar pliku dla danych ale nie zmniejsza go jeśli dane są usuwane ●Proces defragmentacji usuwa „puste miejsca” ze struktury bazy danych ●Uruchomienie: Menu>>Narzędzia>>Narzędzia bazy danych>>Kompaktuj i napraw bazę danych ● Formularze Formularz jest oknem zawierającym tablicę formantów umożliwiających przeglądanie, dodawanie lub edycję danych zawartych w bazie ●Do czego potrzebne są formularze? ● ● ● ● ● Sprawiają, że proces dodawania, edycji i przeglądania staje się prostszy Oferują dożo więcej możliwości i udogodnień niż arkusz danych Tworzą estetyczne środowisko pracy użytkownika Tworzą specyficzny scenariusz aplikacyjny zabezpieczający dane bazy Formanty są obiektami formularzy lub raportów, które umożliwiajądostęp do danych oraz zarządzanie formularzem lub raportem (polatekstowe, pola kombi, pola wyboru oraz przyciski poleceń) ● Access upraszcza i automatyzuje proces tworzenia aplikacji opartej na bazie danych ● ● ● ● Autoformularze Kreator formularzy Samodzielny projekt formularza Tworzenie formularza Poruszanie się po formularzu Przeglądanie danych formularza •Do początku •Poprzedni •Licznik •Następny •Do końca •Nowy rekord •Liczba rekordów w zestawie Manipulowanie danymi w formularzu Poruszanie się po kolejnych polach w formularzu: ●TAB, ENTER –przeskok do kolejnego pola ●SHIFT + TAB -przeskok do poprzedniego pola ●Dodawanie rekordów ●Wybranie przycisku nowego rekordu w grupie przycisków nawigacyjnych ●Przejście po wszystkich polach formularza i rozpoczęcie nowego wpisu ●Cofanie zmian ●ESC –cofnięcie wpisu do pola ●2 * ESC –cofnięcie edycji rekordu ●Usuwanie rekordu ●Selektor pola ●Zaznaczanie grupy rekordów do usunięcia ● Typy formantów formularzy Formanty związane ● Pobierają wartości ze związanego z nim elementu bazy danych (kwerendy lub tabele) ●Formaty niezwiązane ● Nie są związane z jakimkolwiek polem ● Zazwyczaj wyświetlają informacje dodatkowe, wyliczenia lub dekoracje formularzy (np. numer strony) ●Formanty obliczeniowe ● Posiada formułę lub obliczenie będące źródłem jego wartości ● Nie aktualizuje automatycznie żadnej tabeli ● Można decydować o tym co ma stać się z wartością pola (np. pole wyliczeniowe określające wiek) ● Rodzaje formantów (1) ● Etykiety ● ● ● Pole tekstowe ● ● ● ● ● ● Wykorzystywane są do opisywania innych formantów oraz do celów informacyjnych Użytkownicy nie mogą zmieniać wartości Etykiet Standardowe pole do wprowadzania danych Najczęściej wykorzystywany formant Może być formantem związanym, niezwiązanym i obliczeniowym Może wyświetlać dane w jednej lub wielu liniach; może posiadać pasek przewijania Wykorzystywane dla danych różnego typu w tym także Noty; Wyjątkiem są obiekty OLE Pole listy i kombi ● ● Wyświetlają swoje dane w postaci listy Pole listy ● ● ● ● Wyświetla kilka elementów Okno pola zawsze jest otwarte Wybieranie: pojedyncze, proste wybieranie wielokrotne (SHIFT), złożone wybieranie wielokrotne Pole kombi ● ● Wyświetla zawsze tylko jeden element Strzałka pola wyświetla listę opcji Rodzaje formantów (2) ● Przyciski polecenia ● ● ● ● Inicjują procesy składników bazy danych Odnoszą się do makropoleceń lub procedur w języku Visual Basic Domyślnym zdarzeniem dla formantajest „na kliknięcie” Pole wyboru, przycisk opcji, przyciski przełącznika ● ● doskonale nadają się do przedstawiania danych w formacie Tak/Nie Pole wyborujest kombinacją małego pola i etykiety: ● ● Przycisk przełącznika ● ● Włączone –Tak, wyłączone –Nie Przycisk opcji(przycisk radiowy) ● ● ● ● Zaznaczone –Tak, Nie zaznaczone –Nie Zazwyczaj używany do wybierania więcej niż dwóch opcji Substytut pola listy i kombi Zarezerwowany dla ograniczonej liczby dostępnych opcji Grupa opcji ● ● ● Jest używana do grupowania innych formantów Posiada własną nazwę Jeśli grupuje przyciski opcji to tylko jeden z nich może zostać zaznaczony Konstrukcja formularzy Nagłówek formularza ●Nagłówek strony ●Sekcja robocza formularza ●Stopka strony ●Stopka formularza ● ● Rodzaje widoków formularza ● ● ● ● ● Formularze pojedyncze Formularze ciągłe Arkusze danych Tabela przestawna Wykres przestawny Typy formularzy ●Formularze pojedyncze ●Formularze złożone ● Podformularze Właściwości formantów (1) Wskaźnik obiektów Etykieta Grupa opcji Przycisk opcji Pole kombi Przycisk polecenia Niezwiązana ramka obiektu Podział strony Podformularz Prostokąt Kreator formantów Pole tekstowe Przycisk przełącznika Pole wyboru Pole listy Obraz Związana ramka obiektu Formant ramka Linia Więcej formantów … Właściwości formantów (2) Każdy element formularza posiada zbiór właściwości ●Właściwości podzielone według funkcjonalności ● Format-parametry: ● Prezentacji danych ● Pozycjonowania ● Wizualizacji elementu ● Dane–parametry związane z obsługa danych ● Zdarzenia–reakcja na działania użytkownika ● Inne–parametry dodatkowe ● Wszystkie–zbiór wszystkich parametrów ●Dialog z oknem właściwości za pomocą: ● Pola tekstowego (liczby lub łańcuchy tekstowe) ● Pola kombi (dostępne opcje z listy) ● Konstruktorów wyrażeń, kodu, makropoleceń ● Dodawanie, usuwanie, rozmieszczanie formantów ● Dodawanie formantów ● ● ● Autoformularze Wybieranie z palety dostępnych formantów Za pomocą listy pól źródła danych ● ● ● Usuwanie formantów ● ● ● ● Menu kontekstowe Wskazanie elementu + klawisz DELETE Procedury przypisane do elementu są automatycznie usuwane Zmiana rozmiaru ● ● ● ● Określenie typu formantu z palety Techniką Drag&Dropprzeniesienie pola w obszar formularza Automatyczne dopasowanie Odręczna modyfikacja rozmiarów pól –węzły pola Globalne zmiany rozmiarów zaznaczonych pól Rozmieszczanie pól w formularzu ● ● ● Pozycjonowanie elementów za pomocą siatki Pozycjonowanie precyzyjne –klawisz CTRL Pola powiązane z etykietami ● ● Przesuwanie rozdzielnie –uchwyt lewy górny róg elementu Rozmieszczanie : wyrównanie, rozmiar, odstępy w pionie i w poziomie Wygląd formantów ● Efekty specjalne: ● ● Szerokość linii/ obramowanie ● ● Dobór grubości obramowania Dobór kolorystyki formularzy ● ● spłaszczenie, podniesienie, wypuszczenie … Wybór z palety dostępnych kolorów Autoformatowanie Raporty Raporty służą do prezentacji danych wyjściowych (najczęściej w celach ich wydruku) ●Rodzaje raportów: ● ● ● ● Związany –pobiera dane z tabel albo kwerend, z którymi jest powiązany Niezwiązany –nie istnieją tabele ani kwerendy, zasilające raport danymi Generowanie raportu: ● ● ● Widok projekt Keatorraportów Autoraporty ● ● ● ● Kolumnowy Tabelaryczny Kreator wykresów Kreator etykiet Układ raportu Nagłówek raportu – jeden ● ● Nagłówek strony – każda strona ● Nagłówek sekcji – podczas grupowania ● ● ● Treść raportu Stopka sekcji Stopka strony Stopka raportu ● Generowanie raportu (1) Na podstawie tabel lub kwerend w formie źródłowej ●Na podstawie kwerend definiowanych ● Wybór pól Nowy raport – wybór tabeli lub kwerendy Generowanie raportu (2) Poziomy grupowania Sortowanie Układ Styl Generowanie raportu (3) Tytuł ... i gotowe Raporty zaawansowane Indywidualne podejście do raportu ●Wykorzystanie narzędzi: ● Modyfikacji widoku raportu (definiowanie układu raportu) ● Grupowania i sortowania ● Pól wyliczeniowych ● Na poziomie kwerendy ● Na poziomie raportu ●