Schemat bazy danych. Funkcje analityczne. ROLLUP - wynik ROLLUP
|
|
- Michał Domański
- 7 lat temu
- Przeglądów:
Transkrypt
1 Schemat bazy danych TIMES # TIME_KEY TRANSACTION_DATE DAY_OF_WEEK HOLIDAY_FLAG Funkcje analityczne Operatory ROLLUP i CUBE, funkcja GROUPING, funkcje porządkujące (ranking), okienkowe, raportujące, statystyczne, funkcje LAG/LAD PRODUCTS # PRODUCT_KEY DESCRIPTION FULL_DESCRIPTION PRODUCT_TYPE PRODUCT_CATEGORY BRAND AGE_CATEGORY DEPARTMENT SALES_FACT # TIME_KEY # STORE_KEY # PRODUCT_KEY SALES UNIT_SALES COST CUSTOMER_COUNT PROFIT STORE # STORE_KEY STORE_NAME CITY REGION FLOOR_PLAN_TYPE STORE_SIZE REPORTS ROLLUP Polecenie ROLLUP jest rozszerzeniem klauzuli GROUP BY, które pozwala wyliczać podsumowania częściowe i ogólne. Polecenie ROLLUP służy do konstruowania pół-kostek danych. ROLLUP jest wyrażeniem wyjątkowo wydajnym. Dla n kolumn grupujących ROLLUP tworzy n + 1 podsumowań. SELECT atrybuty grupujące, agregaty FROM WHERE GROUP BY BY ROLLUP (atrybuty grupujące); SELECT t.day_of_week, p.description, s.city, s.city, SUM(sf.sales) AS AS sum_sales, COUNT(*) AS AS num_of_sales FROM FROM times timest, t, products p, p, store stores, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND AND p.product_key = sf.product_key AND AND s.store_key = sf.store_key AND AND s.region = East' East' AND AND p.brand = Wild WildAge' GROUP BY BY ROLLUP(t.day_of_week, p.description, s.city); ROLLUP - wynik DAY_OF_WEEK DESCRIPTION CITY SUM_SALES Friday The Net Atlanta 180,17 Friday The Net Boston 247,59 Friday The Net NULL 5421,26 Friday The Secret Garden Philadelphia 17,15 Friday The Secret Garden Pittsburgh 38,22 Friday The Secret Garden Washington 135,77 Friday The Secret Garden NULL 362,59 Friday The Shawshank Redemption Boston 75,04 Friday The Shawshank Redemption New York 190,05 Friday The Shawshank Redemption Pittsburgh 20,93 Friday The Shawshank Redemption Washington 108,82 Friday The Shawshank Redemption NULL 394,84 Friday Village of the Damned New York 605,73 Friday Village of the Damned Philadelphia 126,4 Friday Village of the Damned Pittsburgh 171,01 Friday Village of the Damned Washington 199,94 Friday Village of the Damned NULL 1655,36 Friday NULL NULL 10389, NULL NULL NULL 66917,79
2 Częściowa operacja ROLLUP SELECT atrybuty grupujące, agregaty FROM WHERE GROUP BY BY atrybut, ROLLUP (atrybuty grupujące); SELECT t.day_of_week, p.product_type, s.city, s.city, SUM(sf.cost) AS AS sum_sales, COUNT(*) AS AS num_of_sales FROM FROM times timest, t, products p, p, store stores, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND AND p.product_key = sf.product_key AND AND s.store_key = sf.store_key AND AND s.region = 'East' 'East' GROUP BY BY t.day_of_week, ROLLUP(p.product_type, s.city); CUBE Operator CUBE tworzy podsumowania dla wszystkich możliwych kombinacji grupowanych kolumn. W terminologii analiz wielowymiarowych, CUBE generuje podsumowania częściowe i ogólne tabeli faktów dla wszystkich możliwych wymiarów. Dla n kolumn grupujących CUBE tworzy 2 n podsumowań. SELECT atrybuty grupujące, agregaty FROM WHERE GROUP BY BY CUBE (atrybuty grupujące); SELECT p.product_category, s.region, SUM(sf.profit) AS AS sum_profit, SUM(unit_sales) AS AS sum_unit_sales FROM FROM products p, p, store stores, s, sales_fact sf sf AND AND s.store_key = sf.store_key GROUP BY BY CUBE( CUBE( p.product_category, s.region); CUBE - wynik Częściowa operacja CUBE PRODUCT_CATEGORY REGION SUM_PROFIT SUM_UNIT_SALES Action Central Action East Action West Action NULL Alcohol Central Alcohol East Alcohol West Alcohol NULL Candy Central Candy East Candy West Candy NULL Video Game Central Video Game East Video Game West Video Game NULL NULL Central NULL East NULL West NULL NULL SELECT atrybuty grupujące, agregaty FROM WHERE GROUP BY BY atrybut, CUBE (atrybuty grupujące); SELECT to_char(t.transaction_date,'month') AS AS month, p.product_category, s.region, SUM(sf.profit) AS AS sum_profit, SUM(unit_sales) AS AS sum_unit_sales FROM FROM times timest, t, products p, p, store stores, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND AND p.product_key = sf.product_key AND AND s.store_key = sf.store_key AND AND p.department = 'Video 'Video Rental' GROUP BY BY to_char(t.transaction_date,'month'), to_char(t.transaction_date,'mm'), CUBE CUBE (( p.product_category, s.region) ORDER BY BY to_char(t.transaction_date,'mm');
3 Podsumowanie CUBE i ROLLUP Wartości puste w operatorach ROLLUP i CUBE Operatory ROLLUP i CUBE działają niezależnie od zdefiniowanych w bazie danych hierarchii Przy operacjach ROLLUP i CUBE możemy wykorzystać również inne funkcje agregujące: COUNT, AVG, MIN, MAX, STDDEV i VARIANCE Klauzula HAVING w przypadku użycia CUBE lub ROLLUP odnosi się zarówno do elementów (wierszy) podsumowywanych jak do zwykłych Klauzula ORDER BY nie rozróżnia wierszy podsumowywanych i zwykłych. Do ich rozróżnienia trzeba użyć funkcji GROUPING Puste wartości kolumn w przypadku zapytań z funkcjami ROLLUP i CUBE mogą oznaczać operacje podsumowania wykonywaną na określonym wymiarze lub standardową wartość pustą kolumny, np. we fragmencie poniżej trzeci wiersz z wartością pustą może oznaczać podsumowanie dwóch powyższych jak i np. podsumowanie dla departamentu o pustej nazwie. Time Region Department Profit NULL VideoRental 251, NULL VideoSales 275, NULL NULL 526,000 Funkcja GROUPING Funkcja GROUPING pozwala rozróżnić wiersze z wartościami pustymi od wierszy podsumowań. Jeżeli wartość pusta oznacza podsumowanie GROUPING zwraca wartość 1, w przeciwnym przypadku 0. SELECT...,..., GROUPING(atrybut grupujący) FROM WHERE GROUP BY BY {{ ROLLUP CUBE }}(atrybuty grupujące); SELECT t.day_of_week, p.brand, s.city, s.city, GROUPING(t.day_of_week) AS AS T, T, GROUPING(p.brand) AS AS B, B, GROUPING(s.city) AS AS C, C, SUM(sf.profit) AS AS profit profit FROM FROM times timest, t, products p, p, store stores, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND AND p.product_key = sf.product_key AND AND s.store_key = sf.store_key AND AND p.department = 'Snacks' AND AND s.region = 'West 'West GROUP BY BY CUBE CUBE (( t.day_of_week, p.brand, s.city s.city ); ); Funkcja GROUPING - wynik Wednesday San Francisco Wednesday Seattle Wednesday Dordor Denver Dordor Los Angeles Dordor Phoenix Dordor San Francisco Dordor Seattle Dordor Galore Denver Galore Los Angeles Galore Phoenix Galore San Francisco Galore Seattle Galore Leavenworth Denver Leavenworth Los Angeles Leavenworth Phoenix Leavenworth San Francisco Leavenworth Seattle Leavenworth Denver Los Angeles Phoenix San Francisco Seattle
4 Funkcja GROUPING rozróżnienie wartości pustych od podsumowań SELECT DECODE(GROUPING(t.day_of_week),1,'All days',t.day_of_week), DECODE(GROUPING(p.product_category),1,'All cats',p.product_category), DECODE(GROUPING(s.region),1,'All regs',s.region), SUM(sf.cost) as as cost, cost, FROM FROM times timest, t, products p, p, store stores, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND AND p.product_key = sf.product_key AND AND s.store_key = sf.store_key GROUP BY BY CUBE CUBE (( t.day_of_week, p.product_category, s.region ); ); All days Thriller East All days Thriller West All days Thriller All regions All days Video Game Central All days Video Game East All days Video Game West 1733 All days Video Game All regions All days All categories Central All days All categories East All days All categories West All days All categories All regions Funkcje analityczne Funkcje analityczne dzielą się na następujące kategorie: porządkujące wyliczające ranking : RANK, DENSE_RANK, PERCENT_RANK, CUME_DIST, NTILE Okienkowe (funkcje okna) wyznaczają wartości agregatów dla zdefiniowanych okien : AVG, SUM, MIN, MAX, COUNT, VARIANCE, STDDEV, FIRST_VALUE, LAST_VALUE raportujące wyliczające udziały : AVG, SUM, MIN, MAX, COUNT, VARIANCE, STDDEV funkcje LAG/LEAD znajdujące wartości w krotkach o określonej odległości od krotki bieżącej statystyczne wyliczające zmiany poziomów, i inne statystyki Zagadnienia związane z funkcjami analitycznymi Kolejność przetwarzania Partycje funkcje analityczne pozwalają użytkownikom dzielić rezultat zapytania na grupy zwane partycjami. Partycje są tworzone po grupowaniu, dlatego nie są dozwolone dla nich funkcje agregujące. Podział na partycje może być oparty o dowolną kolumnę lub wyrażenie. Zagadnienia związane z funkcjami analitycznymi Okno dla każdej krotki w partycji można zdefiniować ruchome okno danych. Okno takie określa zakres krotek używanych do wykonania obliczeń dla bieżącej krotki. Rozmiary okna mogą być oparte zarówno na fizycznej liczbie krotek, jak i na logicznym przedziale, takim jak np. czas. Bieżąca krotka każde obliczenie za pomocą funkcji analitycznej jest oparte na bieżącej krotce wewnątrz partycji. Bieżąca krotka służy jako punkt odniesienia określający początek i koniec okna.
5 RANK i DENSE_RANK Funkcje RANK i DENSE_RANK pozwalają uporządkowanie elementów w grupie, np. na znalezienie trzech najlepiej sprzedających się produktów. RANK() OVER (( DENSE_RANK() OVER (( RANK - przykład SELECT s.city, SUM(sf.profit) AS AS PROFIT, RANK() OVER (( ORDER BY BY SUM(sf.sales) DESC )) AS AS RANK FROM store s, s, sales_fact sf sf WHERE s.store_key = sf.store_key GROUP BY BY s.city; SELECT s.city, s.region, SUM(sf.sales) AS AS SALES, RANK() OVER (( PARTITION BY BY s.region ORDER BY BY SUM(sf.sales) DESC )) AS AS RANK FROM store s, s, sales_fact sf sf WHERE s.store_key = sf.store_key GROUP BY BY s.city, s.region; RANK przykład 2 Przy pomocy funkcji RANK i DENSE_RANK można dokonywać selekcji pozycji wg wyznaczonego przez nie porządku. SELECT ** FROM (( SELECT p.description, SUM(sf.sales) AS AS SALES, RANK() OVER (( ORDER BY BY SUM(sf.sales) )) AS AS RANK FROM products p, p, sales_fact sf sf GROUP BY BY p.description )) WHERE rank BETWEEN 1 AND 10; 10; DENSE_RANK - przykład W przeciwieństwie do funkcji RANK() funkcja DENSE_RANK() nie pozostawia pustych wartości w sekwencji rankingu. SELECT p.product_category, s.city, SUM(sf.profit) AS AS PROFIT, COUNT(*) AS AS COUNT, DENSE_RANK() OVER (( PARTITION BY BY s.city ORDER BY BY COUNT(*) DESC )) AS AS RANK FROM store s, s, products p, p, sales_fact sf sf WHERE s.store_key = sf.store_key AND p.product_key = sf.product_key AND p.department = 'Video Rental' GROUP BY BY p.product_category, s.city;
6 CUME_DIST Funkcja CUME_DIST wylicza pozycję wyspecyfikowanej wartości w podzbiorze. Kolejność może być rosnąca lub malejąca. Wartości przyjmowane przez CUME_DIST są w zakresie od 0 + do 1. Definicja: CUME_DIST(x) = liczba wartości w zbiorze S występujących przed wartością x (przy określonym porządku wartości) // liczbę wszystkich wartości w zbiorze S CUME_DIST() OVER (( CUME_DIST - przykład SELECT p.description, SUM(sf.sales) AS AS SALES, CUME_DIST() OVER (( ORDER BY BY SUM(sf.sales) )) AS AS CUME_DIST FROM products p, p, sales_fact sf sf AND p.age_category = 'over 18' 18' GROUP BY BY p.description; PERCENT_RANK Funkcja PERCENT_RANK jest bardzo podobna do CUME_DIST. Różnica polega na tym, że PERCENT_RANK bierze pod uwagę pozycję przy określonym porządku a nie wartość. Wartości przyjmowane przez CUME_DIST są w zakresie od 0 do 1. Definicja: PERCENT_RANK(x) = ranking krotki x w partycji 1 // liczba krotek w partycji 1 PERCENT_RANK() OVER (( PERCENT_RANK - przykład SELECT p.description, s.region, SUM(sf.profit) AS AS PROFIT, PERCENT_RANK() OVER (( PARTITION BY BY s.region ORDER BY BY SUM(sf.profit) )) AS AS PERCENT FROM store s, s, products p, p, sales_fact sf sf AND s.store_key = sf.store_key AND p.age_category = 'over 18' 18' GROUP BY BY p.description, s.region;
7 NTILE NTILE dzieli krotki w uporządkowanej partycję na określoną liczbę grup (bucket) i przypisuje każdej z nich liczbę porządkową. Liczba krotek między grupami różni się co najwyżej o jedną krotkę. Funkcja NTILE służy przede wszystkim do wyliczania kwantyli, kwartyli i median. NTILE jest funkcją niedeterministyczną. NTILE(N) OVER (( NTILE - przykład SELECT s.city, SUM(sf.unit_sales) AS AS UNIT_SALES, NTILE(5) OVER (( ORDER BY BY SUM(sf.unit_sales) )) AS AS NTILE FROM store s, s, sales_fact sf sf WHERE s.store_key = sf.store_key GROUP BY BY s.city ORDER BY BY NTILE, UNIT_SALES DESC; SELECT t.day_of_week, s.city, SUM(sf.profit) AS AS PROFIT, NTILE(7) OVER (( PARTITION BY BY s.city ORDER BY BY SUM(sf.profit) DESC) AS AS NTILE FROM times t, t, store s, s, sales_fact sf sf WHERE s.store_key = sf.store_key AND t.time_key = sf.time_key GROUP BY BY t.day_of_week, s.city ORDER BY BY NTILE, PROFIT DESC; ROW_NUMBER Funkcja ROW_NUMBER przypisuje unikalny numer każdej krotce w partycji. Podobnie jak funkcja NTILE, ROW_NUMBER jest niedeterministyczna. Aby zapewnić deterministyczny wynik sortowanie musi się odbywać po kluczu unikalnym. ROW_NUMBER() OVER (( ROW_NUMBER - przykład SELECT s.city, SUM(sf.profit) --SUM(sf.cost) AS AS FINAL, ROW_NUMBER() OVER (( ORDER BY BY SUM(sf.profit) --SUM(sf.cost) DESC )) AS AS NUM FROM store s, s, sales_fact sf sf WHERE s.store_key = sf.store_key GROUP BY BY s.city; SELECT p.description, p.age_category, TRUNC(SUM(sf.customer_count),-3) AS AS CUSTOMERS, ROW_NUMBER() OVER (( PARTITION BY BY p.age_category ORDER BY BY TRUNC(SUM(sf.customer_count),-3) DESC )) AS AS NUM FROM products p, p, sales_fact sf sf AND p.department = 'Video Sale' GROUP BY BY p.description, p.age_category
8 Funkcje okienkowe Funkcje okienkowe operują na uporządkowanym zbiorze krotek i dla każdej krotki obliczają wartość agregowaną dla okna, którego środkiem jest bieżąca krotka. Rozmiary okna mogą być nieograniczone lub ograniczone. Podobnie jak w przypadku funkcji rankingowych zbiór danych może być najpierw podzielony na partycje. Rodzina funkcji okienkowych to w rzeczywistości rozszerzona składnia i funkcjonalność klasycznych funkcji agregujących SUM, AVG, MIN, MAX, STDDEV, VARIANCE, COUNT, FIRST_VALUE i LAST_VALUE. Cechy funkcji okienkowych Oprócz funkcji standardowych SUM, AVG, MIN,... Jako funkcje okienkowe można wykorzystać funkcje analizy regresji VAR_SAMP, VAR_POP, STDDEV_SAMP, STDDEV_POP, COVAR_SAMP, COVAR_POP, REGR_SLOPE, REGR_INTERCEPT, REGR_R2, REGR_AVGX, REGR_AVGY, REGR_COUNT, REGR_SXX, REGR_SXY, REGR_SYY Każda funkcja może mieć klauzulę definiującą rozmiar okna (w przeciwnym wypadku okno jest nieograniczone obejmuje wiersze od początku partycji do bieżącego wiersza) Każda funkcja ma własną klauzulę sortującą Funkcje agregujące w oknach są resetowane na granicy partycji Dla każdego wyrażenia występującego w funkcji można określać porządek wzrastający i malejący Wartości puste mogą być umieszczane na początku bądź końcu (niezależnie od porządku sortowania) Określanie rozmiarów okien Fizyczne: wyrażone w liczbie krotek, dodatkowo słowa kluczowe CURRENT ROW: okno rozpoczyna się lub kończy w bieżącym wierszu UNBOUNDED PRECEDING: okno rozpoczyna się na pierwszej krotce partycji UNBOUNDED FOLLOWING: okno kończy się na ostatniej krotce partycji Czasowe: wyrażone interwałem czasowym Zakresy wartości: wyrażone różnicą między wartością w bieżącej krotce i wartością poprzedzającą Funkcja okienkowa ze stałym oknem Okno dla każdej krotki zaczyna się zawsze na początku bieżącej partycji stałe jest osadzenie początku okna SELECT p.description, t.transaction_date, sf.sales, SUM(sf.sales) OVER (( PARTITION BY BY p.description ORDER BY BY t.transaction_date ROWS UNBOUNDED PRECEDING )) AS AS GRAND_SUM FROM times t, t, store s, s, products p, p, sales_fact sf sf WHERE t.time_key = sf.time_key AND s.store_key = sf.store_key AND p.product_key = sf.product_key AND s.city = 'Atlanta' AND p.department = 'Video Rental' AND TO_CHAR(t.transaction_date,'D') = 7; 7;
9 Funkcja okienkowa ze zmiennym oknem Okno dla bieżącej krotki jest wyrażone jako odległość 15 dni wstecz od daty bieżącej transakcji SELECT t.transaction_date, sf.sales, AVG(sf.sales) OVER (( ORDER BY BY t.transaction_date RANGE INTERVAL '15' '15' DAY PRECEDING )) AS AS AVERAGE FROM times t, t, store s, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND s.store_key = sf.store_key AND s.city = 'New York' AND sf.profit > ORDER BY BY AVERAGE DESC; Funkcja okienkowa ze zmiennym oknem Okno dla bieżącej krotki jest wyrażone jako dwie krotki wstecz od bieżącej krotki SELECT t.transaction_date, AVG(sf.sales) OVER (( PARTITION BY BY t.transaction_date ORDER BY BY t.transaction_date ROWS BETWEEN 2 PRECEDING AND 0 FOLLOWING) AS AS AVERAGE FROM times t, t, products p, p, sales_fact sf sf WHERE t.time_key = sf.time_key AND p.product_key = sf.product_key AND t.day_of_week = 'Monday' AND p.description = 'Toy 'ToyStory'; Funkcje FIRST_VALUE i LAST_VALUE Funkcje FIRST_VALUE i LAST_VALUE pozwalają użytkownikowi odczytywać wartości z pierwszej i ostatniej krotki w oknie. Pozwalają one na analizę porównawczą z wartościami bazowymi dla danego okna. SELECT city, city, region, sum_sales, LAST_VALUE(sum_sales) OVER (( PARTITION BY BY region ORDER BY BY sum_sales ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )) AS AS LAST_VAL FROM (( SELECT s.city, s.region, SUM(sf.sales) AS AS sum_sales FROM store s, s, sales_fact sf sf WHERE s.store_key = sf.store_key GROUP BY BY s.city, s.region ); ); Funkcje raportujące Podczas analizy często zachodzi konieczność porównywania wartości na różnych poziomach agregacji. Funkcje raportujące umożliwiają włączanie do krotek wartości pochodzących z różnych poziomów agregacji. Funkcje raportujące działają na poziomie okien i zwracają albo wartość agregatu dla całego okna albo wartość agregatu dla okna z wyłączeniem bieżącego okna. Składnia {SUM AVG MAX MIN MIN COUNT STDDEV VARIANCE} (([[ ALL ALL DISTINCT ]]{{ <value expression1> **}} )) OVER (([[ PARTITION BY BY <value expression2> [[,...,...]]]]) )
10 Przykłady funkcji raportujących SELECT p.department, s.region, SUM(sf.sales) AS AS sum_sales, MAX(SUM(sf.sales)) OVER OVER (( PARTITION BY BY p.department )) AS AS max_sales FROM FROM products p, p, store stores, s, sales_fact sf sf AND AND s.store_key = sf.store_key GROUP BY BY p.department, s.region; SELECT TO_CHAR(t.transaction_date,'MONTH') AS AS month, s.region, COUNT(sf.sales) as as count_sales, AVG(COUNT(sf.sales)) OVER OVER (( PARTITION BY BY s.region )) AS AS avg_count_sales FROM FROM times timest, t, store stores, s, sales_fact sf sf WHERE t.time_key = sf.time_key AND AND s.store_key = sf.store_key GROUP BY BY TO_CHAR(t.transaction_date,'MONTH'), s.region, TO_CHAR(t.transaction_date,'MM') ORDER BY BY TO_CHAR(t.transaction_date,'MM'), s.region; RATIO_TO_REPORT Funkcja RATIO_TO_REPORT służy do wyliczania stosunku danej wartości do sumy zbioru wartości w oknie. Jeśli wartość jest pusta, to wynikiem funkcji jest NULL. Jeśli klauzula PARTITION BY zostanie pominięta, to funkcja jest wyliczana na podstawie całego wyniku zapytania. Składnia: RATIO_TO_REPORT (<value expression1>) OVER (([[ PARTITION BY BY <value expression2> [[,...,...]]]]) ) RATIO_TO_REPORT - przykład SELECT p.age_category, SUM(sf.profit) AS AS sum_profit, RATIO_TO_REPORT(SUM(sf.profit)) OVER (()) AS AS ratio_profit, SUM(sf.sales) AS AS sum_sales, RATIO_TO_REPORT(SUM(sf.sales)) OVER (()) AS AS ratio_sales FROM products p, p, sales_fact sf sf GROUP BY BY p.age_category Funkcje LAG i LEAD Funkcje LAG i LEAD pozwalają na dostęp i porównanie wielu różnych krotek jednocześnie, bez konieczności wykonywania połączenia zwrotnego. Funkcje LAG i LEAD działają na podstawie podanego przez użytkownika przesunięcia (offset) względem bieżącej krotki. Składnia: {LAG LEAD} (( <value expression1>, [[ <offset> [[,, <default> ]]]])) OVER (([[ PARTITION BY BY <value expression2> [[,...,...]]]] ORDER BY BY <value expression3> [[ NULLS FIRST NULLS LAST ]][[,...,...]]))
11 Funkcje LAG i LEAD - przykład SELECT month, sum_cost, LAG(sum_cost,1) OVER (( ORDER BY BY month )) AS AS prev_cost, LEAD(sum_cost,1) OVER (( ORDER BY BY month )) AS AS next_cost FROM (( SELECT TO_CHAR(t.transaction_date,'MM YYYY') AS AS month, SUM(sf.cost) AS AS sum_cost FROM times t, t, sales_fact sf sf WHERE t.time_key = sf.time_key GROUP BY BY TO_CHAR(t.transaction_date,'MM YYYY') ); );
Rozdział 14 Funkcje analityczne
Rozdział 14 Funkcje analityczne Operatory ROLLUP i CUBE, funkcja GROUPING, funkcje porządkujące (ranking), okienkowe, raportujące, statystyczne, funkcje LAG/LAD (c) Instytut Informatyki Politechniki Poznańskiej
Bardziej szczegółowo188 Funkcje analityczne
Funkcje analityczne 188 Plan rozdziału 189 Wprowadzenie do funkcji analitycznych Funkcje rankingu Funkcje okna Funkcje raportujące Funkcje LAG/LEAD Funkcje FIRST/LAST Odwrotne funkcje percentyli Funkcje
Bardziej szczegółowoORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL
ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Raportowanie z wykorzystaniem fraz rollup, cube Frazy cube, rollup, grouping sets umożliwiają rozszerzoną
Bardziej szczegółowoSQL do zaawansowanych analiz danych część 2.
SQL do zaawansowanych analiz danych część 2. Funkcje analityczne Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan wykładu 1. Podstawowe definicje. 2. Sposób działania
Bardziej szczegółowoFunkcje analityczne SQL CUBE (1)
Funkcje analityczne SQL CUBE (1) JOB DEPTNO SUM(SAL) --------- ---------- ---------- 29025 10 8750 20 10875 30 9400 CLERK 4150 CLERK 10 1300 CLERK 20 1900 CLERK 30 950 ANALYST 6000 ANALYST 20 6000 MANAGER
Bardziej szczegółowoHurtownie danych - przegląd technologii
Funkcje analityczne SQL CUBE (1) Hurtownie danych - przegląd technologii Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel JOB DEPTNO SUM(SAL) 8750
Bardziej szczegółowoSQL do zaawansowanych analiz danych część 1.
SQL do zaawansowanych analiz danych część 1. Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan
Bardziej szczegółowoOLAP i hurtownie danych c.d.
OLAP i hurtownie danych c.d. Przypomnienie OLAP -narzędzia analizy danych Hurtownie danych -duże bazy danych zorientowane tematycznie, nieulotne, zmienne w czasie, wspierjące procesy podejmowania decyzji
Bardziej szczegółowoĆwiczenie 3. Funkcje analityczne
Ćwiczenie 3. Funkcje analityczne 1. Uruchomienie i skonfigurowanie środowiska do ćwiczeń Czas trwania: 15 minut Zadaniem niniejszych ćwiczeń jest przedstawienie podstawowych zagadnień dotyczących wykorzystywania
Bardziej szczegółowoRozszerzenia grupowania
Rozszerzenia grupowania 226 Plan rozdziału 227 Wprowadzenie ROLLUP CUBE GROUPING SETS GROUPING Rozszerzenia grupowania danych 228 W złożonych magazynach danych oprócz tabel faktów i wymiarów istnieje dodatkowo
Bardziej szczegółowoSQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Bardziej szczegółowoBazy danych wykład trzeci. Konrad Zdanowski
SQL - przypomnienie Podstawowa forma kwerendy SQL: select A1,..., Ak from R1,..., Rn where ; Odpowiada jej w algebrze relacji operacja π A1,...,Ak (σ (R1 Rn)) SQL semantyka select R.
Bardziej szczegółowoLaboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING
Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.
Bardziej szczegółowoKlasyczna Analiza Danych
Klasyczna Analiza Danych Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Wyszukiwanie danych wg zadanego wzorca Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bardziej szczegółowoJęzyk SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.
Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. 1 Funkcje grupowe (agregujące) (1) Działają na zbiorach rekordów, nazywanych grupami. Rekordy
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowoWybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee
Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych
Bardziej szczegółowoWykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.
Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,
Bardziej szczegółowoJęzyk SQL. Rozdział 2. Proste zapytania
Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na
Bardziej szczegółowoROZSZERZENIA J ZYKA SQL DLA OPERACJI ROLAP W BAZIE ORACLE8I
ROZSZERZENIA J ZYKA SQL DLA OPERACJI ROLAP W BAZIE ORACLE8I GRZEGORZ DZIE A, ANDRZEJ MAKULSKI Uniwersytet Technologiczno Przyrodniczy w Bydgoszczy Streszczenie W pracy przedstawiono elementy rozszerzenia
Bardziej szczegółowoKlasyczna Analiza Danych
Klasyczna Analiza Danych Funkcje analityczne Materiały laboratoryjne Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Wprowadzenie do c wiczenia W niniejszym ćwiczeniu student nabierze praktycznych
Bardziej szczegółowoORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL
ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Plan laboratorium Frazy SQL: group by, rollup, cube, grouping sets funkcje analityczne, budowa modeli
Bardziej szczegółowoselect zam_id, cena_euro,(rank() over (partition by zam_id order by cena_euro)) from pozycjezamowien order by zam_id
See also: OLAP.mth Suma narastająco... 1 Min max w poszczególnych grupach... 1 Numeracja elementów w grupach... 1 KLAUZULE GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP... 1 MATERIAŁ ROBOCZY... 5 First VALUE
Bardziej szczegółowoBazy danych - Materiały do laboratoriów IV
Bazy danych - Materiały do laboratoriów IV dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 17 marca 2011 roku Pozostałe funkcje wierszowe Oracle:
Bardziej szczegółowoĆwiczenie 3 funkcje agregujące
Ćwiczenie 3 funkcje agregujące Funkcje agregujące, klauzule GROUP BY, HAVING Ćwiczenie 3 funkcje agregujące Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL
Bardziej szczegółowoPlan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. 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 Generowanie wartości zagregowanych Użycie klauzul COMPUTE i COMPUTE BY Wyświetlanie początkowych
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowo- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji
6. Język SQL Język SQL (Structured Query Language): - język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji - stworzony w IBM w latach 70-tych DML (Data Manipulation
Bardziej szczegółowoSQL praca z tabelami 4. Wykład 7
SQL praca z tabelami 4 Wykład 7 1 Funkcje agregujące Informacja poszukiwana w bazie danych często musi być wyliczana na podstawie danych znajdujących się w wielu wierszach tabeli. Tak jest gdy chcemy znać
Bardziej szczegółowoOnLine Analytical Processing (OLAP) Zapytania SQL
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
Bardziej szczegółowoWprowadzenie do języka SQL
Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoPodstawowe zapytania SELECT (na jednej tabeli)
Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP
Bardziej szczegółowo1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.
Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie
Bardziej szczegółowoopisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
Bardziej szczegółowoPrzydatne sztuczki - sql. Na przykładzie postgres a.
Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie
Bardziej szczegółowoSystemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska
Systemy OLAP I Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2008/09 Studia
Bardziej szczegółowoProgram szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL
Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień
Bardziej szczegółowoSpecyfika języka SQL powoduje, że łatwiej jest najpierw wytłumaczyć, jak korzystać z funkcji grupujących, a dopiero później jak grupować dane.
W tym odcinku poznasz funkcje grupujące i dwie nowe klauzule instrukcji SELECT GROUP BY i HAVING. Nauczysz się też grupować dane, czyli łączyć wiele wierszy w jeden. Grupowanie danych polega na łączeniu
Bardziej szczegółowoTechnologie baz danych
Technologie baz danych Wykład 4: Diagramy związków encji (ERD). SQL funkcje grupujące. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Plan wykładu Diagramy związków encji elementy ERD
Bardziej szczegółowoZaawansowany SQL. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW
Zaawansowany SQL Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW MySQL GREATEST i LEAST Zarówno funkcja GEATEST jak i LEAST przyjmują N argumentów
Bardziej szczegółowoOptymalizacja poleceń SQL Metody dostępu do danych
Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,
Bardziej szczegółowoAgregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING
Agregacja w SQL 1 Bazy Danych Wykład p.t. Agregacja i Grupowanie Danych Funkcje Agregacji. Opcje GROUP BY oraz HAVING Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały:
Bardziej szczegółowoGrupowanie danych klauzula GROUP BY
Grupowanie danych klauzula GROUP BY! Użycie klazuli GROUP BY! Użycie klauzuli GROUP BY z klauzulą HAVING Użycie klauzuli GROUP BY SELECT productid, orderid,quantity SELECT productid,sum(quantity) AS total_quantity
Bardziej szczegółowoBAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoKonstruowanie Baz Danych DQL agregacja danych
Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania
Bardziej szczegółowoSzkolenie Oracle SQL podstawy. Terminy. 15 17 lutego 2010 First Minute! 1100zł!
Szkolenie Oracle SQL podstawy Terminy 15 17 lutego 2010 First Minute! 1100zł! Opis szkolenia Baza danych Oracle od dawna cieszy się zasłużona sławą wśród informatyków. Jej wydajność, szybkość działania
Bardziej szczegółowoLaboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)
Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.
Bardziej szczegółowoBEST S.A. Co nowego w SQL Server 2012 dla programistów. Cezary Ołtuszyk. coltuszyk.wordpress.com
BEST S.A. Co nowego w SQL Server 2012 dla programistów Cezary Ołtuszyk coltuszyk.wordpress.com Plan spotkania I. Sekwencje II. III. IV. Nowe funkcje skalarne Wzbogacona klauzula OVER Indeksy typu COLUMNSTRORE
Bardziej szczegółowoE.14 Bazy Danych cz. 13 SQL Grupowanie danych i funkcje grupujące
Funkcje grupujące Funkcja COUNT() Funkcja SUM() Funkcja AVG() Funkcje MIN() i MAX() Funkcja GROUP_CONCAT() Grupowanie danych Operator ROLLUP Klauzula HAVING Kolejność wykonywania klauzuli zapytań Na podstawie:
Bardziej szczegółowoIndeksowanie w bazach danych
w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy
Bardziej szczegółowoRelacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
Bardziej szczegółowoPodstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Bardziej szczegółowoFunkcje analityczne języka SQL
Plan wykładu Funkcje analityczne języka SQL 1. Podstawowe definicje 2. Podział funkcji analitycznych 3. Omówienie kolejnych grup funkcji Hurtownie danych, wykład Bartosz Bębel E-mail: bartosz.bebel@cs.put.poznan.pl
Bardziej szczegółowoMicrosoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Bardziej szczegółowoJęzyk SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach
Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu
Bardziej szczegółowoSELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek
SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *
Bardziej szczegółowoJęzyk SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą
Bardziej szczegółowoPodstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus
Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne
Bardziej szczegółowoPerspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.
Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną
Bardziej szczegółowoBazy danych 7/15. Andrzej Łachwa, UJ,
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 7/15 Tabele pomocnicze Tabele pomocnicze nie są częścią modelu danych, więc nie powinny pojawiać się na etapie
Bardziej szczegółowoNauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman
Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej
Bardziej szczegółowoWstęp do Business Intelligence
Wstęp do Business Intelligence Co to jest Buisness Intelligence Business Intelligence (analityka biznesowa) - proces przekształcania danych w informacje, a informacji w wiedzę, która może być wykorzystana
Bardziej szczegółowoBazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 6/15 Statystyki w języku SQL W różnych produktach SQL spotkamy rozmaite funkcje wbudowane ułatwiające analizy
Bardziej szczegółowoInformatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 2 LAB 2 1. Backup bazy danych Tworzenie kopii (backup) bazy danych Odtwarzanie bazy z kopii (z backup u) 1. Pobieramy skrypt Restore 2. Pobieramy
Bardziej szczegółowoPrzykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.
LINQ w Microsoft Visual Basic 'zapytanie pobierające wszystkie liczby z kolekcji 'zmienna zapytanie jest typu: System.Collections.Generic.IEnumerable(Of Integer) Dim zapytanie = From wiersz In liczby 'lub
Bardziej szczegółowoSQL - Structured Query Language. strukturalny język zapytań
SQL - Structured Query Language strukturalny język zapytań SQL - Structured Query Language - strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w
Bardziej szczegółowoWstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 1 Piotr Syga 09.10.2017 Ogólny zarys wykładu Podstawowe zapytania SQL Tworzenie i modyfikacja baz danych Elementy dynamiczne, backup, replikacja, transakcje Algebra
Bardziej szczegółowoprzygotował: pawel@kasprowski.pl Podstawy języka MDX Tworzenie zbiorów
Podstawy języka MDX Tworzenie zbiorów Używanie zbiorów Zbiór to: wynik działania funkcji (np. funkcji members) lista elementów otoczona {...} {[Store Sales], [Unit Sales]} on columns, [Product].[Prod].[Category].members
Bardziej szczegółowoSystemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska
Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2007/08 Studia uzupełniajace magisterskie
Bardziej szczegółowoPODZAPYTANIE (SUBSELECT)
2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone
Bardziej szczegółowo3. Podzapytania, łączenie tabel i zapytań
3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,
Bardziej szczegółowoSQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15
Bardziej szczegółowoPodzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę
Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem
Bardziej szczegółowoBAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków
Bardziej szczegółowoMarek Rakowski Podstawy zdania SELECT Strona 1 z 12
Marek Rakowski Podstawy zdania SELECT Strona 1 z 12 Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL
Bardziej szczegółowoBazy danych 8. Podzapytania i grupowanie. P. F. Góra
Bazy danych 8. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych
Bardziej szczegółowoTworzenie zapytań do Microsoft SQL Server
MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów
Bardziej szczegółowoTechnologie baz danych
Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika
Bardziej szczegółowoPodstawy języka SQL cz. 2
Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.
Bardziej szczegółowoWykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Bardziej szczegółowoGrupowanie i funkcje agregacji
Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega
Bardziej szczegółowoPrzykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.
Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna
Bardziej szczegółowoJęzyk DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE
Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie
Bardziej szczegółowoIntegralność danych Wersje języka SQL Klauzula SELECT i JOIN
Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności
Bardziej szczegółowoGrupowanie i funkcje agregacji. Grupowanie z użyciem rollup
Grupowanie i funkcje agregacji Grupowanie z użyciem rollup Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula
Bardziej szczegółowoBazy danych 2. Wykład 4 Structured Query Language (SQL)
Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)
Bardziej szczegółowoWprowadzenie do baz danych
Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można
Bardziej szczegółowoIwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015
Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015 Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs.
Bardziej szczegółowoLITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000
LITERATURA Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom;WNT Warszawa 2006 Wprowadzenie do systemów
Bardziej szczegółowoT-SQL w Microsoft SQL Server 2014 i SQL Server 2012
Itzik Ben-Gan Dejan Sarka Adam Machanic Kevin Farlee Zapytania w języku T-SQL w Microsoft SQL Server 2014 i SQL Server 2012 Przekład: Natalia Chounlamany Marek Włodarz APN Promise, Warszawa 2015 Spis treści
Bardziej szczegółowoPaweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,
Bardziej szczegółowoBazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.
Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów
Bardziej szczegółowoLaboratorium Bazy danych SQL 3 1
Laboratorium Bazy danych SQL 3 1 F U N K C J E operujące na grupach wierszy: avg([distinct all]kol) oblicza średnią arytmetyczną wartości kolumny kol wszystkich wierszy grupy. count([distinct all]wyr)
Bardziej szczegółowoPolitechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83. Projekt współfinansowany przez Unię Europejską
Oracle i DB2 zadanie współfinansowane przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej
Bardziej szczegółowoKolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle
Rozszerzenie obiektowe w SZBD Oracle Cześć 2. Kolekcje Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Malinowski Nowak Kowalski tablica zagnieżdżona (ang.
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowo