Klauzula MODEL w języku SQL w środowisku Oracle
|
|
- Bernard Król
- 7 lat temu
- Przeglądów:
Transkrypt
1 Klauzula MODEL w języku SQL w środowisku Oracle
2 Zakres Wprowadzenie do klauzuli MODEL Zastosowanie Zalety Lokalizacja klauzuli w poleceniu SELECT Podstawowe pojęcia Partycje Wymiary Miary Składnia klauzuli Opcje domyślne Reguły Zastosowanie Kolejność Iteracje Przykłady zastosowania Korzyści ze stosowania MODEL
3 Wprowadzenie Język SQL doskonale nadaje się do wyszukiwania danych. Jednak standardowa wersja polecenie SELECT ma ograniczone możliwości w operowaniu na wyszukanych danych: Dane można łatwo wybierać, filtrować, sortować. Obliczenia można wykonywać: Wyrażeniami Funkcjami jednowierszowymi i grupowymi Problemem jest dostęp do innych rekordów
4 Wprowadzenie Operacje pomiędzy polami w różnych wierszach, typowe dla np. MS Excel, nie są typowe dla SQL są jednak możliwe poprzez: Zapytania hierarchiczne od Oracle 7 Funkcje analityczne od Oracle Klauzulę MODEL od Oracle 10g
5 Wprowadzenie Klauzula MODEL pozwala definiować, jako wynik zapytania, tablice wielowymiarowe. Następnie można stosować do tych tablic reguły umożliwiające wyznaczanie nowych wartości. Umożliwia wykonywanie obliczeń międzywierszowych, poprzez dostęp do kolumn w wierszu w taki sposób, jakby to były komórki w tablicy. Można zauważyć analogię do arkuszy kalkulacyjnych (np. MS Excel), co uzasadnia alternatywną nazwę klauzuli MODEL SPREADSHEET.
6 Wprowadzenie Zalety w stosunku do obliczeń poza silnikiem bazy: Wydajność Skalowalność Zarządzanie Tworzenie wielowymiarowej tablicy mapowanie kolumn na: Partycje (partitions) Wymiary (dimensions) Miary (measures)
7 Podstawowe pojęcia Partycje definiują lokalne bloki zbioru wynikowego w sposób podobny do partycji w funkcjach analitycznych. Reguły klauzuli MODEL są stosowane do komórek każdej partycji. Wymiary identyfikują każdy wymiar komórki w partycji. Kolumny te określają właściwości (cechy) takie jak: daty, regiony, nazwy produktów. Miary zwykle zawierają wartości numeryczne, takie jak jednostki sprzedaży lub kosztu. Każda komórka jest określana poprzez pełną kombinację wymiarów.
8 Składnia <prior clauses of SELECT statement> MODEL [RETURN [ALL UPDATED] ROWS] [PARTITION BY (<cols>)] DIMENSION BY (<cols>) MEASURES (<cols>) [IGNORE NAV] [KEEP NAV] [RULES [UPSERT UPDATE] [AUTOMATIC ORDER SEQUENTIAL ORDER] [ITERATE (n) [UNTIL <condition>] ] ( <cell_assignment> = <expression>... )
9 Dane CREATE VIEW sales_view AS SELECT country_name country, prod_name prod, calendar_year year, SUM(amount_sold) sale, COUNT(amount_sold) cnt FROM sales, times, customers, countries, products WHERE sales.time_id = times.time_id AND sales.prod_id = products.prod_id AND sales.cust_id = customers.cust_id AND customers.country_id = countries.country_id GROUP BY country_name, prod_name, calendar_year;
10
11 Reguły Aby utworzyć reguły na wielowymiarowych tablicach, należy wyrazić je w wartościach wymiarów. Reguły mogą wykorzystywać symbole wieloznaczne (wild cards) oraz pętle FOR. Obliczenia budowane z wykorzystaniem klauzuli MODEL: Zwiększają wydajność tradycyjnych arkuszy kalkulacyjnych poprzez wykonywanie analizy wewnątrz bazy danych Zwiększają czytelność poprzez symboliczne odwołania Umożliwiają skalowalność Pozwalają na wygodniejsze zarządzanie
12 Reguły Dostęp do komórek (ich współrzędne) może być realizowany poprzez zapis pozycyjny lub symboliczny: sales[country='spain',year=2001] = sales['spain',2000]+ sales['spain',1999] Reguły mogą pracować na poszczególnych komórkach lub na zestawach (zakresach) komórek, np.: sales[country='spain',year=2001] = MAX(sales)['Spain',year BETWEEN 1997 AND 2000]
13 Wild card Opcje ANY i IS ANY pozwala dopuścić / zastąpić wszystkie wartości w wymiarze. Wszystkie wartości (wliczając null) spełniają warunek ANY. sales[any, 2001] = sales['japan', 2000] sales[country IS ANY, 2001] = sales['japan', 2000]
14 Funkcja CV Funkcja CV (lub CURRENTV), umieszczona po prawej stronie reguły, daje dostęp do wartości kolumny wymiaru dla komórki, do której istnieje odwołanie po lewej stronie reguły (przekazuje wartości z lewej strony na prawą). Pozwala na zamianę kilku reguł, wykonujących podobne obliczenia, w pojedynczą regułę. sales[country='spain', year=2002] = 1.2 * sales['spain', 2001], sales[country='italy', year=2002] = 1.2 * sales['italy', 2001], sales[country='japan', year=2002] = 1.2 * sales['japan', 2001] sales[country IN ('Spain', 'Italy', 'Japan'), year=2002] = 1.2 * sales[cv(country), 2001] Zapisy równoważne: CV(country), CV(), CURRENTV()
15 Order by Dla reguł uaktualniających zestaw komórek, wyniki mogą zależeć od kolejności wartości wymiaru. Możliwe jest wymuszenie konkretnej kolejności za pomocą klauzuli ORDER BY: sales[country IS ANY, year BETWEEN 2000 AND 2003] ORDER BY year = 1.05 * sales[cv(country), CV(year)-1] W ten sposób kolejne lata będą przetwarzane w narastającej kolejności.
16 Funkcja CV Funkcja CV może być także wykorzystana w operacjach arytmetycznych. SELECT prod, year, growth, pct FROM sales_view WHERE lower(prod) LIKE '%phone%' MODEL RETURN UPDATED ROWS PARTITION BY (prod) DIMENSION BY (country, year) MEASURES (sale sales, 0 growth, 0 pct) (growth['spain', year>1999] = sales[cv(),cv()] Sales[CV(),CV()-1], pct['spain', year>1999] = round(( sales[cv(),cv()] sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2) ) ORDER BY prod, year;
17 Funkcja CV PROD YEAR GROWTH PCT Model C93822D Wireless Phone Battery ,67 -, Model C93822D Wireless Phone Battery ,42, Model C9827B Cordless Phone Battery ,37 -, Model C9827B Cordless Phone Battery ,08, Model K3822L Cordless Phone Battery ,07 -, Model K3822L Cordless Phone Battery ,55, Model K8822S Cordless Phone Battery ,43 -, Model K8822S Cordless Phone Battery ,52, S27273M Extended Use w/l Phone Batt ,53 1, S27273M Extended Use w/l Phone Batt ,59,
18 Funkcja CV Funkcja CV może być także wykorzystana w operacjach arytmetycznych. SELECT prod, year, to_char(growth,'999g990d99') AS growth, to_char(pct,'90d99') ' %' AS pct FROM sales_view WHERE lower(prod) LIKE '%phone%' MODEL RETURN UPDATED ROWS PARTITION BY (prod) DIMENSION BY (country, year) MEASURES (sale sales, 0 growth, 0 pct) (growth['spain', year>1999] = sales[cv(),cv()] Sales[CV(),CV()-1], pct['spain', year>1999] = round(( sales[cv(),cv()] sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2) ) ORDER BY prod, year;
19 Funkcja CV PROD YEAR GROWTH PCT Model C93822D Wireless Phone Battery ,67-0,17 % Model C93822D Wireless Phone Battery ,42 0,49 % Model C9827B Cordless Phone Battery ,37-0,10 % Model C9827B Cordless Phone Battery ,08 0,40 % Model K3822L Cordless Phone Battery ,07-0,21 % Model K3822L Cordless Phone Battery ,55 0,49 % Model K8822S Cordless Phone Battery ,43-0,14 % Model K8822S Cordless Phone Battery ,52 0,51 % S27273M Extended Use w/l Phone Batt ,53 1,10 % S27273M Extended Use w/l Phone Batt ,59 0,13 %
20 MODEL DIMENSION BY(prod, year) MEASURES (sales s) RULES UPSERT (s[any, 2000] = s[cv(prod), CV(year)-1]*2, s[vcr, 2002] = s[vcr, 2001]+s[vcr, 2000], s[dvd, 2002] = AVG(s)[CV(prod), year < 2001])
21 Przykład 1 SELECT SUBSTR(country,1,20) country, SUBSTR(prod,1,15) prod, year, sales FROM sales_view WHERE country IN ('Italy','Japan') MODEL RETURN UPDATED ROWS PARTITION BY (country) DIMENSION BY (prod, year) MEASURES (sale sales) RULES ( sales['bounce', 2002] = sales['bounce', 2001] + sales['bounce', 2000], sales['y Box', 2002] = sales['y Box', 2001], sales['2_products',2002] = sales['bounce',2002] + sales['y Box',2002]) ORDER BY country, prod, year; COUNTRY PROD YEAR SALES Italy 2_Products Italy Bounce Italy Y Box Japan 2_Products Japan Bounce Japan Y Box
22 upsert i update Opcja UPSERT (domyślna) umożliwia tworzenie wartości komórek, które nie istnieją w danych źródłowych: Jeżeli komórki istnieją w zbiorze danych, będą uaktualnione Jeżeli nie istnieją, zostaną dodane do zbioru. UPDATE nie wstawia nowych wierszy. Można określić tę opcję globalnie, lub na poziomie poszczególnych reguł (wówczas nadpisuje ustawienie globalne). UPDATE sales['spain', 1999] = , UPSERT sales['spain', 2001] = sales['spain', 2000] + sales['spain', 1999]
23 Kolejność reguł Klauzula AUTOMATIC ORDER umożliwia automatyczne określenie kolejności wykonywania reguł na podstawie zależności pomiędzy nimi. RULES AUTOMATIC ORDER {sales[c='spain', y=2001] = sales[c='spain', y=2000] + sales[c='spain', y=1999], sales[c='spain', y=2000] = 50000, sales[c='spain', y=1999] = 40000} Reguły 2 i 3 zostaną wykonane najpierw, bo od nich zależy wynik reguły 1. Domyślna opcja to: SEQUENTIAL ORDER.
24 Iteracje Wykonywanie reguł może przebiegać iteracyjnie będą wykonywane aż do spełnienia ostatniej reguły. Opcja ITERATE umożliwia podane liczby powtórzeń. Opcja UNTIL umożliwia podanie warunku kończącego. ITERATE (number_of_iterations) [ UNTIL (condition) ] Czterokrotne powtórzenie formuły s[x=1] = s[x=1]/2: MODEL DIMENSION BY (x) MEASURES (s) RULES ITERATE (4) (s[x=1] = s[x=1]/2)
25 Iteracje Zmienna systemowa ITERATION_NUMBER udostępnia numer iteracji. SELECT country, product, year, sales FROM sales_view MODEL PARTITION BY (country) DIMENSION BY (product, year) MEASURES (sales sales) IGNORE NAV RULES ITERATE(3) (sales['bounce', ITERATION_NUMBER] = sales['bounce', ITERATION_NUMBER]);
26 Pozostałe opcje IGNORE NAV traktuje niedostępne wartości (nie dostarczone do klauzuli MODEL przez zapytanie) jako 0. KEEP NAV zachowuje niedostępne wartości komórek niezmienione. (Domyślne) RETURN [ALL UPDATED] ROWS określenie, czy zwracane są wszystkie wyselekcjonowane wiersze, czy tylko te, które zostały zmodyfikowane przez reguły. Domyślna opcja: ALL.
27 Przykład 2 Sprzedaż dla Włoch i Hiszpanii oraz różnica pomiędzy nimi dla każdego produktu. Różnica zostanie umieszczona w nowych wierszach, dla których kraj zostanie podany jako: DIFF ITALY-SPAIN. SELECT SUBSTR(product,1,25) product, SUBSTR(country,1,15) country, sales FROM sales_view WHERE country IN ('Italy', 'Spain') GROUP BY product, country MODEL PARTITION BY (product) DIMENSION BY (country) MEASURES (SUM(sales) AS sales) RULES UPSERT (sales['diff ITALY-SPAIN'] = sales['italy'] - sales['spain']);
28 PRODUCT COUNTRY SALES Comic Book Heroes Italy 3434,92 Smash up Boxing Italy 10501,36 Model K8822S Cordless Pho Spain 11385,79 Model K8822S Cordless Pho Italy 29385,38 Model SM26273 Black Ink C Spain 10578,36 Envoy External 6X CD-ROM Italy 26001,09 Smash up Boxing Spain 5121,03 Bounce Italy 11654,77 Finding Fido Italy 3260,69 Model SM26273 Black Ink C Italy 32443,73 Bounce Spain 4521,9 Comic Book Heroes Spain 1894,88 Envoy External 6X CD-ROM Spain 10807,09 Finding Fido Spain 1446,69 Envoy External 6X CD-ROM DIFF ITALY-SPAI Model SM26273 Black Ink C DIFF ITALY-SPAI 21865,37 Comic Book Heroes DIFF ITALY-SPAI 1540,04 Smash up Boxing DIFF ITALY-SPAI 5380,33 Model K8822S Cordless Pho DIFF ITALY-SPAI 17999,59 Bounce DIFF ITALY-SPAI 7132,87 Finding Fido DIFF ITALY-SPAI 1814 Fly Fishing Italy 1331,11...
29 Przykład 3 Obliczenie, rok po roku, procentowe zmiany sprzedaży dla wybranych produktów: SELECT SUBSTR(country,1,10) country, SUBSTR(prod,1,12) prod, year, sales, growth FROM sales_view WHERE country='italy' MODEL RETURN UPDATED ROWS PARTITION BY (country) DIMENSION BY (prod, year) MEASURES (sale sales, 0 growth) RULES ( growth[prod in ('Bounce','Y Box','Mouse Pad'), year between 1998 and 2001] = 100 *( sales[cv(prod),cv(year)]-sales[cv(prod),cv(year)-1]) / sales[cv(prod), CV(year) -1] ) ORDER BY country, prod, year;
30 COUNTRY PROD YEAR SALES GROWTH Italy Bounce ,78 Italy Bounce ,69 75, Italy Bounce ,3 11, Italy Mouse Pad ,69 Italy Mouse Pad ,24 52, Italy Mouse Pad ,83-21,45311 Italy Mouse Pad ,9 29, Italy Y Box ,16 Italy Y Box ,89 92, Italy Y Box ,55 176,942518
31 Pętle Wariant liczbowy zakres oraz inkrementacja: sales[for month FROM 1 TO 3 INCREMENT 1, 2013] = sales[currentv(), 2012] * 2 Wariant z listą wartości: sales[for month IN ('Styczeń', 'Luty', 'Marzec'), 2013] = sales[cv(month), 2012] * 2 sales[month IN ('Styczeń', 'Luty', 'Marzec'), 2013] = sales[cv(month), 2012] * 2
32 Przykład 4 Obliczenie sprzedaży konkretnych produktów w roku 2005, przy założeniu, że będzie o 30% większa niż w 2001: SELECT SUBSTR(country,1,20) country, SUBSTR(prod,1,15) prod, year, sales FROM sales_view WHERE country='italy' MODEL RETURN UPDATED ROWS PARTITION BY (country) DIMENSION BY (prod, year) MEASURES (sale sales) RULES ( sales[for prod in ('Mouse Pad','Bounce','Y Box'),2005] = 1.3 * sales[cv(prod), 2001] ) ORDER BY country, prod, year;
33 COUNTRY PROD YEAR SALES Italy Bounce ,19 Italy Mouse Pad ,27 Italy Y Box ,815 Zastosowanie FOR: RULES ( sales['mouse Pad', 2005] = 1.3 * sales['mouse Pad', 2001], sales['bounce', 2005] = 1.3 * sales['bounce', 2001], sales['y Box', 2005] = 1.3 * sales['y Box', 2001] ) RULES ( sales[for prod in ('Mouse Pad', 'Bounce', 'Y Box'), 2005] = 1.3 * sales[cv(prod), 2001] )
34 Weryfikacja istnienia Możliwe jest sprawdzenie, czy wiersz określony przez odwołanie komórki istniał przed wykonaniem klauzuli Model: sales[for month FROM 1 TO 3 INCREMENT 1, 2013] = CASE WHEN sales[currentv(), 2012] IS PRESENT THEN sales[currentv(), 2012] * 2 ELSE 0 END
35 Weryfikacja istnienia Dostępne są dwa inne sposoby weryfikacji istnienia wiersza. Wiersz istnieje (zwracane wyr2) lub nie istnieje (zwracane wyr3) sales[for month FROM 1 TO 3 INCREMENT 1, 2013] = PRESENTV(sales[CURRENTV(), 2012], sales[currentv(), 2012] * 2, 0) Wiersz istnieje, a komórka nie jest NULL (zwracane wyr2) lub wiersz nie istnieje (zwracane wyr3) sales[for month FROM 1 TO 3 INCREMENT 1, 2013] = PRESENTNNV(sales[CURRENTV(), 2012], sales[currentv(), 2012] * 2, 0)
36 Przykład 5 Kwestia opcji: KEEP NAV i IGNORE NAV. Która jest domyślna? Czy zmiana opcji spowoduje efekt? SELECT prod, year, growth, to_char(pct*100,'990.99') ' %' AS pct FROM sales_view WHERE lower(prod) LIKE '%phone%' MODEL RETURN UPDATED ROWS PARTITION BY (prod) DIMENSION BY (country, year) MEASURES (sale sales, 0 growth, 0 pct) (growth['spain', year>1999] = sales[cv(),cv()] Sales[CV(),CV()-1], pct['spain', year>1999] = round(( sales[cv(),cv()] sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2) ) ORDER BY prod, year;
37 Przykład 5 PROD YEAR GROWTH PCT Model C93822D Wireless Phone Battery , % Model C93822D Wireless Phone Battery , % Model C9827B Cordless Phone Battery , % Model C9827B Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % S27273M Extended Use w/l Phone Batt , % S27273M Extended Use w/l Phone Batt , %
38 Przykład 5 Kwestia opcji: KEEP NAV i IGNORE NAV. A gdy zmienimy zakres wymiaru? SELECT prod, year, growth, to_char(pct*100,'990.99') ' %' AS pct FROM sales_view WHERE lower(prod) LIKE '%phone%' MODEL RETURN UPDATED ROWS PARTITION BY (prod) DIMENSION BY (country, year) MEASURES (sale sales, 0 growth, 0 pct) (growth['spain', year IS ANY] = sales[cv(),cv()] Sales[CV(),CV()-1], pct['spain', year IS ANY] = round(( sales[cv(),cv()] sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2) ) ORDER BY prod, year;
39 Przykład 5 PROD YEAR GROWTH PCT Model C93822D Wireless Phone Battery 1999 % Model C93822D Wireless Phone Battery , % Model C93822D Wireless Phone Battery , % Model C9827B Cordless Phone Battery 1998 % Model C9827B Cordless Phone Battery , % Model C9827B Cordless Phone Battery , % Model C9827B Cordless Phone Battery , % Model K3822L Cordless Phone Battery 1998 % Model K3822L Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K8822S Cordless Phone Battery 1998 % Model K8822S Cordless Phone Battery ,39 ###### % Model K8822S Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % S27273M Extended Use w/l Phone Batt % S27273M Extended Use w/l Phone Batt ,53 ###### % S27273M Extended Use w/l Phone Batt , %
40 Przykład 5 Kwestia opcji: KEEP NAV i IGNORE NAV. Przy dowolnym roku, zmiana na IGNORE NAV spowoduje... SELECT prod, year, growth, to_char(pct*100,'990.99') ' %' AS pct FROM sales_view WHERE lower(prod) LIKE '%phone%' MODEL RETURN UPDATED ROWS PARTITION BY (prod) DIMENSION BY (country, year) MEASURES (sale sales, 0 growth, 0 pct) IGNORE NAV (growth['spain', year IS ANY] = sales[cv(),cv()] Sales[CV(),CV()-1], pct['spain', year IS ANY] = round(( sales[cv(),cv()] sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2) ) ORDER BY prod, year;
41 Przykład 5 sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2) ) * BŁĄD w linii 13: ORA-01476: dzielnik jest równy zero
42 Przykład 5 Kwestia opcji: KEEP NAV i IGNORE NAV. Rozwiązaniem jest... SELECT prod, year, growth, to_char(pct*100,'990.99') ' %' AS pct FROM sales_view WHERE lower(prod) LIKE '%phone%' MODEL RETURN UPDATED ROWS PARTITION BY (prod) DIMENSION BY (country, year) MEASURES (sale sales, 0 growth, 0 pct) IGNORE NAV (growth['spain', year IS ANY] = sales[cv(),cv()] Sales[CV(),CV()-1], pct['spain', year IS ANY] = PRESENTV(sales[CV(),CV()-1], round(( sales[cv(),cv()] sales[cv(),cv()-1] ) / sales[cv(),cv()-1],2),1)) ORDER BY prod, year;
43 Przykład 5 PROD YEAR GROWTH PCT Model C93822D Wireless Phone Battery , % Model C93822D Wireless Phone Battery , % Model C93822D Wireless Phone Battery , % Model C9827B Cordless Phone Battery , % Model C9827B Cordless Phone Battery , % Model C9827B Cordless Phone Battery , % Model C9827B Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K3822L Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % Model K8822S Cordless Phone Battery , % S27273M Extended Use w/l Phone Batt , % S27273M Extended Use w/l Phone Batt , % S27273M Extended Use w/l Phone Batt , %
44 Reference Models Klauzula Model może obsługiwać modele referencyjne. Są to zmaterializowane zapytania, które podlegają tylko odczytowi (nie są dla nich generowane nowe dane). MODEL [<reference models>] [MAIN <main-name>] [PARTITION BY (<cols>)] DIMENSION BY (<cols>) MEASURES (<cols>) Wykorzystywane są w modelu głównym (Main Model) jako tabele słownikowe.
45 Reference Models SELECT country, year, sales, dollar_sales FROM sales_view GROUP BY country, year MODEL REFERENCE conv_ref ON (SELECT country, exchange_rate FROM dollar_conv_tbl) DIMENSION BY (country) MEASURES (exchange_rate) IGNORE NAV MAIN conversion RULES DIMENSION BY (country, year) MEASURES (SUM(sale) sales, SUM(sale) dollar_sales) IGNORE NAV (dollar_sales['france', 2003] = sales[cv(country), 2002] * 1.02 * conv_ref.exchange_rate['france'], dollar_sales['poland', 2003] = sales['poland', 2002] * 1.05 * exchange_rate['poland']);
46 Klauzula Model a dane z CSV Klauzula Model może pracować na plikach tekstowych. Plik musi zostać wcześniej podłączony do bazy, za pomocą rozszerzenia external table. Dalsze operacje nie różnią się od przypadku, gdy tabela jest składowana w bazie
47 Klauzula Model a dane z CSV CREATE TABLE sprzedaz2011 ( id NUMBER(4), kwartal NUMBER(2), kategoria VARCHAR2(15), ilosc NUMBER(4) ) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY data_imp ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE BADFILE 'bad' LOGFILE 'log' SKIP 1 FIELDS TERMINATED BY ';' ( id,kwartal,kategoria,ilosc) ) LOCATION ('sprzedaz2011.csv') );
48 Klauzula Model a dane z CSV SELECT kwartal, kategoria, to_char(ile,'999.99') ile FROM sprzedaz2011 MODEL RETURN UPDATED ROWS PARTITION BY (kwartal) DIMENSION BY (kategoria) MEASURES (ilosc ile) RULES ( ile[kategoria IS ANY] = ile[cv()]*1.25 ) ORDER BY kwartal, kategoria ;
49 Klauzula Model a dane z CSV KWARTAL KATEGORIA TO_CHAR RTV AGD komputery telefony RTV AGD komputery telefony RTV AGD komputery telefony RTV AGD komputery telefony
50 Klauzula Model a dane z CSV KWARTAL KATEGORIA ILE AGD komputery RTV telefony AGD komputery RTV telefony AGD komputery RTV telefony AGD komputery RTV telefony
51 Typowe problemy Umieszczenie na liście SELECT kolumny niedozwolonej (nie będącej partycją, wymiarem lub miarą): ORA-32614: niedozwolone wyrażenie MODEL SELECT Podanie klauzuli ORDER BY przed MODEL: ORA-00933: polecenie SQL niepoprawnie zakończone
52 Podsumowanie Zasady użycia: Miejsce w składni SELECT Mapowanie kolumn Korzyści Wydajność Skalowalność Zarządzanie Funkcjonalności Aktualizacja i/lub generowanie nowych danych Tworzenie reguł z uwzględnieniem kolejności realizacji Obsługa pętli Możliwość ograniczenia prezentowanych wyników
53 Dziękuję za uwagę Zapraszamy wszystkich uczestników na szkolenie Język SQL dla analityków danych w specjalnej cenie zamiast PLN Terminy: Wrocław Warszawa Kraków
ORACLE. 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ółowowww.comarch.pl/szkolenia Operacja PIVOT w języku SQL w środowisku Oracle 21.11.2012
Operacja PIVOT w języku SQL w środowisku Oracle 21.11.2012 Zakres Wprowadzenie Idea przestawiania danych Możliwe zastosowania Przestawianie danych bez klauzuli PIVOT Konstrukcja klauzuli Korzyści ze stosowania
Bardziej szczegółowobazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne
Wczytywanie danych ze źródeł zewnętrznych (1) Źródła zewnętrzne bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne pliki tekstowe, HTML, XML arkusze kalkulacyjne
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ółowoDECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];
Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server
Bardziej szczegółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze
Bardziej szczegółowoLaboratorium 3. Odkrywanie reguł asocjacyjnych.
Laboratorium 3 Odkrywanie reguł asocjacyjnych. 1. Uruchom narzędzie Oracle Data Miner i połącz się z serwerem bazy danych. 2. Z menu głównego wybierz Tools SQL Worksheet. W górnym oknie wprowadź i wykonaj
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ółowoPlan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych
Plan wykładu BAZY DANYCH II WYKŁAD 3 Zasięg zmiennych Zmienne powiązane Instrukcje warunkowe Pętle Pobieranie danych SQL w PL/SQL Rekordy dr inż. Agnieszka Bołtuć Zasięg zmiennych Zmienna jest dostępna
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ółowoBloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
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ółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?
Bardziej szczegółowoĆwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Bardziej szczegółowoAdministracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wsady Procedury składowane Procedury składowane tymczasowe, startowe Zmienne tabelowe Funkcje
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ół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ół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ół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ółowo2010-11-22 PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH
PLAN WYKŁADU Bezpieczeństwo w języku SQL Użytkownicy Uprawnienia Role BAZY DANYCH Wykład 8 dr inż. Agnieszka Bołtuć OGRANICZENIA DOSTĘPU DO DANYCH Ograniczenie danych z tabeli dla określonego użytkownika
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ółowoSQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
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ół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ółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
Bardziej szczegółowoWyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie
Bardziej szczegółowoPODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
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ół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ółowoSIECI KOMPUTEROWE I BAZY DANYCH
KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza
Bardziej szczegółowoProgramowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Bardziej szczegółowoProcedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1
Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane
Bardziej szczegółowoProgramowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika
Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoBazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
Bardziej szczegółowoJęzyk SQL Złączenia. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele
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ół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ółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
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ółowoSQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL
Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie
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ółowoProcedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
Bardziej szczegółowoWyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz
Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych
Bardziej szczegółowoPODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 10. Partycjonowanie tabel i indeksów 1 Partycjonowanie tabel i indeksów w Oracle W celu poprawienia efektywności dostępu do danych oraz ułatwieniu zarządzania bardzo dużymi zbiorami
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ółowoLaboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
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ółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze
Bardziej szczegółowoProgramowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,
Programowanie w SQL definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, kontynuacja działania od instrukcji za podaną etykietą GOTO etykieta, wyjście bezwarunkowe
Bardziej szczegółowo1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków...
Plan wykładu Spis treści 1 Kursory 1 2 Wyjątki 4 2.1 Wyjątki predefiniowane............................. 4 2.2 Wyjątki niezdefiniowane wcześniej....................... 5 2.3 Definiowanie własnych wyjątków........................
Bardziej szczegółowoBlaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
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ółowo15. Funkcje i procedury składowane PL/SQL
15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp
Bardziej szczegółowoBazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty PL/SQL, c.d. 1 / 37 SQL to za mało SQL brakuje możliwości dostępnych w językach proceduralnych.
Bardziej szczegółowoKostki OLAP i język MDX
Kostki OLAP i język MDX 24 kwietnia 2015 r. 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 rodzaje zadań,
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ółowoStruktura drzewa w MySQL. Michał Tyszczenko
Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu
Bardziej szczegółowoE.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze
Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie
Bardziej szczegółowoSkładowane procedury i funkcje
Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.
Bardziej szczegółowoCzęść 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych
Łukasz Przywarty 171018 Wrocław, 05.12.2012 r. Grupa: CZW/N 10:00-13:00 Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych Część 1: OLAP Prowadzący: dr inż. Henryk Maciejewski
Bardziej szczegółowoCele. Definiowanie wyzwalaczy
WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa
Bardziej szczegółowostrukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Bardziej szczegółowoTechnologie baz danych WYKŁAD 7: Wyjątki
Wydział Informatyki Politechnika Białostocka Obsługa wyjątków Technologie baz danych WYKŁAD 7: Wyjątki [] [] Agnieszka Oniśko, Małgorzata Krętowska TBD-wyjątki 1 TBD-wyjątki 2 Sposoby powstania sytuacji
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ół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ółowoWykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Bardziej szczegółowoFunkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe
Funkcje Rozdział 3a Funkcje wierszowe Funkcje wierszowe (funkcje znakowe, funkcje liczbowe, funkcje operujące na datach, funkcje konwersji, funkcje polimorficzne) Przekształcają dane, pobrane przez polecenie
Bardziej szczegółowoJęzyk SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.
Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. 1 polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie
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ółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Wprowadzenie Tworzenie i wykonywanie procedur i funkcji Instrukcja RETURN Parametry procedur i funkcji oraz ich przesyłanie Metadane
Bardziej szczegółowoModele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE
Modele danych - wykład V Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2006 Zagadnienia 1. Wprowadzenie 2. MOLAP modele danych 3. modele danych 4. Podsumowanie 5. Zadanie fajne
Bardziej szczegółowoBazy danych 6. Klucze obce. P. F. Góra
Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:
Bardziej szczegółowoAdministracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 3 Podstawy programowania w T-SQL Zmienne i operatory Instrukcje sterujące Komunikaty Format daty
Bardziej szczegółowoAutor: Joanna Karwowska
Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może
Bardziej szczegółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z
Bardziej szczegółowoKursory i wyjątki. (c) Instytut Informatyki Politechniki Poznańskiej 1
Kursory i wyjątki Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, wyjątki systemowe i użytkownika, zgłaszanie i obsługa wyjątków 1 Kursor
Bardziej szczegółowoJęzyk SQL podstawy zapytań
Język SQL podstawy zapytań 1 Plan prezentacji 1. Krótka historia języka SQL 2. Cechy języka SQL 3. Przykładowa baza danych 4. Podstawy zapytań - operacje na modelu relacyjnym 5. Polecenie SELECT zapytania
Bardziej szczegółowoJęzyk SQL. Rozdział 3. Funkcje wierszowe
Język SQL. Rozdział 3. Funkcje wierszowe Funkcje wierszowe (funkcje znakowe, funkcje liczbowe, funkcje operujące na datach, funkcje konwersji, funkcje polimorficzne). 1 Funkcje Przekształcają dane, pobrane
Bardziej szczegółowoModelowanie wymiarów
Wymiar Modelowanie wymiarów struktura umożliwiająca grupowanie danych z tabeli faktów implementowana jako obiekt bazy danych DIMENSION wykorzystanie DIMENSION zaawansowane przepisywanie zapytań (ang. query
Bardziej szczegółowoBazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
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ółowoW SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).
Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która
Bardziej szczegółowoModele danych - wykład V
Modele danych - wykład V Paweł Skrobanek, C-3 pok. 323 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2006 Zagadnienia 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie
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ółowoPakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
Bardziej szczegółowoWprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.
Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny
Bardziej szczegółowoWprowadzenie do hurtowni danych
Wprowadzenie do hurtowni danych przygotował: Paweł Kasprowski Kostka Kostka (cube) to podstawowy element hurtowni Kostka jest wielowymiarowa (od 1 do N wymiarów) Kostka składa się z: faktów wektora wartości
Bardziej szczegółowoJęzyk SQL. Rozdział 9. Język definiowania danych DDL, część 2.
Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji
Bardziej szczegółowoDeklarowanie kursora
Kursory i wyjątki Kursory i praca z kursorami, kursory jawne i niejawne, otwieranie kursora, pobieranie z kursora, zamykanie kursora, wyjątki systemowe i użytkownika, zgłaszanie i obsługa wyjątków 1 Kursor
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ół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ółowoJęzyk PL/SQL. Rozdział 2. Kursory
Język PL/SQL. Rozdział 2. Kursory Deklarowanie kursora, otwieranie kursora, pobieranie z kursora, zamykanie kursora, zmienne kursorowe, wyrażenie CURSOR, kursory niejawne. 1 Kursor jawny Każde zapytanie
Bardziej szczegółowoBazy danych i usługi sieciowe
Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z
Bardziej szczegółowoDECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Bardziej szczegółowoBazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład V Kwerendy Copyrights by Arkadiusz Rzucidło 1 Wprowadzenie Istotą bazy danych jest możliwość efektywnego wyszukiwania informacji Realizację operacji wyszukiwania zapewniają kwerendy
Bardziej szczegółowo