Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałRościsław Sendecki Został zmieniony 9 lat temu
1
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
2
2 BAZY DANYCH I SQL A PTAKI POLSKIE (KTO PYTA NIE BŁĄDZI) Andrzej Ptasznik
3
Ptaki polskie 3
4
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ń: 4 Zapytania proste Zapytania agregujące Zapytania wykorzystujące przetwarzanie w oknie
5
Zapytania proste SELECT (Konstruktor wiersza wynikowego) FROM (Skąd pobieramy dane – łączenie tabel) WHERE (Filtrowanie – warunki selekcji) ORDER BY (Porządkowanie wyniku zapytania) 5
6
Zapytanie proste - przykład Podstawową klauzulą polecenia Select jest FROM From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny 6 Opisujemy połączenie niezbędnych tabel Wynik połączenia
7
Zapytanie proste - przykład Dodajemy warunek selekcji: 7 From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Where IdRzedu=5 Wynik po filtrowaniu
8
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 8 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
9
Zapytanie proste - przykład Dodatkowo, wynik można uporządkować według określonego kryterium 9 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
10
Zapytania agregujące - przykład Funkcje agregujące (wykonują obliczenia dla tabeli wynikowej): 10 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
11
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 11 Wynik zapytania
12
Grupowanie danych Select Rodziny.NazwaPL as Rodzina, Gatunki.NazwaPL From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny 12 RodzinaGatunek bocianowatebocian biały bocianowatebocian czarny sikorybogatka sikoryczarnogłówka sikoryczubatka sikorymodraszka sikorysikora lazurowa sikorysikora uboga sikorysosnówka ibisowateibis kasztanowaty ibisowatewarzęcha nurynur białodzioby nurynur czarnoszyi nurynur lodowiec nurynur rdzawoszyi jaskółkowatejaskółka brzegówka jaskółkowatejaskółka dymówka jaskółkowatejaskółka oknówka jaskółkowatejaskółka rudawa Select Rodziny.NazwaPL as Rodzina, COUNT(*) As IleGatunkow From Gatunki JOIN Rodziny ON Gatunki.IdRodziny=Rodziny.IdRodziny Group By Rodziny.NazwaPL RodzinaIleGatunkow Bocianowate2 Sikory7 Ibisowate2 Nury4 Jaskółkowate4
13
Zapytania wykorzystujące przetwarzanie w oknie - analiza Przygotowanie do analizy danych: Zdefiniowano dwa widoki w bazie danych 13 Widok „Lokalizacje” Widok „GatunkiPtakow”
14
Zapytania – przetwarzanie w oknie 14 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
15
Zapytania – przetwarzanie w oknie 15 Przykładowa zawartość zbioru DaneDoAnalizy
16
Przetwarzanie w oknie 16 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()) Przetwarzanie w oknie – klauzula OVER Dla każdego wiersza wyniku zapytania można stosować zbiór funkcji działających na zdefiniowanym zbiorze danych
17
Przetwarzanie w oknie 17 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 )
18
Przykład przetwarzania w oknie 18 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
19
Przykładowy wynik zapytania 19 Przejdziemy do analizy przykładu w środowisku bazy danych
20
Podsumowanie Projekt bazy danych może opisywać dowolną dziedzinę problemu Zapytania w języku SQL mogą działać według trzech podstawowych schematów 20 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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.