1 Bazy danych -...

37
1 2017-03-15 22:36 WYKŁAD I Podstawowe pojęcia/ bazy danych – podstawowe pojęcia Bazy danych

Transcript of 1 Bazy danych -...

1

2017-03-15 22:36

WYKŁAD I

Podstawowe pojęcia/ bazy danych –

podstawowe pojęcia

Bazy danych

2

2017-03-15 22:36

Computer Aided Software Engineering,Computer-Aided Systems Engineering

Oprogramowanie używane do komputerowego wspomaganiaprojektowania oprogramowania, również ogólna nazwa strukturalnegoprojektowania aplikacji bazodanowych, zbioru rekomendacji i wskazówekdo metod

Metodyka Yourdona – diagramy przepływu danych DFD

Metodyka SSADM – podobna, wykorzystująca inne symbole

Metodyka Martina – diagramy związków encji ERD

Diagram hierarchii funkcji FHD jest dodatkowym diagramemwystępującym we wszystkich podejściach

Diagram stanów STC jest zbliżony do diagramu DFD ale dotyczyprzepływu danych między fragmentami kodu aplikacji

3

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE

FHD (Function Hierarchy Diagram) – Diagramu hierarchii funkcji. Służyon do zdefiniowania wszystkich funkcji opisujących system. FHD(DHF)prowadzi do opracowanie szczegółowego modelu potrzeb informacyjnychużytkownika. Celem modelowania funkcji jest również opracowanietakiego modelu, który byłby niezależny od metod realizacji systemu.Korzyścią z jego opracowania jest dokładne poznanie potrzebinformacyjnych użytkownika.

4

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE

PIZZA PRZEZ INTERNET

Zamawianie

Odnotowanie zamówienia

Potwierdzenie zamówienia przez

klienta

Przekazanie zamowienia do

partnera

Potwierdzenie zamówienia przez

partnera

Potwierdzenie realizacji

Anulowanie realizacji

Menu

Edycja listy dań (pizz)

Edycja listy składników

Edycja listy dodatków

Przeglądanie menu online

Ewidencja partnerów

(pizzeri)

Dodanie nowega kandydata do współpracy

Dopisanie kandydata do

bazy

Wygenerowanie umowy o

współpracy

Podpisanie cyfrowe umowy o

współpracy

Edycja danych partnera

Rozliczenia

Konwersja zamówienia zreal.

na rozlicznenie

Konwersja rozliczenia

anulowanego na rozliczenie

Zestawienie rozliczeń dla

partnera za okres >>

Konwersja rozliczeń na

faktury

Odnotowanie płatności

związanej z rozliczeniami

Raporty

Zamówienia za okres >>

Zamówienia wg typów pizzy, składników , dodatków >>

Zamówienia wg partnera

Efektywność partnera

Efektywność portalu i

pracowników >>

Ustawienia

Edycja listy użytkowników (pracowników

portalu)

Cennik i prowizje

Domyślne czasy dostaw

Zarządzanie dostępnością zamówień wg odległości od pizzeri

Zarządzanie treściami statycznymi na portalu

Zarządzanie banerami

5

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE

DFD (Data Flow Diagram) - Diagramu przepływu danych. Służy on doprzedstawienia obiektów zewnętrznych, procesów elementarnych,składnic danych oraz powiązań pomiędzy tymi elementami. Obiektyzewnętrzne (terminatory, encje zewn., external entities) - reprezentujązewnętrzne w stosunku do analizowanego systemu źródła powstania imiejsca przeznaczenia informacji (te, które dostarczają i odbierają dane).Składnice danych (magazyny, zbiory, data stores) - reprezentują miejscaprzechowywania danych między procesami (dostępne są tylko zprocesów). Procesy (funkcje, proceses) - definiują sposób wykonywaniajednej lub więcej funkcji (program, procedura, algorytm, operacja ręcznaczy zautomatyzowana (całkowicie lub częściowo) - wszystkie czynnościwykonywane na danych). przepływy danych (strumienie, data flows) -przedstawiają obieg danych w systemie; powiązania pomiędzy procesamia innymi elementami DFD.

6

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE

Obiekty zewnętrzne (terminatory, encje zewn., externalentities) - reprezentują zewnętrzne w stosunku doanalizowanego systemu źródła powstania i miejscaprzeznaczenia informacji (te, które dostarczają i odbierajądane); KLIENT, DOSTAWCA, BANK i inne.

Składnice danych (magazyny, zbiory, data stores) -reprezentują miejsca przechowywania danych międzyprocesami (dostępne są tylko z procesów). Zaistnienieskładnicy w DFD ma sens wtedy, kiedy przechowywane tamdane służą realizacji co najmniej dwóch procesów. wszelkiegorodzaju KARTOTEKI.

Procesy (funkcje, proceses) - definiują sposób wykonywaniajednej lub więcej funkcji (program, procedura, algorytm,operacja ręczna czy zautomatyzowana (całkowicie lubczęściowo) - wszystkie czynności wykonywane na danych).

Przepływy danych (strumienie, data flows) - przedstawiająobieg danych w systemie; powiązania pomiędzy procesami ainnymi elementami DFD.

7

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE

8

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE

ERD (Entity Relationship Diagram) - Diagram związków encji. Służy ondo przedstawienia dokładnej charakterystyki danychwykorzystywanych przez system i relacji pomiędzy danymi. Obiekty(encje, entities) - osoba, miejsce, zdarzenie, które ma znaczenie dlaprojektowanego systemu, o tym obiekcie są gromadzone iprzechowywane informacje.

Encja - składnik rzeczywistości

Atrybut – cecha opisująca encję, ma za zadanie identyfikować,opisywać, klasyfikować, określać ilość i wyrażać stan encji

Związek – powiązanie między encjami

9

2017-03-15 22:36

Podstawowe pojęcia

Metodologia CASE/ Diagram ERD

10

2017-03-15 22:36

11

2017-03-15 22:36

Podstawowe pojęcia

UML

Diagramy ERD, DFD i HFD są narzędziami modelowania relacyjnych baz

danych i programów tworzonych w językach strukturalnych. W

nowoczesnych systemach tworzonych w Java, C++, C# oraz

technologiach ORM (Object Relational Mapping) takich jak Hibernate, do

obiektowego projektowaniu systemów służy język UML (Unified Modeling

Language) definiujący własne typy diagramów takie jak:

• diagramy klas – modelowanie statycznej struktury systemu;

• diagramy rozmieszczenia – modelowanie przestrzennego

rozmieszczenia składników systemu;

• diagramy komponentów – modelowanie fizycznych elementów

wchodzących w skład systemu i powiazań między nimi;

• diagramy interakcji – modelowanie zależności w przesyłaniu

komunikatów pomiędzy obiektami w systemie;

• diagramy aktywności – modelowanie czynności i zakresu

odpowiedzialności elementów i użytkowników systemu;

• diagramy sekwencji – modelowanie sposobu i kolejności

współdziałania procesów w systemie;

• diagram użycia – modelowanie funkcjonalności system

12

2017-03-15 22:36

Podstawowe pojęcia

Bazy danych

Baza danych to zbiór danych o określonej strukturze. zapisany na

zewnętrznym (trwałym) nośniku pamięci komputera. Zgodnie z tą definicją

bazami danych są również systemy plików na dyskach komputera, jednak

nowoczesne bazy danych są powiązane z wyspecjalizowanymi programami

zarządzającymi określanymi często jako SZBD (system zarządzania bazą

danych) takimi jak:

• ORACLE,

• MS SQL.

• POSTGRESQL,

• MYSQL,

• FIREBIRD,

• SAP DB,

• DB2,

• MS ACCESS.

• (i inne)

13

2017-03-15 22:36

Podstawowe pojęcia

Bazy danych

Programy tego typu powinny:

- Zapewniać odpowiednią organizację danych na poziomie fizycznym (w

pamięci komputera);

- Dbać o zachowanie integralności danych oraz umożliwiać definiowanie

reguł integralności;

- Dbać o poufność danych i umożliwiać dostęp do nich tylko autoryzowanym

użytkownikom;

- Zapewniać możliwość pracy współbieżnej wielu użytkownikom

równocześnie i unikać tzn. zderzeń poprzez zaawansowane mechanizmy

takie jak transakcje, blokowanie pesymistyczne czy blokowanie

optymistyczne;

- Zapewniać niezawodność danych i eliminować w miarę możliwości błędy

związane z zapisem / odczytem danych z nośników pamięci poprzez

mechanizm tzn. mirroringu oraz możliwość tworzenia kopii zapasowych;

- Definiować język dostępu do danych. W przypadku zdecydowanej

większości baz danych tym językiem jest strukturalny język zapytań SQL –

Structural Query Language

14

2017-03-15 22:36

Podstawowe pojęcia

Bazy danych

Można wyróżnić cztery najważniejsze modele baz danych (choć należy

nadmienić, iż praktycznie wszystkie programy typu SZBD funkcjonują w

modelu relacyjnym):

Model hierarchiczny

Baza danych w tym modelu reprezentuję strukturę drzewiastą z jednym

wydzielonym obiektem głównym i powiązaniami jednokierunkowymi z pozostałymi

obiektami. Zgodnie z nazwą w tym modelu zakłada się, iż pomiędzy modelowanymi

obiektami opisującymi fragmenty rzeczywistości zawsze zachodzi związek typu

„obiekt nadrzędny – obiekt podrzędny” Szybko okazało się, iż to założenie zbyt

mocno ogranicza proces modelowania i aktualnie ten model jest tylko modelem

historycznym.

Model sieciowy

Model sieciowy usuwał ograniczenia modelu hierarchicznego umożliwiając

definiowanie dowolnych powiązań pomiędzy modelowanymi obiektami. Został

zastąpiony przez model relacyjny, gdyż ten ostatni okazał się bardziej efektywny i

łatwiejszy do implementacji.

15

2017-03-15 22:36

Podstawowe pojęcia

Bazy danych

Model obiektowy

Model, w którym do opisu danych wykorzystywane są pojęcia z zakresu

programowania obiektowego takie jak dziedziczenie, enkapsulacja,

polimorfizm itp. Model ten powstał mniej więcej na początku lat

osiemdziesiątych i nie doczekał się żadnych istotnych realizacji praktycznych.

Zamiast tego w ostatnich kilku standardem latach stało się podejście

mieszane, mapujące relacyjne bazy danych na obiekty języka Java czy C#,

wykorzystujące technologie typu ORM/ORB (Object – Relational Mapping/

Object – Relational Broker) takie jak Hibernate czy Java Persistence API

Model relacyjny

Model ten jest rozszerzeniem matematycznego pojęcia relacji (czyli podzbioru

iloczynu Kartezjańskiego). Został on opracowany przez E. F. Codda, i mniej

więcej od lat osiemdziesiątych poprzedniego stulecia zdecydowana większość

SZBD jest oparta właśnie o ten model. Relacja jest pewnym uogólnieniem

pojęcia tabeli, przy czym w przeciwieństwie do tabel znanych z MS Excel czy

MS Word tabela ta jest zapisywana bezpośrednio w pamięci trwałej komputera

a ponadto musi spełniać warunki:…

16

2017-03-15 22:36

Podstawowe pojęcia

Bazy danych

… relacja w modelu relacyjnym baz danych musi spełniać warunki:

• Tabela musi mieć określoną jednoznaczną nazwę;

• Każda kolumna tabeli (pole, atrybut) musi posiadać jednoznaczną nazwę;

• Każda kolumna tabeli musi zawierać dane określonego typu (np. tekst,

liczbę, wartość logiczną, datę, format waluty, itp.);

• Nie jest istotna kolejność kolumn;

• Nie jest (nie powinna być) istotna kolejność wierszy (rekordów);

• Dane w poszczególnych polach (na przecięciu kolumn i wierszy) na są

niepodzielne (atomowe);

• Każda tabela powinna mieć zdefiniowany klucz główny (pole/a niepuste,

niepowtarzalne, jednoznacznie identyfikujące rekord).

Poprawnie zaprojektowane relacyjne bazy danych powinny spełniać postulaty

tzw. III postaci normalnej, co zazwyczaj jest osiągane poprzez proces

normalizacji bazy.

17

2017-03-15 22:36

Podstawowe pojęcia

Normalizacja

Model logiczny – Encja, krotka, atrybut

Model fizyczny – Tabela, rekord, pole

Bazy danych składają się z dużej ilości tabel połączonych ze sobą ispełniających warunki trzeciej postaci normalnej

Pierwsza postać normalna – Dane w poszczególnych polach sąniepodzielne (np. nie powinno być pola Imię_i_nazwisko tylko dwaosobne pola) oraz nie występuje wielowymiarowość (np. w tabelifaktura pola pozycja1, pozycja2, pozycja3 itp). Jedynym wyjątkiem odreguły w niektórych sytuacjach jest umieszczenie w tabeli dwóch pólopisujących podobne dane (imię, drugie_imię). Unikaniewielowymiarowości jest związane z rozdzieleniem tabel. W przykładziez fakturą powinno się zaprojektować dwie osobne tabele: faktura ipozycje faktury połączone sprzężone ze sobą. Każda tabela ma w Ipostaci normalnej zdefiniowany klucz główny (pole/a niepuste,niepowtarzalne, jednoznacznie identyfikujące rekord)

18

2017-03-15 22:36

Podstawowe pojęcia

Normalizacja

Druga postać normalna – Żaden podzbiór klucza głównegoskładającego się z wielu pól nie może sam stanowić klucza (+ pierwszapostać normalna). Najprostszym sposobem spełnienia tego postulatujest zdefiniowanie wszędzie kluczy składających się z jednego pola.

Trzecia postać normalna – Brak zależności przechodnich pomiędzypolami tabeli innymi niż klucz (+ druga postać normalna). Zależnościprzechodnie powodują powtarzanie się danych (redundancję) oraz sązagrożeniem dla integralności bazy, bo to samo pole w jednymrekordzie może mieć inną wartość a w drugim omyłkowo wpisanąinną. Sposobem uniknięcia zależności przechodnich jest rozdzielenietabel i utworzenie nowej tabeli z polami zależnymi przechodnio.

19

2017-03-15 22:36

Podstawowe pojęcia

Normalizacja

Aby postulaty trzeciej postaci normalnej były spełnione należy wwiększości przypadków rozdzielić projektowaną tabele na szereg tabelpołączonych. Możliwe jest to dzięki mechanizmowi sprzężeń błędnienazywanych czasami relacjami. Sprzężenie to para pól w dwóch tabelach zktórych jedno pełni rolę klucza głównego w pierwszej tabeli. Pole wdrugiej tabeli nosi nazwę klucza obcego.

Przykładowo, jeśli tworzymy bazę danych dotyczącą kolekcji płyt CD, topoprawnie zaprojektowana baza powinna rozdzielać informacje o samejpłycie od informacji o utworach.

Tabela Płyty mogłaby mieć następujące pola

20

2017-03-15 22:36

Podstawowe pojęcia

Normalizacja

Id_płyty Wykonawca Tytuł Gatunek ....

1 U2 Joshua Tree Rock

2 U2 Achtung Baby Rock

3 Paktofonika Kinematografia Hip-Hop

4 Akcent Pszczólka Maja Disco-polo

5 Taco Hemingway Umowa o dzieło Hip-Hop

... ... ... ...

Id_Utworu Id_Płyty Tytuł Czas_odtw ....

1 1 With or without you

2 1 I still haven’t found

3 2 One

4 3 Ja to ja

5 3 Jestem bogiem

6 3 Masz albo myślisz o nich

7 4 Ostatni Klaps

8 4 Prze twe oczy zielone

9 5 Sześć zer

10 5 Następna stacja

Natomiast tabela Utworymoże zawierać:

21

2017-03-15 22:36

Podstawowe pojęcia

Normalizacja

Tabele te są sprzężone polem Id_płyty, które w tabeli Płyty jest kluczemgłównym a w tabeli Utwory kluczem obcym. Zwróćmy uwagę, że o ilewartości klucza głównego są unikalne, to wartości odpowiadającego mu wtabeli Utwory klucza obcego mogą się powtarzać.

Interpretacja sprzężenia tabel w tym wypadku jest dość prosta. UtwórOne pochodzi z płyty o id=2 czyli z płyty U2 Achtung Baby, utwór JestemBogiem z płyty o id=3 czyli z płyty Paktofoniki 44 3:44 a utwór NastępnaStacja z płyty Umowa o dzieło Taco Hemingway itd.

22

2017-03-15 22:36

Podstawowe pojęcia

Narzędzia RAD

Rapid Application Development – narzędzia informatyczne integrującenarzędzia CASE z procesem tworzenia oprogramowania, przyśpieszającetworzenie software’u poprzez zastosowanie technik programowaniagraficznego, zdarzeniowego i komponentowego. Np.:

Sun NetBeans,

IBM Eclipse,

Borland JBuilder

KDevelop: biblioteka Qt

Microsoft Visual Studio .NET (2003, 2005, 2008):

Borland Delphi

C++/C#Builder 2006, Turbo Delphi/C++/C#)

CodeGear RAD Studio 2007

Oracle Designer

Magic

23

2017-03-15 22:36

Podstawowe pojęcia

Narzędzia RAD

24

2017-03-15 22:36

Podstawowe pojęcia

Narzędzia RAD

25

2017-03-15 22:36

Podstawowe pojęcia

Narzędzia RAD

Narzędzia typu RAD coraz częściej wykorzystująpodejście obiektowe i UML (Universal ModelingLanguage) jako język opisu projektu oraz XML(eXtended Mark-up Language) jako język w którymprojekt jest przechowywany*

*(diagramy ERD i DFD reprezentują podejście strukturalne)

26

2017-03-15 22:36

Podstawowe pojęcia

Hurtownia danych

Hurtownia danych (ang. data warehouse) rodzaj bazy danych, która jestzorganizowana i zoptymalizowana pod kątem pewnego wycinkarzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niżzwykła relacyjna baza danych (choć do jej tworzenia używane są takżepodobne technologie). W skład hurtowni wchodzą zbiory danychzorientowanych tematycznie (np. hurtownia danych klientów). Dane teczęsto pochodzą z wielu źródeł, są one zintegrowane i przeznaczonewyłącznie do odczytu.

W modelach hurtowni danych mogą występować architektury:

Schemat gwiazdy

Schemat płatka śniegu

Schemat konstelacji

Na podstawie: http://etl-tools.info/pl/bi/architektura_hurtowni_danych.htm

27

2017-03-15 22:36

Podstawowe pojęcia

Hurtownia danych

Architektura gwiazdy jest najprostszym modelem projektu bazy danych whurtowni danych. Główną cechą schematu gwiazdy jest centralna tabela,nazywana tabelą faktów, z którą połączone są tabele wymiarów. Modeltaki umożliwia przeglądanie poszczególnych kategorii, sumaryzację, ifiltrowanie danych. W modelu gwiazdy tabela faktów w hurtowni danychjest w trzeciej postaci normalnej, podczas gdy tabele wymiarówreprezentują drugą postać normalną.

Tabela faktów zwykle zawiera rekordy gotowe do eksploracji, Rekordy wtabeli faktów mogą być postrzegane jako wydarzenia, co jestspowodowane naturą hurtowni danych. Prawie wszystkie informacje wtypowej tabeli faktów są reprezentowane również w jednej lub wielu tabeliwymiarów. Klucz główny każdej z tabeli wymiarów jest związany z tabeląfaktów i jest to składowa złożonego klucza głównego tabeli faktów. Wschemacie gwiazdy występuje tylko jedna zdenormalizowana tabela dlakażdego z wymiarów.

28

2017-03-15 22:36

Podstawowe pojęcia

Hurtownia danych

Architektura płatka śniegu jest bardziej złożoną wersją schematu gwiazdy.Główną różnicą między nimi stanowi fakt, że w schemacie płatka śniegutabele wymiarów są znormalizowane, czyli są zaprojektowane zgodnie zmodelem relacyjnej bazy danych. Schemat płatka śniegu jest używanyprzede wszystkim wtedy, gdy tabela wymiarów osiąga duże rozmiary i wschemacie gwiazdy jest ciężko przedstawić kompleksowość takiejstruktury danych.

29

2017-03-15 22:36

Podstawowe pojęcia

Hurtownia danych

Dla każdego schematu gwiazdy lub schematu płatka śniegu możnazbudować architekturę konstelacji faktów. Ta architektura jest bardziejzłożona od schematu gwiazdy i płatka śniegu, ponieważ może zawieraćwiele tabeli faktów. Dzięki temu tabele wymiarów mogą być dzielone iwykorzystywane przez kilka tabeli faktów równocześnie. Rozwiązanie tojest bardzo elastyczne i daje wiele możliwości, jednak odbywa się tokosztem trudności w utrzymaniu. Główną wadą tego rozwiązania jestwysoki stopień skomplikowania, ponieważ podczas analiz należy rozważyćwiele różnych możliwości agregacji.

30

2017-03-15 22:36

Podstawowe pojęcia

Data Mining

Data mining (zgłębianie danych). Data mining jako proces analityczny,przeznaczony jest do eksploracji dużych zbiorów danych (zazwyczajodnoszących się do zjawisk gospodarczych lub rynkowych), wposzukiwaniu reguł i systematycznych zależności pomiędzyzmiennymi, a następnie do oceny wyników poprzez zastosowaniewykrytych prawidłowości do nowych podzbiorów danych. Ostatecznymcelem data mining jest przewidywanie.

wizualizacje na wykresach metody statystyczne

Analiza dyskryminacyjna Analiza skupień Drzewa klasyfikacyjne (Breiman 1984, Gatnar 2001)

sieci neuronowe metody uczenia maszynowego metody ewolucyjne Web mining

31

2017-03-15 22:36

Podstawowe pojęcia

OLAP

Kostka wielowymiarowa (Multidimensional OLAP Cube)

Wielowymiarowa kostka OLAP (cube) jest podstawową strukturądanych w każdym systemie OLAP działającym w środowisku Hurtowni

Danych.Cube składa się z Miar (Measures), Wymiarów (Dimensions) iPoziomów (Levels) i jest zoptymalizowany pod kątem szybkiego ibezpiecznego dostępu do danych wielowymiarowych.Miary to wskaźniki numeryczne (ile?), natomiast wymiaryreprezentują dane opisowe (kto? co? kiedy? gdzie?). Wymiary sąpogrupowane za pomocą poziomów, które odzwierciedlają hierarchięfunkcjonującą w organizacji i pozwalają użytkownikom końcowymzwiększać lub zmniejszać poziom szczegółowości analizowanego

wymiaru.

32

2017-03-15 22:36

Podstawowe pojęcia

OLAP

Z reguły w hurtowni danych jest zdefiniowanych co najmniej kilkanaściewymiarów, a najczęściej spotykanym i wymiarami są:

Czas

Klient

Produkt

Lokalizacja

Biuro Sprzedaży

Hierarchia każdego z wymiarów ustawiona jest za pomocą Poziomów.Przykładowo, hierarchia poziomów może być ułożona w następującysposób::

wymiar Czas: Rok -> Kwartał -> Miesiąc -> Tydzień -> Dzień

Klient: Grupa klientów -> Nazwa klienta

Produkt: Linia Produktu -> Grupa Produktu -> Produkt

Lokalizacja: Obszar -> Region -> Kraj

33

2017-03-15 22:36

Podstawowe pojęcia

OLAP

Kategorie to elementy danych które opisują poziomy w wymiarach.Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostałyustawione poziomy obszaru, regionu i kraju. W tym przykładzie dlaPolski kategoriami będą:

Obszar - Europa

Region - Europa Środkowa

Kraj - Polska

Typowe, najczęściej występujące Miary w hurtowniach danych to:

Przychód netto

Przychód brutto

Waga

Ilość

Koszt

34

2017-03-15 22:36

Podstawowe pojęcia

OLAP

Kategorie to elementy danych które opisują poziomy w wymiarach.Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostałyustawione poziomy obszaru, regionu i kraju. W tym przykładzie dlaPolski kategoriami będą:

Obszar - Europa

Region - Europa Środkowa

Kraj - Polska

Typowe, najczęściej występujące Miary w hurtowniach danych to:

Przychód netto

Przychód brutto

Waga

Ilość

Koszt

35

2017-03-15 22:36

Podstawowe pojęcia

OLAP

36

2017-03-15 22:36

Podstawowe pojęcia

OLAP

37

2017-03-15 22:36

DZIĘKUJĘ

ZA UWAGĘ !