Bazy danych wykład trzeci. Konrad Zdanowski

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

Download "Bazy danych wykład trzeci. Konrad Zdanowski"

Transkrypt

1

2 SQL - przypomnienie Podstawowa forma kwerendy SQL: select A1,..., Ak from R1,..., Rn where <warunek >; Odpowiada jej w algebrze relacji operacja π A1,...,Ak (σ <warunek> (R1 Rn))

3 SQL semantyka select R. A, T. B from R, T where <warunek >; Taka kwerendę można zrealizować następujaco: 1 Utwórż iloczyn kartezjański R T, 2 Wypisz pary atrybutów z tych wierszy R T, które spełniaja <warunek>. albo for all t R do for all t T do if t, t spełniają <warunek> then print t.a,t.b end if end for end for

4 SQL semantyka Jeśli jedna z tablic wymienionych po from jest pusta, to iloczyn kartezjański R T będzie pusty. W takim przypadku zapytanie nie zwróci żadnych krotek. Niech R(A, B), T (C, D) tabele takie, że T jest pusta. select A, B from R; zwróci nam tabelę R. select A, B from R, T ; nie zwróci żadnej krotki.

5 SQL semantyka Domyślnie tabele w bazie danych to zbiory. Nie można trzymać w jednej tabeli dwóch krotek o tych samych wartościach wszystkich atrybutów. W wyniku zapytania moga zostać zwrócone wielozbiory. Dzięki temu w nie tracimy informacji (nawet jeśli jest ona nam niepotrzebna). Przykład. Osoby(imie, nazwisko, id). Zapytanie select count ( imie ) from Osoby as o where o. imie= Ewa ; zwraca liczbę osób o imieniu Ewa.

6 SQL semantyka Jeśli chcemy usunać powtarzajace się krotki możemy użyć select d i s t i n c t imie, nazwisko from Osoby ; Taka operacja wymaga posortowania wyniku. Usunięcie powtórzeń może być kosztowniejsze niż obliczenie zapytania.

7 SQL operacje teoriomnogościowe Przy pomocy union, intersect, except możemy obliczyć sumę, część wspólna (przecięcie) oraz różnicę dwóch tabel. Operacje te domyślnie usuwaja duplikaty krotek! Aby zachować duplikaty trzeba użyć słowa kluczowego all.

8 SQL operacje teoriomnogościowe Rozważmy tabelę GRAF(poczatek, koniec) POCZATEK KONIEC

9 SQL operacje teoriomnogościowe Rozważmy select poczatek, koniec from g r a f union select poczatek, poczatek from g r a f ; Wyniki sa posortowane. Wyniki: POCZATEK KONIEC

10 SQL operacje teoriomnogościowe Rozważmy select poczatek, koniec from g r a f union a l l select poczatek, poczatek from g r a f ; Wyniki: POCZATEK KONIEC Zauważmy, że w tym przypadku wyniki sa nieposortowane.

11 SQL operacje teoriomnogościowe Zapytania select poczatek from g r a f ; select poczatek from g r a f union select poczatek from g r a f ; select poczatek from g r a f union a l l select poczatek from g r a f ; moga zwrócić inne wyniki!

12 SQL operacje teoriomnogościowe Oracle 11g stosuje minus zamiast except. Oracle 11g nie implementuje intersect all oraz minus all.

13 SQL złaczenia Operację łaczenia z algebry relacji możemy wykonać przy użyciu join. Iloczyn kartezjański dwóch tabel R T otrzymamy za pomoca R cross join T.

14 SQL złaczenia Jeśli chcemy ograniczyć krotki w złaczeniu do spełniajacych pewien warunek możemy napisać: Zapytanie: select from g r a f g join g r a f t on g. koniec = t. poczatek ; Wynik: POCZATEK KONIEC POCZATEK1 KONIEC Otrzymaliśmy tylko te krotki, które spełniaja warunek po on. Z grafów g i t zgineły krotki!

15 SQL złaczenia Możemy zachować wszystkie zaginione krotki. Zapytanie: select from g r a f g f u l l outer j oin g r a f t on g. koniec = t. poczatek ; Wynik: POCZATEK KONIEC POCZATEK1 KONIEC1 (null) (null) (null) (null)

16 SQL złaczenia Możemy zachować zaginione (wiszace) krotki z grafu g. Zapytanie: select from g r a f g l e f t outer j oin g r a f t on g. koniec = t. poczatek ; Wynik: POCZATEK KONIEC POCZATEK1 KONIEC (null) (null)

17 SQL złaczenia Możemy zachować wiszace krotki z grafu t. Zapytanie: select from g r a f g r i g h t outer join g r a f t on g. koniec = t. poczatek ; Wynik: POCZATEK KONIEC POCZATEK1 KONIEC (null) (null) 1 2

18 SQL złaczenia Niech tabela graf posiada dwa wiersze (1, null) oraz (null, 2). Zapytanie select from g r a f g join g r a f t on g. koniec = t. poczatek ; nie zwróci żadnej krotki. Wartość porównania null = null nie jest zdefiniowana.

19 SQL podzapytania Po słowach from, where może wystapić nowe zapytanie. select poczatek, koniec from g r a f g where ( g. poczatek 2, g. koniec +2) in ( select from g r a f ) ; To zapytanie zwróci nam jedna krotkę (2, 3). Po where nie możemy użyć samej tabeli. Napisanie where ( g. poczatek 2, g. koniec +2) in ( g r a f ) byłoby niepoprawne składniowo (Oracle).

20 SQL podzapytania W warunkach wykorzystujacych relacje R i krotkę s możemy używać: 1 EXISTS R, 2 s in R, 3 s > ALL R, 4 s > ANY R, 5 s<> ALL R. Wyrażenia możemy poprzedzać negacja, np. NOT EXISTS R. Pewne wyrażenia sa równoważne: 1 s = ANY R jest równoważne s in R, 2 NOT s > ALL S jest równoważne s <= ANY R.

21 SQL podzapytania Jeśli wiemy, że zapytanie zwróci tylko jedna wartość, możemy użyć jego wyniku do porównania: where n = ( select numer from R, T where R. numer = T. i d ) Podobnie, możemy porównać całe krotki where ( n, k o l o r ) = ( select R. numer, T. k o l o r from R, T where R. numer = T. i d )

22 SQL podzapytania skorelowane Wyniki pewnych podzapytań zależa od aktualnie testowanych krotek na zewnatrz danego podzapytania. Wtedy trzeba obliczać je za każdym przypisaniem wartości tym krotkom. Przykład. Tabela Filmy(tytul, rok, dlugosc). select t y t u l from f i l m y s t a r y where rok < ANY ( select rok from f i l m y where t y t u l = s t a r y. t y t u l ) ;

23 SQL agregowanie W SQL możemy obliczać wartości dla wszystkich wierszy w tabeli. Dostępne funkcje: SUM(A), AVG(A), MIN(A), MAX(A), COUNT(*), COUNT(DISTINCT A). Ich argumetny moga być wyrażeniami, np. SUM(A 2). Przykład Filmy(tytul, rok, dlugosc). select count ( d i s t i n c t t y t u l ) from Filmy ; select sum( dlugosc ) from Filmy where rok =2010;

24 SQL agregowanie Jeśli chcemy obliczyć wartość funkcji agregujacej oddzielnie dla różnych grupi wyniku używamy group by. Przykład Filmy(tytul, rok, rezyser, dlugosc). select sum( dlugosc ) from Filmy group by rok ; select rok, rezyser, sum( dlugosc ) from Filmy group by rok, rezyser ;

25 SQL agregowanie Możemy też ograniczyć wynik zapytania używajac funkcji agregujacej: having. Przykład Filmy(tytul, rok, rezyser, dlugosc). Jeśli interesuje nas długość filmów, wyprodukowanych przez reżyserów, którzy zaczeli pracować po roku 2000 napiszemy: select rezyser, sum( dlugosc ) from Filmy group by rezyser having min ( rok ) >=2000; Albo sami reżyserzy: select rezyser from Filmy group by rezyser having min ( rok ) >=2000;

26 SQL perspektywy SQL daje nam możliwość tworzenia perspektyw. Perspektywy nie sa przechowywane jako oddzielne tabele w bazie danych. Możemy je interpretować jako skróty dla zapytań, które je definiuja - w zapytaniu perspektywa zamieniana jest na podzapytanie SQL. Możemy korzystać z perspektyw w zapytaniach jak z tabel ale ich wartość jest za każdym razem obliczalna. Zapewniaja lepsza izolację danych i czytelność zapytań. create view stopien_wierzcholka as select poczatek wierzcholek, count ( ) stopien from g r a f group by poczatek ;

27 SQL perspektywy W poprzednim przykładzie traciliśmy wierchołki o stopniu wychodzacym 0 ale raczej nie chcemy też, żeby obliczenie perspektywy trwało długo. create view stopien_wierzcholka as select poczatek wierzcholek, count ( ) stopien from g r a f group by poczatek union a l l select koniec wierzcholek, 0 stopien from g r a f where g r a f. koniec not in ( select poczatek from g r a f ) ;

28 SQL perspektywy Jeśli perspektywa jest utworzona z jednej tabeli (lub perspektywy) i wykorzystane w niej atrybuty można uzupełnić wartościami domyślnymi do pełnego wiersza wyjściowej tabeli do do perspektywy możemy wstawiać krotki. Wynikiem jest wtedy wstawienie krotek do wyjściowej tabeli. Usunięcie krotki z perspektywy (jeśli jest to możliwe) skutkuje usunięciem wszystkich pasujacych do niej krotek z tabeli.

29 SQL definiowanie relacji w zapytaniu Potrzebna nam relację możemy zdefiniować też przed właściwym zapytaniem. Służy do tego konstrukcja with R( A1,..., Ak ) as ( select.... ) select.... from R,... where.... ;

30 SQL definiowanie relacji w zapytaniu Rozważmy tabelę GRAF(poczatek, koniec) POCZATEK KONIEC

31 SQL definiowanie relacji w zapytaniu with GrafOdwrotny ( poczatek, koniec ) as ( select koniec, poczatek from g r a f ) select go. poczatek, g. koniec from g r a f g, GrafOdwrotny go where go. koniec = g. poczatek ; POCZATEK KONIEC

32 SQL zapytania rekurencyjne Chcemy obliczyć tranzytywne domknięcie relacji GRAF, czyli relację osiagalności. Obliczenie par wierzchołków (p,k) takich, że z p można osiagn ać k w dwóch krokach: select g1. poczatek, g2. koniec from g r a f g1, g r a f g2 where g1. koniec = g2. poczatek ; Obliczenie par wierzchołków (p,k) takich, że z p można osiagn ać k w trzech krokach: select g1. poczatek, g3. koniec from g r a f g1, g r a f g2, g r a f g3 where g1. koniec = g2. poczatek and g2. koniec = g3. poczatek ;

33 SQL zapytania rekurencyjne with t r a n s _ g r a f ( poczatek, koniec ) as ( select poczatek, koniec from g r a f union a l l select t1. poczatek, g. koniec from t r a n s _ g r a f t1, g r a f g where t1. koniec = g. poczatek ) select from t r a n s _ g r a f order by poczatek, koniec ; Uwaga. Relacja trans_graf pojawia się po from w jednym z członów sumy, która ja sama definiuje.

34 SQL zapytania rekurencyjne Wyniki zapytania: POCZATEK KONIEC

35 SQL zapytania rekurencyjne Silnik bazy danych Oracle sprawdza czy obliczenie zapytania nie doprowadzi do nieskończonej pętli. W powyższym przykładzie zapytanie with t r a n s _ g r a f ( poczatek, koniec ) as ( select poczatek, koniec from g r a f union a l l select t1. poczatek, g. koniec from t r a n s _ g r a f t1, t r a n s _ g r a f t2 where t1. koniec = t2. poczatek ) select from t r a n s _ g r a f order by poczatek, koniec ; nie zwróciłoby wyniku.

36 SQL zapytania rekurencyjne Podobnie dołożenie krawędzi (1, 1) do grafu sprawia, że Oracle rozpoznaje pętle podczas obliczania odpowiedzi. Warto więc zastanowić się czy naprawdę potrzebujemy rekursji.

37 SQL funkcje analityczne Funkcje agregujace pozwalaja obliczyć wartość zależna od wszystkich (pogrupowanych) wierszy w odpowiedzi. Funkcje analityczne pozwalaja obliczać funkcje zależne tylko od części wyniku. Np. pozwalaja obliczać postępujac a sumę, N największych (najmniejszych) wartości, wyznaczać ranking, obliczać funkcje na podstawie danego rekordu i jego N sasiadów Funkcje analityczne wykonywane sa po instrukcjach join, where, group by, having a przed instrukcja order by.

38 SQL funkcje analityczne Składnia funkcji analitycznej: f u n c t i o n ( A2,..., Ak ) over ( < p a r t i t i o n by argument> <order by argument > <windowing clause >)

39 SQL funkcje analityczne partition by... dzieli wynik zapytania na części, dla których beda, oddzielnie, obliczane wartości funkcji, order by... definiuje porzadek w jakim będa podawane wiersze przy obliczaniu funkcji, nie musi być to porzadek wypisywania wyników, windowing-clause definiuje, od których wierszy z tabeli zależy wynik funkcji.

40 SQL funkcje analityczne Przykład. Osoby(imie, nazwisko, id). IMIE NAZWISKO ID Jan Kowalski 1 Ewa Kowalska 2 Marian Kowalski 3 Roman Kowalski 4 Ewa Kowalska 5 Chcemy obliczyć kolejność osób zgodna z imieniem.

41 SQL funkcje analityczne Chcemy obliczyć kolejność osób zgodna z imieniem. select imie, nazwisko, rank ( ) over ( order by imie ) as miejsce from osoby ; IMIE NAZWISKO MIEJSCE Ewa Kowalska 1 Ewa Kowalska 1 Jan Kowalski 3 Marian Kowalski 4 Roman Kowalski 5

42 SQL funkcje analityczne Chcemy obliczyć kolejność osób zgodna z imieniem. select imie, nazwisko, dense_rank ( ) over ( order by imie ) as miejsce from osoby ; IMIE NAZWISKO MIEJSCE Ewa Kowalska 1 Ewa Kowalska 1 Jan Kowalski 2 Marian Kowalski 3 Roman Kowalski 4

43 SQL funkcje analityczne Możemy skorzystać też z funkcji agregujacych. Beda obliczane dla każdego wiersza oddzielnie, nie tylko dla całej grupy. select imie, nazwisko, i d sum( i d ) over ( p a r t i t i o n by imie order by i d ) as suma from osoby ; IMIE NAZWISKO ID SUMA Ewa Kowalska 2 2 Ewa Kowalska 5 7 Jan Kowalski 1 1 Marian Kowalski 3 3 Roman Kowalski 4 4

44 SQL funkcje analityczne Porzadek generowania wyników może zostać zmieniony, przez dodanie na końcu zapytania polecenia order by. Nie zmienia to wartości funkcji analitycznej. select imie, nazwisko, i d sum( i d ) over ( p a r t i t i o n by imie order by i d ) as suma from osoby order by i d ; IMIE NAZWISKO ID SUMA Jan Kowalski 1 1 Ewa Kowalska 2 2 Marian Kowalski 3 3 Roman Kowalski 4 4 Ewa Kowalska 5 7

45 SQL funkcje analityczne Możemy modyfikować porzadek: asc, desc. Wartości null możemy ustawiać na końcu lub poczatku: nulls [first last]. Inne funkcje: ntile(n), percent_rank(), cume_dist() Jeśli chcemy tylko przypisać wierszom unikatowe numery możemy użyć funkcji row_number(). To pozwala łatwo znaleźć pierwszych N krotek. Jeśli chcemy powtarzalnych wyników musimy sortować po unikatowym kluczu.

46 SQL funkcje analityczne Przykład. Użycie row_number(). select imie, nazwisko, id, row_number ( ) over ( order by i d desc ) as rn from osoby ; IMIE NAZWISKO ID RN Ewa Kowalska 5 1 Roman Kowalski 4 2 Marian Kowalski 3 3 Ewa Kowalska 2 4 Jan Kowalski 1 5 Uwaga. Użycie rn w klauzuli where jest nielegalne - funkcje analityczne sa obliczane po where, group by, having a przed order by.

47 SQL funkcje analityczne Przykład. Użycie row_number(). Aaaaaby otrzymać wiersze z pewnego zakresu możemy zagnieździć zapytanie używajace row_number(). select imie, nazwisko, rn from ( select imie, nazwisko, id, row_number ( ) over ( order by i d desc ) as rn from osoby ) where 1< rn and rn < 5;

48 SQL funkcje analityczne Funkcje SUM, COUNT, AVG, MIN, MAX nie zależa od porzadku wierszy. Jeśli obliczenie zależy od porzadku generowania wierszy powinniśmy go podać w over (...) przez order by. Forma: order by expr [asc desc] nulls [first last]. Funkcje zależace od porzadku: LEAD, LAG, RANK, DENSE_RANK, ROW_NUMBER, FIRST, FIRST VALUE, LAST, LAST VALUE.

49 SQL funkcje analityczne first_value(sql-expr) oblicza wartość sql-expr na pierwszej krotce w grupie zdefiniowanej przez partition. select imie, nazwisko, id, i d f i r s t _ v a l u e ( i d ) over ( p a r t i t i o n by nazwisko order by nazwisko, imie, i d ) as d i f f from osoby ; IMIE NAZWISKO ID DIFF Ewa Kowalska 2 0 Ewa Kowalska 5 3 Jan Kowalski 1 0 Marian Kowalski 3 2 Roman Kowalski 4 3

50 SQL funkcje analityczne lead(sql-expr,offset, default) oblicza wartość sql-expr na krotce występujacej w grupie offset pozycji po aktualnej. select imie, nazwisko, id, i d + lead ( id,1, 10) over ( p a r t i t i o n by nazwisko order by nazwisko, imie, i d ) as sum from osoby ; IMIE NAZWISKO ID SUM Ewa Kowalska 2 7 Ewa Kowalska 5-5 Jan Kowalski 1 4 Marian Kowalski 3 7 Roman Kowalski 4-6 Wartość domyślna dla offset to 1. Jeśli dana krotka nie istnieje, to zostanie zwrócona wartość default.

51 SQL funkcje analityczne Funkcja analogiczna do first_value to last_value. Funkcja analogiczna do lead to lag(sql-expr, offset, default).

52 SQL funkcje analityczne select imie, nazwisko, id, sum( i d ) over ( order by nazwisko, imie, i d rows between 1 preceding and i d f o l l o w i n g ) as sum from osoby ; IMIE NAZWISKO ID SUM Ewa Kowalska 2 8 Ewa Kowalska 5 15 Jan Kowalski 1 9 Marian Kowalski 3 8 Roman Kowalski 4 7

53 SQL dygresja Czasem zamiast row_number() wystarczy użyć pseudokolumny Oracle rownum. Dla każdej tabeli i wyniku zapytania możemy posłużyć się rownum, która przechowuje kolejne numery wierszy tabeli (liczac od 1). select imie, nazwisko, rownum from osoby where rownum <4; IMIE NAZWISKO ROWNUM Jan Kowalski 1 Ewa Kowalska 2 Marian Kowalski 3

54 SQL dygresja select imie, nazwisko, rownum from osoby where rownum <4; zwraca tylko pierwsze trzy wiersze select imie, nazwisko, rownum from osoby where rownum >1; nie zwróci żadnego wiersza, bo rownum przypisuje pierwszemu wierszowi numer 1. Każdy kolejno testowany wiersz będzie miał domyślnie przypisany rownum = 1. Użycie rownum może wyłaczyć pewne optymalizacje w obliczaniu zapytań.

55 Koniec

Podstawy języka SQL cz. 2

Podstawy języka SQL cz. 2 Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.

Bardziej szczegół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

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

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne 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ół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

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie do języka SQL Opracował: dr inż. Piotr Suchomski Wprowadzenie Język SQL używany jest do pracy z relacyjną bazą danych. Jest to język nieproceduralny, należący do grupy języków

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

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

188 Funkcje analityczne

188 Funkcje analityczne Funkcje analityczne 188 Plan rozdziału 189 Wprowadzenie do funkcji analitycznych Funkcje rankingu Funkcje okna Funkcje raportujące Funkcje LAG/LEAD Funkcje FIRST/LAST Odwrotne funkcje percentyli Funkcje

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

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

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegół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

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

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 5 Strukturalny język zapytań (SQL - Structured Query Language) Algebraiczny rodowód podstawowe działania w przykładach Bazy danych.

Bardziej szczegółowo

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

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

Bardziej szczegół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

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

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

Bardziej szczegółowo

Bazy danych Język SQL część 2 Wykład dla studentów matem

Bazy danych Język SQL część 2 Wykład dla studentów matem Bazy danych Język SQL część 2 Wykład dla studentów matematyki 21 marca 2015 Zapytania na kilku tabelach Czasem poszukiwana informacja znajduje się w kilku tabelach. Aby zapytanie dotyczyło kilku tabel,

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

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

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

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

3. Podzapytania, łączenie tabel i zapytań

3. Podzapytania, łączenie tabel i zapytań 3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,

Bardziej szczegół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

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

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

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

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

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Algebra relacji i SQL Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. IV Jesień 2014 1 / 52 Do czego służy baza danych? nazwa adres Studia rok

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

SQL Structured Query Language

SQL Structured Query Language SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony

Bardziej szczegółowo

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup Grupowanie i funkcje agregacji Grupowanie z użyciem rollup Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 2.

SQL do zaawansowanych analiz danych część 2. SQL do zaawansowanych analiz danych część 2. Funkcje analityczne Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan wykładu 1. Podstawowe definicje. 2. Sposób działania

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegół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

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek

Podzapytania. SELECT atrybut_1, atrybut_2,... FROM relacja WHERE atrybut_n operator (SELECT atrybut_1, FROM relacja WHERE warunek Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym w innym poleceniu SELECT. Podzapytanie może wystąpić wszędzie tam, gdzie system spodziewa się zbioru wartości, czyli w klauzulach SELECT,

Bardziej szczegółowo

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Bazy danych 2. Wykład 4 Structured Query Language (SQL) Bazy danych 2 Wykład 4 Structured Query Language (SQL) Cechy SQL W standardzie SQL wyróŝnia się dwie części: DDL (Data Definition Language) - język definiowania danych DML (Data Manipulation Language)

Bardziej szczegółowo

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

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Grupowanie i funkcje agregacji

Grupowanie i funkcje agregacji Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega

Bardziej szczegółowo

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

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. 1 Funkcje grupowe (agregujące) (1) Działają na zbiorach rekordów, nazywanych grupami. Rekordy

Bardziej szczegół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

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

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

Rozdział 14 Funkcje analityczne

Rozdział 14 Funkcje analityczne Rozdział 14 Funkcje analityczne Operatory ROLLUP i CUBE, funkcja GROUPING, funkcje porządkujące (ranking), okienkowe, raportujące, statystyczne, funkcje LAG/LAD (c) Instytut Informatyki Politechniki Poznańskiej

Bardziej szczegółowo

SQL praca z tabelami 4. Wykład 7

SQL praca z tabelami 4. Wykład 7 SQL praca z tabelami 4 Wykład 7 1 Funkcje agregujące Informacja poszukiwana w bazie danych często musi być wyliczana na podstawie danych znajdujących się w wielu wierszach tabeli. Tak jest gdy chcemy znać

Bardziej szczegół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. 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

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

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

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

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy

Bardziej szczegółowo

Bazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Bazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408 Bazy Danych SQL Podstawy języka II: zapytania Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Konstrukcja select-from-where SQL oparty jest na algebrze relacji z pewnymi modyfikacjami

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

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

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

Wprowadzenie do języka SQL

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

Laboratorium Bazy danych SQL 3 1

Laboratorium Bazy danych SQL 3 1 Laboratorium Bazy danych SQL 3 1 F U N K C J E operujące na grupach wierszy: avg([distinct all]kol) oblicza średnią arytmetyczną wartości kolumny kol wszystkich wierszy grupy. count([distinct all]wyr)

Bardziej szczegół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

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym

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

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

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

select zam_id, cena_euro,(rank() over (partition by zam_id order by cena_euro)) from pozycjezamowien order by zam_id

select zam_id, cena_euro,(rank() over (partition by zam_id order by cena_euro)) from pozycjezamowien order by zam_id See also: OLAP.mth Suma narastająco... 1 Min max w poszczególnych grupach... 1 Numeracja elementów w grupach... 1 KLAUZULE GROUP BY, GROUP BY CUBE, GROUP BY ROLLUP... 1 MATERIAŁ ROBOCZY... 5 First VALUE

Bardziej szczegół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

Podyplomowe Studia Systemy informatyczne w logistyce

Podyplomowe Studia Systemy informatyczne w logistyce MATERIAŁY SZKOLENIOWE Podyplomowe Studia Systemy informatyczne w logistyce Hurtownie danych w informatycznych systemach logistycznych (MS SQL Server 2012) PROWADZĄCY: Marcin Pieleszek Projekt współfinansowany

Bardziej szczegółowo

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła 050 SQL ELEMENTY ZAAWANSOWANE Prof. dr hab. Marek Wisła Deklarowanie zmiennych DECLARE @nazwa-zmiennej typ-danych {, @nazwazmiennej typ-danych}; deklaruje nazwy zmiennych lokalnych (definiowanych przez

Bardziej szczegółowo

Złaczenia tablic: FROM, WHERE, JOIN

Złaczenia tablic: FROM, WHERE, JOIN JOIN Łączenie tablic 1 Bazy Danych Wykład p.t. Złaczenia tablic: FROM, WHERE, JOIN Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały: http: //www.postgresql.org/docs/8.3/interactive/index.html

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

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING

Agregacja i Grupowanie Danych. Funkcje Agregacji. Opcje GROUP BY oraz HAVING Agregacja w SQL 1 Bazy Danych Wykład p.t. Agregacja i Grupowanie Danych Funkcje Agregacji. Opcje GROUP BY oraz HAVING Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały:

Bardziej szczegół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

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

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

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

Podzapytania. Podzapytania nieskorelowane i skorelowane

Podzapytania. Podzapytania nieskorelowane i skorelowane Podzapytania w SQL 1 Bazy Danych Wykład p.t. Podzapytania. Zagnieżdżanie zapytań. Podzapytania nieskorelowane i skorelowane Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano

Bardziej szczegółowo

Zadania z SQLa (MS SQL Server)

Zadania z SQLa (MS SQL Server) Zadania z SQLa (MS SQL Server) Struktura testowej bazy danych (diagram ERD): opracował dr Robert Fidytek SPIS TYPÓW ZADAŃ 1 Projekcja wyników zapytań (SELECT FROM )... 3 2 Sortowanie wyników zapytań (ORDER

Bardziej szczegółowo

Instrukcje DQL: SELECT. Zastosowanie SELECT, opcje i warianty

Instrukcje DQL: SELECT. Zastosowanie SELECT, opcje i warianty Wprowadzenie do psql i SQL 1 Bazy Danych Wykład p.t. Instrukcje DQL: SELECT. Zastosowanie SELECT, opcje i warianty Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały:

Bardziej szczegółowo

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia

Bardziej szczegółowo

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu

Bardziej szczegół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

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

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408 Bazy Danych SQL Podstawy języka III: powtórzenie Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Modyfikacja schematu relacji Utwórz tabelę wg schematu: CREATE TABLE ODDZIAL ( numer_oddzialu

Bardziej szczegółowo

Operacja Teta-złączenia. v1 v1 Θ v2

Operacja Teta-złączenia. v1 v1 Θ v2 Operacja Teta-złączenia Dane są: r(r) tabela r o schemacie R, A R s(s) tabela s o schemacie S, B S R i S nie zawierają tych samych nazw (R S = Ø) Θ {>, =,

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

Konstruowanie Baz Danych DQL agregacja danych

Konstruowanie Baz Danych DQL agregacja danych Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1 Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język

Bardziej szczegółowo

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX 24 kwietnia 2014 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą

Bardziej szczegółowo

Ćwiczenie 3. Funkcje analityczne

Ćwiczenie 3. Funkcje analityczne Ćwiczenie 3. Funkcje analityczne 1. Uruchomienie i skonfigurowanie środowiska do ćwiczeń Czas trwania: 15 minut Zadaniem niniejszych ćwiczeń jest przedstawienie podstawowych zagadnień dotyczących wykorzystywania

Bardziej szczegółowo

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

Bardziej szczegółowo

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

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

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

Integralność 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ół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

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n. Algebra relacji Definicja 1 (Relacja matematyczna). Relacją R między elementami zbioru D 1 D 2 D n, gdzie przypomnijmy D 1 D 2 D n = {(d 1, d 2,..., d n ) : d i D i, i = 1, 2,..., n}, nazywamy każdy podzbiór

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji Relacyjne bazy danych Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1 Model danych Relacyjne bazy danych są podstawą zachodniej cywilizacji 3 Model danych: Aspekt strukturalny: Zbiór struktur

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