Operacja PIVOT w języku SQL w środowisku Oracle

Wielkość: px
Rozpocząć pokaz od strony:

Download "www.comarch.pl/szkolenia Operacja PIVOT w języku SQL w środowisku Oracle 21.11.2012"

Transkrypt

1 Operacja PIVOT w języku SQL w środowisku Oracle

2 Zakres Wprowadzenie Idea przestawiania danych Możliwe zastosowania Przestawianie danych bez klauzuli PIVOT Konstrukcja klauzuli Korzyści ze stosowania PIVOT Przykłady działania PIVOT z klauzulą WITH Klauzula UNPIVOT Ograniczenia stosowania PIVOT i opcja XML Podsumowanie

3 Wprowadzenie W relacyjnych bazach danych dane przedstawiane są w postaci tabel. Sposób składowania danych bezpośrednio wpływa na sposób, w jaki można na nich operować. Często, aby lepiej przeanalizować dane należało zaprezentować je w innej, wygodniejszej postaci. W ten sposób można wydobyć informacje na temat trendów w zmiana danych (trendów sprzedaży, kosztów itp.

4 Przestawianie danych

5 Przestawianie danych

6

7 Obracanie w Oracle 10g przykład 1 SELECT * FROM ( SELECT kategoria, SUM(DECODE(kwartal,1,ilosc Q1, SUM(DECODE(kwartal,2,ilosc Q2, SUM(DECODE(kwartal,3,ilosc Q3, SUM(DECODE(kwartal,4,ilosc Q4 FROM sprzedaz2011 GROUP BY kategoria ORDER BY kategoria; KATEGORIA Q1 Q2 Q3 Q AGD komputery RTV telefony KWARTAL KATEGORIA ILOSC AGD komputery RTV telefony AGD komputery RTV telefony AGD komputery RTV telefony AGD komputery RTV telefony 375

8 Obracanie w Oracle 10g przykład 2 SELECT * FROM ( SELECT kategoria, SUM(CASE WHEN kwartal = 1 THEN ilosc END Q1, SUM(CASE WHEN kwartal = 2 THEN ilosc END Q2, SUM(CASE WHEN kwartal = 3 THEN ilosc END Q3, SUM(CASE WHEN kwartal = 4 THEN ilosc END Q4 FROM sprzedaz2011 GROUP BY kategoria ORDER BY kategoria; KATEGORIA Q1 Q2 Q3 Q AGD komputery RTV telefony

9 PIVOT Operacja umożliwiająca restrukturyzację danych do innej postaci - do formatu, w jakim łatwiej będzie dane przetwarzać lub analizować. Przestawianie kolumn na miejsce wierszy lub odwrotnie. Jednocześnie wykonywane są operacje agregujące (np. sumowanie, obliczanie średniej. Operacje przydatne, gdy chcemy obserwować np. trendy sprzedaży w czasie.

10 PIVOT SELECT... FROM... PIVOT ( pivot_clause pivot_for_clause pivot_in_clause WHERE... pivot_clause definiowanie kolumn do agregacji (Pivot jest operacją agregującą pivote_for_clause definiowanie kolumn do grupowania i obrotu pivote_in_clause definiowanie filtru dla kolumny (kolumn z klauzuli pivote_for_clause (zakres wartości ograniczającej wyniki

11 PIVOT przykład 1a SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1,2,3,4; KATEGORIA komputery telefony RTV AGD

12 PIVOT przykład 1b SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; KATEGORIA Q1 Q2 Q3 Q komputery telefony RTV AGD

13 ID PRODUKT KATEGORIA DATA_SPRZ CENA R TV Samsung LCD 50" RTV 02-JAN N 2 Pralka Bosch" AGD 02-JAN N 3 TV Sony LCD 40" RTV 03-JAN T 4 Lodówka Amica AGD 10-JAN T 5 Netbook Lenovo 12" Komputery 15-JAN N 6 Pralka Candy AGD 17-JAN N 7 Netbook Lenovo 10" Komputery 18-JAN N 8 Notebook Samnsung 15" Komputery 22-JAN N 9 TV Panasonic 32" TV 26-JAN N 10 Nokia Lumnia 800 Telefony 29-JAN N 11 TV Samsung LCD 40" RTV 01-FEB T 12 Zmywarka Bosch AGD 05-FEB T 13 TV Sony LCD 50" RTV 05-FEB N 14 Okap Mastercook AGD 09-FEB T 15 Samsung Galaxy S Telefony 11-FEB N 16 Sony Xperia Telefony 18-FEB T 17 Netbook Lenovo 10" Komputery 18-FEB T 18 Okap Amica AGD 23-FEB T 19 Samsung Galaxy S Telefony 24-FEB N 20 Nokia Lumnia 800 Telefony 26-FEB N 21 Apple IPhone 3 Telefony 27-FEB N 22 TV Panasonic 50" RTV 27-FEB N 23 Apple iphone 3 Telefony 01-MAR T 24 Netbook Samsung 10" Komputery 02-MAR T 25 TV Samsung LCD 40" RTV 04-MAR N 26 Apple iphone 3 Telefony 05-MAR T 27 Samsung Galaxy S Telefony 12-MAR N 28 Sony Xperia Telefony 16-MAR T

14 Przykład 2a jedna agregacja SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, id FROM sprzedaz2011_detal PIVOT (COUNT(id FOR miesiac IN ('01' AS STY,'02' AS LUT,'03' AS MAR; KATEGORIA STY LUT MAR RTV AGD Komputery Telefony 1 5 7

15 Przykład 2a jedna agregacja SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, id FROM sprzedaz2011_detal PIVOT (COUNT(id FOR miesiac IN (01 AS STY,02 AS LUT,03 AS MAR; KATEGORIA STY LUT MAR RTV AGD Komputery Telefony 0 0 0

16 Przykład 2b dwie agregacje SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, id, cena FROM sprzedaz2011_detal PIVOT (COUNT(id ilosc, SUM(cena zysk FOR miesiac IN ('01' AS STY,'02' AS LUT,'03' AS MAR; KATEGORIA STY_ILOSC STY_ZYSK LUT_ILOSC LUT_ZYSK MAR_ILOSC MAR_ZYSK RTV AGD Komputery Telefony

17 Przykład 2b cd. brak kolumny SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, id FROM sprzedaz2011_detal PIVOT (COUNT(id ilosc, SUM(cena zysk FOR miesiac IN ('01' AS STY,'02' AS LUT,'03' AS MAR; ERROR at line 4: ORA-00904: "CENA": invalid identifier

18 Przykład 2c przestawianie na wielu kolumnach SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, raty, id FROM sprzedaz2011_detal PIVOT (COUNT(id FOR (miesiac, raty IN (('01','N' AS STY_CAL, ('01','T' AS STY_RATY, ('02','N' AS LUT_CAL, ('02','T' AS LUT_RATY, ('03','N' AS MAR_CAL, ('03','T' AS MAR_RATY; KATEGORIA STY_CAL STY_RATY LUT_CAL LUT_RATY MAR_CAL MAR_RATY RTV AGD Komputery Telefony

19 Przykład 3a lokalizacja zapytania: podzapytanie inline view SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; KATEGORIA Q1 Q2 Q3 Q komputery telefony RTV AGD

20 Przykład 3b pełny select błędne wyniki SELECT * FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; ID KATEGORIA AGD telefony komputery AGD komputery AGD RTV telefony RTV RTV telefony telefony komputery komputery AGD RTV 190

21 Przykład 3c wybieranie kolumn w zapytani głównym - błąd SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; ERROR at line 1: ORA-00904: "ILOSC": invalid identifier

22 Przykład 3d subquery factoring WITH pivot_data AS ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 SELECT * FROM pivot_data PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; KATEGORIA Q1 Q2 Q3 Q komputery telefony RTV AGD

23 Przykład 3e lokalizacja zapytania: podzapytanie view CREATE OR REPLACE VIEW v_sprzedaz2011 AS SELECT kategoria, kwartal, ilosc FROM sprzedaz2011; SELECT * FROM v_sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; KATEGORIA Q1 Q2 Q3 Q komputery telefony RTV AGD

24 Przykład 4a sortowanie SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 ORDER BY kategoria PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; KATEGORIA Q1 Q2 Q3 Q komputery telefony RTV AGD

25 Przykład 4b sortowanie SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4 ORDER BY kategoria; KATEGORIA Q1 Q2 Q3 Q AGD RTV komputery telefony

26 Przykład 5a zaokrąglanie wyników SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, cena FROM sprzedaz2011_detal PIVOT (AVG(cena srednia_cena FOR miesiac IN ('01' AS STY,'02' AS LUT; KATEGORIA STY_SREDNIA_CENA LUT_SREDNIA_CENA RTV AGD Komputery Telefony

27 Przykład 5b zaokrąglanie wyników SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, cena FROM sprzedaz2011_detal PIVOT (ROUND(AVG(cena,2 srednia_cena FOR miesiac IN ('01' AS STY,'02' AS LUT; ERROR at line 4: ORA-56902: expect aggregate function inside pivot operation

28 Przykład 5c zaokrąglanie wyników SELECT kategoria, round(sty_srednia_cena,2 AS sty_srednia_cena, round(lut_srednia_cena,2 AS lut_srednia_cena FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, cena FROM sprzedaz2011_detal PIVOT (AVG(cena srednia_cena FOR miesiac IN ('01' AS STY,'02' AS LUT; KATEGORIA STY_SREDNIA_CENA LUT_SREDNIA_CENA RTV AGD Komputery Telefony

29 Przykład 6a łączenie tabel SELECT * FROM ( SELECT kategoria, TO_CHAR(data_sprzedazy,'MM' miesiac, odbior, s.id FROM sprzedaz2011_detal s JOIN transakcje t ON (s.id=t.id PIVOT (COUNT(id FOR (miesiac, odbior IN (('01','OSOBISTY' AS STY_OSO, ('01','KURIER' AS STY_KUR, ('02','OSOBISTY' AS LUT_OSO, ('02','KURIER' AS LUT_KUR, ('03','OSOBISTY' AS MAR_OSO, ('03','KURIER' AS MAR_KUR; KATEGORIA STY_OSO STY_KUR LUT_OSO LUT_KUR MAR_OSO MAR_KUR RTV AGD Komputery Telefony

30 Przykład 6b łączenie tabel SELECT * FROM ( SELECT TO_CHAR(data_sprzedazy,'MM' miesiac, odbior, s.id FROM sprzedaz2011_detal s JOIN transakcje t ON (s.id=t.id PIVOT (COUNT(id FOR (miesiac, odbior IN (('01','OSOBISTY' AS STY_OSO, ('01','KURIER' AS STY_KUR, ('02','OSOBISTY' AS LUT_OSO, ('02','KURIER' AS LUT_KUR, ('03','OSOBISTY' AS MAR_OSO, ('03','KURIER' AS MAR_KUR; STY_OSO STY_KUR LUT_OSO LUT_KUR MAR_OSO MAR_KUR

31 Przykład 7a Podsumowania SELECT x.*, Q1+Q2+Q3+Q4 AS rocznie FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4 x; KATEGORIA Q1 Q2 Q3 Q4 ROCZNIE komputery telefony RTV AGD

32 Przykład 7b Podsumowania SELECT nvl(kategoria,'sum_kwartaly' AS kategoria, nvl(q1,sum(q1 OVER( AS Q1, nvl(q2,sum(q2 OVER( AS Q2, nvl(q3,sum(q3 OVER( AS Q3, nvl(q4,sum(q4 OVER( AS Q4, sum_kategorie FROM ( SELECT kategoria, NVL(to_char(kwartal,'rocznie' AS kw, sum(ilosc AS il FROM sprzedaz2011 GROUP BY ROLLUP (kategoria, kwartal PIVOT (SUM(il FOR kw IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4, 'rocznie' AS sum_kategorie;

33 Przykład 7b Podsumowania KATEGORIA Q1 Q2 Q3 Q4 SUM_KATEGORIE AGD RTV komputery telefony sum_kwartaly

34 UNPIVOT przykład 1a CREATE VIEW v_sprzedaz2011_pivoted AS SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4;

35 UNPIVOT przykład 1b SELECT * FROM v_sprzedaz2011_pivoted UNPIVOT ( ilosc FOR kwartal IN (Q1, Q2, Q3, Q4 ; KATEGORIA KW ILOSC komputery Q1 130 komputery Q2 120 komputery Q3 120 komputery Q4 150 telefony Q1 250 telefony Q2 300 telefony Q3 330 telefony Q4 300 RTV Q1 150 RTV Q2 150 RTV Q3 180 RTV Q4 190 AGD Q1 100 AGD Q2 110 AGD Q3 90 AGD Q4 140 KATEGORIA Q1 Q2 Q3 Q AGD RTV komputery telefony

36 PIVOT i UNPIVOT ograniczenia Nie ma możliwości wybierania na liście SELECT kolumn, które znajdują się na klauzuli pivot_clause. ORA-00904: kolumna": invalid identifier Nie ma możliwości wybierania na liście SELECT kolumn, które znajdują się na klauzuli pivot_for_clause. ORA-00904: kolumna": invalid identifier Na klauzuli pivot_clause musi znaleźć się funkcja agregująca. ORA-56902: expect aggregate function inside pivot operation

37 PIVOT i lista wartości PIVOT działa prawidłowo dla podanej listy wartości w klauzuli pivot_in_clause Fakt, że lista wartości musi być podana na sztywno utrudnia stosowanie PIVOT Nie ma możliwości umieszczenia w pivot_in_clause podzapytania

38 SELECT * FROM ( PIVOT i lista wartości przykład 1a SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT (SUM(ilosc FOR kwartal IN (SELECT kwartal FROM sprzedaz2011; SQL Error: ORA-00936: brak wyrażenia "missing expression"

39 SELECT * FROM ( PIVOT i lista wartości przykład 1b SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT XML (SUM(ilosc FOR kwartal IN (ANY; Rezultat dostarczany jest w formacie XML Wyniki obejmują wszystkie istniejące wartości w polach danych

40 PIVOT i lista wartości przykład 1b cd. KATEGORIA KWARTAL_XML AGD <PivotSet><item><column name = "KWARTAL">1</column><column name = "SUM(ILOSC">100</column></item><item><column name = "KWARTAL">2</column><column name = "SUM(ILOSC">110</column></item><item><column name = "KWARTAL">3</column><column name = "SUM(ILOSC">90</column></item><item><column name = "KWARTAL">4</column><column name = "SUM(ILOSC">140</column></item></PivotSet> RTV <PivotSet><item><column name = "KWARTAL">1</column><column name = "SUM(ILOSC">150</column></item><item><column name = "KWARTAL">2</column><column name = "SUM(ILOSC">150</column></item><item><column name = "KWARTAL">3</column><column name = "SUM(ILOSC">180</column></item><item><column name = "KWARTAL">4</column><column name = "SUM(ILOSC">190</column></item></PivotSet> Komputery <PivotSet><item><column name = "KWARTAL">1</column><column name = "SUM(ILOSC">130</column></item><item><column name = "KWARTAL">2</column><column name = "SUM(ILOSC">120</column></item><item><column name = "KWARTAL">3</column><column name = "SUM(ILOSC">120</column></item><item><column name = "KWARTAL">4</column><column name = "SUM(ILOSC">150</column></item></PivotSet> telefony <PivotSet><item><column name = "KWARTAL">1</column><column name = "SUM(ILOSC">250</column></item><item><column name = "KWARTAL">2</column><column name = "SUM(ILOSC">300</column></item><item><column name = "KWARTAL">3</column><column name = "SUM(ILOSC">330</column></item><item><column name = "KWARTAL">4</column><column name = "SUM(ILOSC">300</column></item></PivotSet>

41 Możliwy jest zapis z podzapytaniem: PIVOT i lista wartości przykład 1c SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT XML (SUM(ilosc FOR kwartal IN (SELECT kwartal FROM sprzedaz2011; Wyniki obejmują wszystkie wartości w polach danych, nie tylko istniejące (również komórki puste

42 PIVOT i lista wartości przykład 1c Wyniki zapytania są w formacie XMLTYPE. Można te dane przetwarzać za pomocą wyrażeń XPath lub XQuery Można również wyciągać poszczególne elementy SELECT kategoria, EXTRACT(kwartal_xml, '/PivotSet/item/column' AS ilosc FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011 PIVOT XML (SUM(ilosc FOR kwartal IN (ANY WHERE kategoria like '%RTV%';

43 PIVOT i lista wartości przykład 1b cd. KATEGORIA ILOSC RTV <column name="kwartal">1</column><column name="sum(ilosc">150</column> <column name="kwartal">2</column><column name="sum(ilosc">150</column> <column name="kwartal">3</column><column name="sum(ilosc">180</column> <column name="kwartal">4</column><column name="sum(ilosc">190</column>

44 Klauzula Pivot a dane z CSV Klauzula Pivot może pracować na plikach tekstowych. Plik musi zostać wcześniej podłączony do bazy, za pomocą opcji external table. Dalsze operacje nie różnią się od przypadku, gdy tabela jest składowana w bazie

45 Klauzula Pivot a dane z CSV CREATE TABLE sprzedaz2011_ext ( 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' ;

46 Klauzula Pivot a dane z CSV SELECT * FROM ( SELECT kategoria, kwartal, ilosc FROM sprzedaz2011_ext PIVOT (SUM(ilosc FOR kwartal IN (1 AS Q1, 2 AS Q2, 3 AS Q3, 4 AS Q4; KATEGORIA Q1 Q2 Q3 Q komputery telefony RTV AGD

47 Podsumowanie Zasady użycia: Miejsce w składni SELECT Użycie widoków inline lub klauzuli WITH Konieczność podania listy wartości lub użycia XML Korzyści Łatwość zapisu w porównaniu do CASE lub DECODE Zwartość zapisu Możliwość generowania danych XML Obustronność operacji (PIVOT, UNPIVOT Łatwość przestawiania danych na wielu kolumnach oraz z wieloma agregacjami

48 Promocje PROMOCJE do wykorzystania dla uczestników w terminie do 31 stycznia 2013 roku*. SQL język dostępu do bazy danych Oracle - w cenie specjalnej zł 30% rabatu na szkolenie: SQL poziom zaawansowany. * Przy rejestracji do dodatkowe nagrody książkowe

49 Dziękuję za uwagę

bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne

bazy 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ółowo

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

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Szkolenie autoryzowane MS 10774 Tworzenie zapytań do Microsoft SQL Server 2012 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Uwaga! Szkolenie wycofane z oferty. Zapraszamy

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 1.

SQL 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ółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - 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ółowo

OLAP i hurtownie danych c.d.

OLAP 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

Klasyczna Analiza Danych

Klasyczna 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ółowo

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX Aktualizowanie dokumentów XML ( Oracle ) do aktualizowania zawartości dokumentów XML służy między innymi funkcja updatexml. wynikiem jej działania jest oryginalny dokument ze zmodyfikowanym fragmentem,

Bardziej szczegółowo

Podstawy 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, 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ółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł 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ółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: 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

Relacyjne bazy danych. Podstawy SQL

Relacyjne 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ółowo

SQL 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, 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ółowo

Program 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 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ółowo

Język SQL podstawy zapytań

Ję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ółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft 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ółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne 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ółowo

SQL 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 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ółowo

Wyzwalacz - 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 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ółowo

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

Szkolenie 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ółowo

Oracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Oracle 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ółowo

Grupowanie i funkcje agregujące

Grupowanie i funkcje agregujące Grupowanie i funkcje agregujące Zadanie 1. Stwórz odpowiednią tabelę Test_agr i wprowadź odpowiednie rekordy tak, aby wynik zapytania SELECT AVG(kol) avg_all, AVG(DISTINCT kol) avg_dist, COUNT(*) count_gw,

Bardziej szczegółowo

Bazy danych. dr inż. Arkadiusz Mirakowski

Bazy danych. dr inż. Arkadiusz Mirakowski Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. 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ółowo

Tworzenie zapytań do Microsoft SQL Server

Tworzenie 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ółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety 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ółowo

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji

Bardziej szczegółowo

LAB 3 (część 1 Projektu)

LAB 3 (część 1 Projektu) Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 3 (część 1 Projektu) Na zajęciach należy zaprojektować schemat bazy danych oraz przygotować dokument zawierający: Temat: Autor: 1. Opis 2.

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle 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ółowo

Informatyka 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 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ółowo

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Wybó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ółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Ję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. 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ółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

Bardziej szczegółowo

Modelowanie wymiarów

Modelowanie 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ółowo

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, 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ółowo

Język PL/SQL Pakiety podprogramów

Język PL/SQL Pakiety podprogramów Język PL/SQL Pakiety podprogramów Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora) 1 Pakiety Pakiet (ang. package) grupuje powiązane

Bardziej szczegółowo

Bazy danych SQL Server 2005

Bazy danych SQL Server 2005 Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykł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ółowo

PODZAPYTANIE (SUBSELECT)

PODZAPYTANIE (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ółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. 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ółowo

Język SQL, zajęcia nr 2

Język SQL, zajęcia nr 2 Język SQL, zajęcia nr 2 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Funkcja agregująca

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie

Bardziej szczegółowo

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY 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ółowo

Bloki anonimowe w PL/SQL

Bloki 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ółowo

Perspektywy 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. 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ółowo

Technologie baz danych WYKŁAD 7: Wyjątki

Technologie 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ółowo

Wykład 5. SQL praca z tabelami 2

Wykł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ółowo

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

Bardziej szczegółowo

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.

Bardziej szczegółowo

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu

Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym. Modele - konceptualne reprezentacja obiektów w

Bardziej szczegółowo

EGZAMIN MATURALNY OD ROKU SZKOLNEGO

EGZAMIN MATURALNY OD ROKU SZKOLNEGO EGZAMIN MATURALNY OD ROKU SZKOLNEGO 2014/2015 INFORMATYKA POZIOM ROZSZERZONY ROZWIĄZANIA ZADAŃŃ I SCHEMATY PUNKTOWANIA (A1, A2, A3, A4, A6, A7) GRUDZIEŃ 2013 Zadanie 1. Test (0 5) Wymagania ogólne I. [

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle 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

Nauczycielem wszystkiego jest praktyka Juliusz Cezar. Nauka to wiara w ignorancję ekspertów Richard Feynman

Nauczycielem 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ółowo

Zarzadzanie transakcjami. Transakcje

Zarzadzanie transakcjami. Transakcje Transakcje Transakcja: ciąg zawierający jedno lub wiele poleceń SQL, zgrupowanych razem jako jedna logiczna jednostka działań, której nie można podzielić. Logiczna jednostka działań to zbiór logicznych

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny 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ółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury 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ółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne 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ółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ć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ółowo

Bazy danych. Polecenia SQL

Bazy 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ółowo

Procedury i funkcje składowane

Procedury 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ółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy 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ółowo

Rozszerzenia grupowania

Rozszerzenia 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ółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski 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ółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. 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ółowo

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL, Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 6 LAB 6 TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL, UPDATE, INSERT INTO, ALTER TABLE, CREATE VIEW, CREATE TRIGGER, FUNCTION,

Bardziej szczegółowo

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Wstę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ółowo

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

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra Bazy danych 6. Podzapytania i grupowanie P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Podzapytania Podzapytania pozwalaja na tworzenie strukturalnych podzapytań, co umożliwia izolowanie poszczególnych

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy 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ółowo

Grupowanie danych klauzula GROUP BY

Grupowanie 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ółowo

Wykład 8. SQL praca z tabelami 5

Wykł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ółowo

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Kolekcje 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ółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium 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ółowo

Bazy danych wykład trzeci. Konrad Zdanowski

Bazy 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ółowo

Bazy danych 6. Klucze obce. P. F. Góra

Bazy 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ółowo

SQL do zaawansowanych analiz danych część 1.

SQL do zaawansowanych analiz danych część 1. SQL do zaawansowanych analiz danych część 1. Rozszerzenia SQL Materiały laboratoryjne Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Wprowadzenie do c wiczenia W niniejszym ćwiczeniu student

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. 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ółowo

SQL (ang. Structured Query Language)

SQL (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ółowo

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

Część 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ółowo

Cechy języka XQUERY. o na wejściu dokument lub fragment względnie kolekcja dokumentów lub fragmentów o na wyjściu dokument lub fragment.

Cechy języka XQUERY. o na wejściu dokument lub fragment względnie kolekcja dokumentów lub fragmentów o na wyjściu dokument lub fragment. Cechy języka XQUERY Język funkcyjny o wszystkie konstrukcje języka są wyrażeniami zwracającymi wartość o można je zagnieżdżać o wartości zwracane przez wyrażenia są tzw. sekwencjami ( w sensie XPath 2.0)

Bardziej szczegółowo

SQL - Structured Query Language. strukturalny język zapytań

SQL - 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ółowo

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro Informatyka (5) SQL dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Język zapytań SQL Język deklaratywny (regułowy) - SQL, ProLog,

Bardziej szczegółowo

Bazy danych 7. SQL dalsze możliwości. Grupowanie.

Bazy danych 7. SQL dalsze możliwości. Grupowanie. Bazy danych 7. SQL dalsze możliwości. Grupowanie. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 MySQL i programowanie wsadowe C:\wyklady\bazy> mysql < nazwa pliku C:\wyklady\bazy>

Bardziej szczegółowo

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

DECLARE <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ółowo

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika

Bardziej szczegółowo

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 4 Piotr Syga 26.10.2018 Procedury review Przypomnienie składni procedur Tworzenie DELIMITER $$ CREATE PROCEDURE zliczacz (OUT wynik INT) BEGIN operacje... END

Bardziej szczegółowo

STROJENIE PRZETWARZAŃ SAS

STROJENIE PRZETWARZAŃ SAS STROJENIE PRZETWARZAŃ SAS PIOTR BEDNARCZYK, ORANGE POLSKA S.A. Copyright 2014, SAS Institute Inc. All rights reserved. WSTĘP AGENDA Analiza logów przetwarzań Obiekt Hash DATA STEP czy PROC SQL? Podzapytania

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy 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ółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Ję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ółowo

Programowanie 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 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ółowo

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

Funkcje. 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ółowo