Bazy danych wykład trzeci. Konrad Zdanowski

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ć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

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

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

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

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

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

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do Na dotychczasowych zajęciach zapoznaliście się Państwo z poleceniem SELECT pozwalającym ą na wykonywanie zapytań ń do bazy danych i odczytywanie danych zawartych w relacjach. Celem tego ćwiczenia jest

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

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

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

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

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

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

Ć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

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Bazy Danych egzamin 9 luty, 2012 rozwiazania

Bazy Danych egzamin 9 luty, 2012 rozwiazania Bazy Danych egzamin 9 luty, 2012 rozwiazania 1 Zadania 1. Stwórz diagram ER dla następującego opisu bazy danych drużyn i rozgrywek lig regionalnych. W szczególności oznacz słabe encje, klucze, rodzaje

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

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

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

SQL w praktyce. Miłej i owocnej nauki!!!

SQL w praktyce. Miłej i owocnej nauki!!! SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie

Bardziej szczegółowo

Laboratorium Bazy danych SQL 2

Laboratorium Bazy danych SQL 2 Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według

Bardziej szczegółowo

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

Bazy danych Język SQL część 1 Wykład dla studentów matem Bazy danych Język SQL część 1 Wykład dla studentów matematyki 15 marca 2015 SQL Język wysokiego poziomu do komunikacji z bazami danych (ściślej: z systemami zarzadzania bazami danych) Podajemy co ma być

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Bazy danych 8. Złaczenia ciag dalszy. Grupowanie.

Bazy danych 8. Złaczenia ciag dalszy. Grupowanie. Bazy danych 8. Złaczenia ciag dalszy. Grupowanie. P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Filtry Wyobraźmy sobie zapytanie SELECT... FROM T 1 JOIN T 2 ON... WHERE P(T 1 )

Bardziej szczegółowo

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne. LINQ w Microsoft Visual Basic 'zapytanie pobierające wszystkie liczby z kolekcji 'zmienna zapytanie jest typu: System.Collections.Generic.IEnumerable(Of Integer) Dim zapytanie = From wiersz In liczby 'lub

Bardziej szczegółowo

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji Plan wykładu Bazy danych Wykład 12: Optymalizacja zapytań. Język DDL, DML (cd) Etapy przetwarzania zapytania Implementacja wyrażeń algebry relacji Reguły heurystyczne optymalizacji zapytań Kosztowa optymalizacja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015 Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015 Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs.

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Ćwiczenie 3 funkcje agregujące

Ćwiczenie 3 funkcje agregujące Ćwiczenie 3 funkcje agregujące Funkcje agregujące, klauzule GROUP BY, HAVING Ćwiczenie 3 funkcje agregujące Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

Bardziej szczegółowo

Funkcje analityczne SQL CUBE (1)

Funkcje analityczne SQL CUBE (1) Funkcje analityczne SQL CUBE (1) JOB DEPTNO SUM(SAL) --------- ---------- ---------- 29025 10 8750 20 10875 30 9400 CLERK 4150 CLERK 10 1300 CLERK 20 1900 CLERK 30 950 ANALYST 6000 ANALYST 20 6000 MANAGER

Bardziej szczegółowo

Dedukcyjne bazy danych i rekursja

Dedukcyjne bazy danych i rekursja Dedukcyjne bazy danych i rekursja Wykład z baz danych dla studentów matematyki 27 maja 2017 Bazy danych z perspektywy logiki Spojrzenie na bazy danych oczami logika pozwala jednolicie opisać szereg pojęć.

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegół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 Plan laboratorium Frazy SQL: group by, rollup, cube, grouping sets funkcje analityczne, budowa modeli

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo