Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +

Podobne prezentacje


Prezentacja na temat: "Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +"— Zapis prezentacji:

1 Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych
Andrzej Majkowski informatyka +

2 TYTUŁ: Bazy danych i SQL a ptaki polskie (Kto pyta nie błądzi) AUTOR: Andrzej Ptasznik

3 Bazy danych są wszędzie
Gromadzimy różne dane Zapotrzebowanie na gromadzenie danych stale rośnie W jakim celu gromadzimy dane?? Wspieranie codziennej działalności Sprawozdawczość i archiwizacja Analiza, analiza, analiza!!!!!!! ?????

4 Zacznij od … bazy Dziedzina problemu Technologia Projekt bazy danych Rejestracja danych Wykorzystanie bazy danych - analiza

5 Bazy danych opisują różne dziedziny
Każda baza danych jest obrazem pewnej rzeczywistości(dziedziny problemu) Najczęściej wykorzystywane są bazy danych oparte na modelu relacyjnym Podstawą modelu relacyjnego jest pojęcie tabeli Wniosek : W relacyjnych bazach danych odwzorowujemy dziedzinę problemu za pomocą dwuwymiarowych tabel

6 Dziedzina problemu Formułujemy problem : Chcemy rejestrować obserwacje ptaków na obszarze Polski Zadanie : Zaprojektować odpowiednia bazę danych Krok pierwszy : Rozpoznanie dziedziny problemu

7 Technologia Do tworzenia bazy danych o nazwie „PtakiPolskie” wykorzystamy technologię MS SQL Server 2012 Express Edition Technologia dostępna darmowo nawet do zastosowań komercyjnych MS SQL Server 2012 jest najczęściej wykorzystywaną technologią przy realizacji nowych projektów

8 Projektujemy bazę danych
Fakt 1 – Z rozpoznania dziedziny problemu wynika, że gatunki ptaków są łączone w rodziny a rodziny w rzędy Przykładowa zawartość Struktura tabeli IdRzedu NazwaPL NazwaLac 1 blaszkodziobe Anseriformes 2 brodzace Ciconiiformes 3 nury Gaviiformes 4 pełnopłetwe Pelecaniformes 5 perkozy Podicipediformes 6 wróblowe Passeriformes Typy danych Klucz podstawowy

9 Projektujemy bazę danych cd.
Wymaganie : Rodziny ptaków są gromadzone w rzędy IdRodziny NazwaPL NazwaLac IdRzedu 1 bocianowate Ciconiidae 2 czaplowate Ardeidae 4 3 drozdowate Turdidae 6 ibisowate Threskiornithidae 5 jaskółkowate Hirundinidae jemiołuszkowate Bombycillidae 7 kaczkowate Anatidae 8 krukowate Corvidae 9 łuszczaki Fringillidae 10 nury Gaviidae 11 perkozy Podicipedidae 12 pliszkowate Motacillidae 13 sikory Paridae 14 skowronki Alaudidae 15 wróblowate Passeridae Klucz obcy Wiersz z tabeli Rzedy

10 Projektujemy bazę danych cd.

11 Projektujemy bazę danych cd.
Fragment bazy danych opisujący podział administracyjny w Polsce

12 Projektujemy bazę danych cd.
Baza danych do rejestracji obserwacji ptaków w Polsce

13 Język SQL - zapytania Na etapie projektu opisaliśmy problem przy pomocy tabel Korzystając z bazy danych realizujemy zapytania (przetwarzanie danych, łączenie tabel, obliczenia) W języku SQL do realizacji zapytań służy polecenie SELECT Polecenie SELECT umożliwia trzy typy realizacji zapytań: Zapytania proste Zapytania agregujące Zapytania wykorzystujące przetwarzanie w oknie

14 Zapytania proste SELECT (Konstruktor wiersza wynikowego) FROM (Skąd pobieramy dane – łączenie tabel) WHERE (Filtrowanie – warunki selekcji) ORDER BY (Porządkowanie wyniku zapytania)

15 Zapytanie proste - przykład
Podstawową klauzulą polecenia Select jest FROM From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Opisujemy połączenie niezbędnych tabel Wynik połączenia

16 Zapytanie proste - przykład
Dodajemy warunek selekcji : From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Where IdRzedu=5 Wynik po filtrowaniu

17 Zapytanie proste - przykład
Formułujemy wyrażenia konstruktora wiersza – budujemy postać tabeli wynikowej Uwaga: dla każdego wiersza otrzymanego z przetwarzania FROM … WHERE budujemy jeden wiersz wyniku Select Gatunki.NazwaPL+N'( łac.' +Gatunki.NazwaLac+')' as Gatunek, Rodziny.NazwaPL as Rodzina From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Where IdRzedu=5 Wynik po przetworzeniu

18 Zapytanie proste - przykład
Dodatkowo, wynik można uporządkować według określonego kryterium Select Gatunki.NazwaPL+N'( łac.' +Gatunki.NazwaLac+')' as Gatunek, Rodziny.NazwaPL as Rodzina From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Where IdRzedu=5 Order By Gatunek Wynik po uporządkowaniu

19 Zapytania agregujące - przykład
Funkcje agregujące (wykonują obliczenia dla tabeli wynikowej) : COUNT - zlicza ilość wierszy SUM - sumuje wartości wyrażenia dla tabeli AVG - oblicza wartość średniej arytmetycznej dla tabeli MIN - określa wartość minimalna wyrażenia MAX - określa wartość maksymalna dla wyrażenia Zastosowana, w konstruktorze wiersza, funkcja agregująca zwraca jeden wiersz wynikowy niezależnie od ilości wierszy przekazanych do przetworzenia Select COUNT(*) as IleGatunkow From Gatunki

20 Zapytania agregujące - przykład
Select Rodziny.NazwaPL as Rodzina, COUNT(*) As IleGatunkow From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Group By Rodziny.NazwaPL Having COUNT(*) BETWEEN 4 AND 10 Order By IleGatunkow DESC Wynik zapytania

21 Grupowanie danych Select Rodziny.NazwaPL as Rodzina, Gatunki.NazwaPL From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Rodzina Gatunek bocianowate bocian biały bocian czarny sikory bogatka czarnogłówka czubatka modraszka sikora lazurowa sikora uboga sosnówka ibisowate ibis kasztanowaty warzęcha nury nur białodzioby nur czarnoszyi nur lodowiec nur rdzawoszyi jaskółkowate jaskółka brzegówka jaskółka dymówka jaskółka oknówka jaskółka rudawa Rodzina IleGatunkow Bocianowate 2 Sikory 7 Ibisowate Nury 4 Jaskółkowate Select Rodziny.NazwaPL as Rodzina, COUNT(*) As IleGatunkow From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Group By Rodziny.NazwaPL

22 Zapytania wykorzystujące przetwarzanie w oknie - analiza
Przygotowanie do analizy danych: Zdefiniowano dwa widoki w bazie danych Widok „Lokalizacje” Widok „GatunkiPtakow”

23 Zapytania – przetwarzanie w oknie
WITH DaneDoAnalizy AS ( Select Nazwisko+' '+Imie as Obserwator, Pesel, Gmina, Powiat, Gatunek, Rodzina, Rzad, Ilosc, Month(DataObserwacji) as Miesiac, Year(DataObserwacji) as Rok From Obserwatorzy INNER JOIN Obserwacje ON Obserwatorzy.idobserwatora = Obserwacje.Idobserwatora JOIN GatunkiPtakow On Obserwacje.IdGatunku=GatunkiPtakow.IdGatunku JOIN Lokalizacje ON Lokalizacje.IdGminy=Obserwacje.IdGminy Where Wojewodztwo='Podlaskie' ) Select * From DaneDoAnalizy

24 Zapytania – przetwarzanie w oknie
Przykładowa zawartość zbioru DaneDoAnalizy

25 Przetwarzanie w oknie Przetwarzanie w oknie – klauzula OVER
Dla każdego wiersza wyniku zapytania można stosować zbiór funkcji działających na zdefiniowanym zbiorze danych Funkcje : -Agregujące (AUM, AVG, MIN, MAX, AVG …..) Funkcje szeregujące(rankingu) (ROW_NUMBER(), RANK, DENSE_RANK(),NTILE() ) Funkcje pozycji (FIRST_VALUE() , LAST_VALUE() , LEAD(), LAG (), NEXT_VALUE()) Funkcje analityczne (PERCENT_RANK(), PERCENTILE_CONT(), PERCENTILE_DISC())

26 Przetwarzanie w oknie Elementy definiowania okna Porządkowanie :
OVER (ORDER BY Kolumna) Partycjonowanie OVER (PARTITION BY Kolumna) Definicja ramy okna (element ruchomy) OVER (ORDER BY Kolumna ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW )

27 Przykład przetwarzania w oknie
Select Obserwator, Pesel, Gmina, Powiat, Gatunek, Rodzina, Rzad, Ilosc, Miesiac, Rok, Sum(Ilosc) OVER (Partition By Gmina) as IlewGminie, Count(*) OVER (Partition BY Gatunek,Powiat) as IleObsGatunkuWPowiecie, sum(Ilosc) OVER (Partition BY Powiat,Rok,Miesiac Order BY Miesiac Rows Between unbounded Preceding and current row) as Narastająco From DaneDoAnalizy

28 Przykładowy wynik zapytania
Przejdziemy do analizy przykładu w środowisku bazy danych

29 Podsumowanie Projekt bazy danych może opisywać dowolną dziedzinę problemu Zapytania w języku SQL mogą działać według trzech podstawowych schematów Zapytania proste – jeden wiersz wynikowy dla jednego wiersza uzyskane z frazy FROM … WHERE Zapytania agregujące – jeden wiersz dla grupy wierszy (tracimy precyzje zapytania) Przetwarzanie w oknie – jeden wiersz wynikowy dla jednego wiersza uzyskane z frazy FROM … WHERE ale można wykorzystywać agregacje w oknie

30


Pobierz ppt "Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +"

Podobne prezentacje


Reklamy Google