OnLine Analytical Processing (OLAP) Zapytania SQL

Podobne dokumenty
OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX

Kostki OLAP i język MDX

Map Reduce Proste zliczanie słów i zapytania SQL

Klasyczna Analiza Danych

Modelowanie wielowymiarowe i transformacja danych

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

SQL do zaawansowanych analiz danych część 1.

Map Reduce Wprowadzenie do Apache Hadoop

OLAP i hurtownie danych c.d.

Grupowanie danych klauzula GROUP BY

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Proces ETL MS SQL Server Integration Services (SSIS)

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

SQL do zaawansowanych analiz danych część 1.

Bazy danych - wykład wstępny

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Bazy danych - Materiały do laboratoriów IV

Baza danych. Modele danych

SQL (ang. Structured Query Language)

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Tworzenie zapytań do Microsoft SQL Server

Podstawowe zapytania SELECT (na jednej tabeli)

Modelowanie wielowymiarowe hurtowni danych

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Hurtownie danych - przegląd technologii

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Przestrzenne bazy danych Podstawy języka SQL

Funkcje analityczne SQL CUBE (1)

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

188 Funkcje analityczne

Struktura bazy danych

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Microsoft SQL Server Podstawy T-SQL

Klasyczna Analiza Danych

WPROWADZENIE DO BAZ DANYCH

Rozszerzenia grupowania

Wykład XII. optymalizacja w relacyjnych bazach danych

WK, FN-1, semestr letni 2010 Tworzenie list frekwencyjnych za pomocą korpusów i programu Poliqarp

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Autor: Joanna Karwowska

Wykład 2. Relacyjny model danych

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Opisy efektów kształcenia dla modułu

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Rozdział 14 Funkcje analityczne

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Laboratorium Bazy danych SQL 2

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Wprowadzenie do baz danych

Spis treści MONITOR PRACY... 4

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

SQL do zaawansowanych analiz danych część 2.

Instrukcja użytkownika OPERATORA Akademickiego Systemu Archiwizacji Prac

System imed24 Instrukcja Moduł Analizy i raporty

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

SYSTEM E-NAUKA INSTRUKCJA DLA STUDENTA

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

2017/2018 WGGiOS AGH. LibreOffice Base

Przygotowanie do egzaminu. część I

Laboratorium nr 1. i 2.

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

MS Excel cz.1 funkcje zaawansowane

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

System egzaminów elektronicznych Instrukcja do Portalu Egzaminacyjnego i modułu task. Spis treści

KARTA PRZEDMIOTU. Hurtownie i eksploracja danych D1_5

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

USOSweb dla prowadzących zajęcia

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

EXCEL TABELE PRZESTAWNE

Instrukcja użytkownika OPERATORA Akademickiego Systemu Archiwizacji Prac

Systemy baz danych 2 laboratorium Projekt zaliczeniowy

Nowe technologie baz danych

Power Query pobieranie i przetwarzanie danych w Excelu

Operacja PIVOT w języku SQL w środowisku Oracle

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Elektroenergetyki Technologie informatyczne

Optymalizacja poleceń SQL Metody dostępu do danych

Opcje raportów. łatwe i czytelne raportowanie

Część II. Zadanie 3.3. (0 1)

Język SQL. Rozdział 2. Proste zapytania

Zadania semestralne. Programowanie obiektowe sem. II, lato 2014/2015

Przedmowa... xiii Podziękowania... xv Wprowadzenie... xix 1 Logiczne przetwarzanie zapytań... 1

Propozycja rozszerzenia składni zapytań programu Poliqarp o elementy statystyczne

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Język SQL, zajęcia nr 2

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

PRZYGOTOWANIE HARMONOGRAMU WEWNĘTRZNEGO EGZAMINÓW PISEMNYCH W OŚRODKU.

Transkrypt:

OnLine Analytical Processing (OLAP) Zapytania SQL 17 kwietnia 2014 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne roadzje zadań, ale za każdym razem będą odpowiednio oznaczone: Zadania do wykonania na zajęciach oznaczone są symbolem nie są one punktowane, ale należy je wykonać w czasie zajęć. Punktowane zadania do wykonania na zajęciach oznaczone są symbolem należy je wykonać na zajęciach i zaprezentować prowadzącemu. Zadania do wykonania w domu oznaczone są symbolem - są one punktowane, należy je dostarczyć w sposób podany przez prowadzącego i w wyznaczonym terminie (zwykle do dwóch dni przed kolejnymi zajęciami). Po zakończeniu zajęć proszę o udzielenie odpowiedzi na kilka pytań zebranych w ankietę dostępną pod adresem http://goo.gl/jqrdko 1

Przegląd rozszerzeń OLAP w MS SQL Server GROUP BY ROLLUP ROLLUP(a, b, c) wygeneruje grupowania (a, b, c), (a, b), (a) oraz rekord agregujący cały zbiór. GROUP BY CUBE CUBE(a, b, c) wygeneruje grupowania (a, b, c), (a, b), (a, c), (b, c), (a), (b), (c) oraz rekord agregujący cały zbiór. GROUP BY GROUPING SETS Działa analogicznie do powyższych, ale daje możliwość jawnego określenia grupowań. GROUPING Pozwala określić dla każdego wiersza wynikowego czy dana kolumna jest zagregowana czy nie. CASE Pozwala sprawdzić wartość kolumny w krotce w oparciu o różne kryteria, z których każde kryterium może zwrócić inną wartość. OVER (PARTITION BY) OVER zazwyczaj stosowana jest z funkcjami szeregującymi i służy do określania zakresu i sposobu w jaki będą nadawane numery wierszy. PARTITION BY pozwala na partycjonowanie elementów ze względu na wartości atrybutów. Funkcje rankingowe (analityczne funkcje szeregujące): RANK () OVER Nadaje kolejne wartości wierszom w ramach zbioru, pod warunkiem, że są one różne ze względu na sposób sortowania w klauzuli OVER. DENSE RANK () OVER Działa analogicznie do RANK() ale jest funkcją ciągłą, więc inkrementuje wartości bez względu na faktyczną pozycję w rankingu (nadaje kolejny numer pozycji). ROW NUMBER () OVER Określa kolejny, unikalny numer wiersza w ramach partycji. NTILE () OVER Dzieli zbiór elementów na przedziały (tzw. kafelki lub płytki). Źródła: http://msdn.microsoft.com http://www.sqlpedia.pl http://mndevnotes.wordpress.com/category/sql-server 2

1 Zapytania SQL wykorzystujące rozszerzenia OLAP max 9p. + 3p. bonus Treść Sformułuj poniższe zapytania w języku SQL wykorzystując rozszerzenia OLAP: 1. Wyświetl liczbę odsłuchanych utworów w podziale na dni, miesiące i lata w jednym raporcie. 2. Wyświetl tę samą informację, ale sformatuj tak wynik, aby informacje sumaryczne dotyczące miesięcy i lat były czytelnie oznaczone. 3. Przygotuj raport, który zawiera liczbę odsłuchanych utworów w poszczególnych latach i miesiącach (bez uwzględnienia roku danego miesiąca). 4. Wyświetl liczbę odsłuchań poszczególnych utworów zespołu Queen i łączną liczbę odsłuchań. 5. Wyświetl roczną liczbę odsłuchań każdego artysty poczynając od 2008 roku, zagregowaną liczbę odsłuchań artysty od 2008 roku, zagregowaną liczbę odsłuchań w poszczególnych latach (od 2008). Dla każdego wiersza wynikowego wyświetl informację czy dana kolumna (rok, artysta) jest zagregowana (posiada wartość NULL) czy nie. 6. Wyświetl liczbę odsłuchań dla każdego artysty oraz informację o tym czy jest to Top artist czy nie, gdzie informację tą warunkuje liczba odsłuchań większa niż 100. 7. Wyświetl liczbę odsłuchań każdego utworu zespołu Queen w kolejnych miesiącach 2010 roku oraz ich skumulowaną liczbę. 8. Wyświetl ranking utworów (z kolumną zawierającą rangę utworu). Liczbę odsłuchań zaokrąglij do całych setek wykorzystując funkcję ROUND(%value%,-2). Zadanie wykonujemy w parach. 9. Wyświetl ranking utworów podobnie jak powyżej ale zastosuj sprawiedliwy ranking, który zawsze przydzieli 1, 2, 3, itd. miejsce. Zadanie wykonujemy w parach. 10. Ponownie wyświetl ranking utworów podobnie jak powyżej ale teraz zastosuj niesprawiedliwy ranking, który przydziela po prostu kolejne miejsca, nawet jeśli zaokrąglona liczba odsłuchań jest równa. Zadanie wykonujemy w parach. 11. Wyświetl dla każdego artysty pięć najpopularniejszych jego utworów. Zadanie wykonujemy w parach. 3

12. (Dla chętnych:) Wyświetl wszystkich użytkowników, którzy słuchali wszystkie top 3 piosenki zespołu Queen (podpowiedź: dzielenie relacyjne). Punktacja za zadania: 1p. za łączne wykonanie wszystkich zadań od 1 do 4. 1p. za łączne wykonanie wszystkich zadań od 5 do 6. 2p. za wykonanie zadania 7. 2p. za łączne wykonanie wszystkich zadań od 8 do 10 (w parach). 3p. za wykonanie zadania 11 (w parach). 3p. za wykonanie dodatkowego zadania 12. 4

2 Konkurs zapytań SQL Treść Konkurs przebiega pomiędzy dwoma grupami studentów. Studenci do grup wybierani są losowo. Konkurs składa się z kilku rund. Każda runda składa się dwóch etapów. W pierwszym etapie grupy wymyślają zadanie dla przeciwnej grupy. Zadaniem jest sformułowanie zapytania w języku SQL. W drugim etapie grupy rozwiązują zadania. Grupa odpowiadająca zdobywa punkt, gdy rozwiąże poprawnie zadanie. Jeżeli grupa zadająca pytanie nie zna na nie odpowiedzi lub odpowiedź ta jest błędna, to także grupa odpowiadająca zdobywa punkt. 5

3 Więcej zapytań SQL z rozszerzeniami OLAP 4p. Treść Sformułuj poniższe zapytania w języku SQL wykorzystując rozszerzenia OLAP: 1. Wyświetl liczbę odsłuchanych utworów w podziale na dni, miesiące i lata. Uwzględnij informacje o liczbie odsłuchań dla każdego dnia niezależnie od miesiąca, każdego dnia niezależnie od miesiąca i roku, każdego miesiąca niezależnie od roku i dnia oraz każdego miesiąca niezależnie od roku. (1p.) 2. Wyświetl ranking utworów dla zespołu Queen zamieszczjąc dodatkowo informację o podziale krotek na 4 grupy (kafelki, płytki). (1p.) 3. Dla każdego roku pomiędzy 2007 a 2010 wyświetl 5 największych hitów (piosenek), wraz z ich rankingiem. Dodatkowo w tym samym raporcie wylistuj piosenki, które znalazły się w zestawieniach dla poszczególnych lat, posortowane wg. liczby odsłuchań. (2p.) Uwagi: Do wykonania zadania wykorzystaj rozszerzenia OLAP dla MS SQL, które poznałeś/aś na wykładzie oraz zajęciach laboratoryjnych. Zapytania SQL należy przesłać prowadzącemu najpóźniej 2 dni przed kolejnymi zajęciami (do wtorku do północy) w pliku w formacie NR INDEKSU.sql, tak aby prowadzący mógł łatwo otworzyć i wykonać zapytania. W pliku proszę zamieścić komentarze z imieniem, nazwiskiem, numerem indeksu oraz numerami poszczególnych zapytań (komentarze poprzedza się podwójnym myślnikiem --). 6