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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transkrypt

1 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

2 Model kosztów Paremtry określajace rozmiar relacji R: B(R) liczba bloków jakie zajmuje R (będziemy zakładać, że relacja jest sklastrowana), T (R) liczba krotek w relacji R, V (R, A) liczba róznych wartości atrybutu A w R, V (R[a 1,..., a k ]) liczba róznych krotek o wartości atrybutów a 1,..., a k w R Szacujac koszty wykonania zapytania minimalizujemy liczbę operacji I/O. dwunasty Wykonywanie i optymalizacja zapytań SQL 2 / 36

3 Model kosztów Dla sklastrowanej relacji R koszt wczytania relacji to B(R). Koszt sortowania relacji R, jeśli ta mieści się w całości w pamięci operacyjnej, to również B(R). dwunasty Wykonywanie i optymalizacja zapytań SQL 3 / 36

4 Podstawowe operacje na relacjach przypomnienie Niech R(A 1,..., A k ), S(B 1,..., B n ) dane relacje. Rzutowanie π: A1,...,A m (R) = {(a 1,..., a m ) istnieją a m+1,..., a k, takie, że (a 1,..., a m, a m+1,..., a k ) R}. Oczywiście, możemy wybrać w rzutowaniu dowolne atrybuty. Dla warunku C na krotki relacji R, σ C (R) = {(a 1,..., a k ): C(a 1,..., a k )}. dwunasty Wykonywanie i optymalizacja zapytań SQL 4 / 36

5 Podstawowe operacje na relacjach przypomnienie Niech R(A, B, C, D), S(C, D, E) dane relacje. Złaczenie R S = {(a, b, c, d, e): (a, b, c, d) R (c, d, e) S}. Złaczenie warunkowe dla warunku Θ, R Θ S = {(a, b, c, d, e): (a, b, c, d) R (c, d, e) S Θ(a, b, c, d, e)}. dwunasty Wykonywanie i optymalizacja zapytań SQL 5 / 36

6 Koszt pewnych operacji jednoargumentowych Uwaga. Zajmiemy się kosztem operacji jednoprzebiegowych. Tzn. tylko raz wczytujemy dana krotkę i cały wynik albo zmieści się w pamięci operacyjnej albo możemy go generować online. Algorytm naiwny dla każdej nowej krotki sprawdzamy, czy już nie wystapiła ma koszt n 2 (dla n krotek wyniku to problem choć oczywiście nie zmieniamy ilości operacji I/O). Tablice z haszowaniem optymalizuja ten koszt wymagajac dodatkowej pamięci. Operacje agregujace możemy obliczać podczas tworzenia kolejnych krotek wynikowej relacji. dwunasty Wykonywanie i optymalizacja zapytań SQL 6 / 36

7 Koszt operacji dwuargumentowych Rozważmy operacje sumy, iloczyny, różnicy dla wielozbiorów i zbiorów (bez powtórzeń). Niech M liczba wolnych buforów w pamięci operacyjnej. Suma wielozbiorów dla relacji R i S to B(R) + B(S). Dla róznicy i iloczynu musimy wczytać mniejsza relację do pamięci operacyjnej, czyli musi być spełniony warunek min(b(r), B(S)) M( 1). Dla operacji na zbiorach (bez powtórzeń) musimy wczytać mniejsza relację i zarezerwować dodatkowa pamięć na struktury pomocnicze (jak tablice haszujace). W przybliżeniu mamy więc wymóg min(b(r), B(S)) M. dwunasty Wykonywanie i optymalizacja zapytań SQL 7 / 36

8 Koszt złaczenia Rozpatrzmy złaczenie R(A, B) S(B, C). Naiwny algorytm wymaga B(R)B(S) operacji wczytania. Jeśli mamy M buforów, możemy wczytywać po M 1 bloków relacji R i następnie wczytywać po jednym bloku z S aby stworzyć złaczenie. Koszt wyniesie około B(R)B(S)/M. dwunasty Wykonywanie i optymalizacja zapytań SQL 8 / 36

9 Koszt operacji dwuargumentowych Zauważmy, że koszt tych operacji możemy istotnie zmniejszyć przy zastosowaniu dodatkowyc struktur danych (np. tablic haszujacych, indeksów). Np. jeśli na B jest nałożony indeks w R lub S, możemy efektywnie znajdować krotki, które wejda do złaczenia. Koszt złaczenia będzie wtedy optymalny. dwunasty Wykonywanie i optymalizacja zapytań SQL 9 / 36

10 Przetważanie zapytania SQL Elementy procesu wykonywania zapytania: kompilacja zapytania (przedstawienie zapytania w optymalnej postaci logicznej, wykonywanie zapytania. Aby wykonanie przebiegło efektywnie potrzebujemy zdefiniować często dodatkowe struktury danych (np. indeksy). dwunasty Wykonywanie i optymalizacja zapytań SQL 10 / 36

11 Kompilowanie zapytania SQL Elementy procesu kompilowania zapytania: zapisanie zapytania w postaci wyrażenia algebry relacji (drzewo zapytania), wybranie optymalnej, z równoważnych, postaci zapytania, wybranie algorytmów przetważania bazy danych. Aby wykonanie przebiegło efektywnie potrzebujemy zdefiniować często dodatkowe struktury danych (np. indeksy). dwunasty Wykonywanie i optymalizacja zapytań SQL 11 / 36

12 Drzewo zapytania przykład select tytul from Ksiazki where rok == 2011; π tytul σ rok=2011 Ksiazki dwunasty Wykonywanie i optymalizacja zapytań SQL 12 / 36

13 Drzewo zapytania przykład select tytul from Ksiazki where rok = 2011 and wydawca = Znak ; Które z drzew da efektywniejsze wykonanie? π tytul π tytul σ rok=2011 σ rok=2011 rok= Znak σ rok= Znak Ksiazki Ksiazki Oba plany sa równoważne, bo σ C D (R) = σ C (σ D (R)). dwunasty Wykonywanie i optymalizacja zapytań SQL 13 / 36

14 Drzewo zapytania przykład select nazwisko, tytul from Ksiazki, Autorzy where Ksiazki.autor_id = Autorzy.id; π nazwisko, tytul σ Ksiazki.autor_id=Autorzy.id Ksiazki Autorzy dwunasty Wykonywanie i optymalizacja zapytań SQL 14 / 36

15 Drzewo zapytania przykład select nazwisko, tytul from Ksiazki, Autorzy where Ksiazki.autor_id = Autorzy.id and rok=2011; Które plan jest lepszy? Ci zmienia (prawdopodobna) obecność indeksu na atrybucie, po którym złaczamy? π nazwisko, tytul σ Ksiazki.autor_id=Autorzy.id rok=2011 Ksiazki Autorzy π nazwisko, tytul σ Ksiazki.autor_id=Autorzy.id σ rok=2011 Ksiazki Autorzy dwunasty Wykonywanie i optymalizacja zapytań SQL 15 / 36

16 Optymalizacja zapytania Stworzenie reprezentacji algebraicznej. Eliminacja (jeśli możliwa) podzapytań. Transformacje algebraiczne w algebrze relacji. Zdefiniowanie porzadku wykonywania złaczeń i innych operacji. Po tych krokach następuję wybór konkretnych algorytmów operujacych na bazie danych. dwunasty Wykonywanie i optymalizacja zapytań SQL 16 / 36

17 Analiza semantyczna zapytania Po stworzeniu reprezentacji algebraicznej możemy uprościć zapytanie korzystajac z praw logicznych oraz arytmetycznych. W szczególności możemy wyeliminowac warunki (i zapytania) sprzeczne. dwunasty Wykonywanie i optymalizacja zapytań SQL 17 / 36

18 Transformacja zapytania Korzystajac z praw algebry relacji możemy uprościć i zoptymalizować dane zapytanie Oprócz metod aksjomatycznych stosować można też analizy statystyczne, szacowanie kosztów w oparciu o statystyki działania bazy danych (pracochłonne i kosztowne). Operacje unarne (filtrujace) przesuwamy w dół drzewa zapytania. Operacje binarne przesuwamy w góre. Złaczenia najlepiej definiować na atrybutach, na których mamy zdefiniowany indeks. dwunasty Wykonywanie i optymalizacja zapytań SQL 18 / 36

19 Przykładowe prawa algebry relacji R (S T ) = (R S) T, R (S T ) = (R S) (R T ), σ C D (R) = σ C (σ D (R)) = σ C (R) σ D (R), σ C D (R) = σ C (R) σ D (R), dwunasty Wykonywanie i optymalizacja zapytań SQL 19 / 36

20 Przykładowe prawa algebry relacji σ C (R S) = σ C (R) S, jeśli C zawiera tylko predykaty z R to σ C (R S) = σ C (R) S, jeśli M = N Q, gdzie N to atrybuty z R a Q to atrybuty z S (i N i Q zawieraja atrybuty, po których obliczamy złaczenie), to π M (R S) = π N (R) π Q (S), jeśli M nie zawiera atrybutów Z, po których obliczamy złaczenie, to π M (R S) = π N Z (R) π Q Z (S). dwunasty Wykonywanie i optymalizacja zapytań SQL 20 / 36

21 Przykłady Niech dane R(A, B) i S(B, C). Czy lepsze jest σ A=a (R S) czy σ A=a (R) S? Czy lepsze jest σ A=a C=c (R S) czy σ A=a (R) σ C=c (S)? Czy σ A=a C=c (R S), czy σ A=a (R S) σ C=c (R S), czy (σ A=a (R) S) (R σ C=c (S)? Czy coś moga zmienić indeksy na atrybutacie C? dwunasty Wykonywanie i optymalizacja zapytań SQL 21 / 36

22 Optymalizacja podzapytań Podzapytanie wymaga obliczenia dla każdej krotki, która może należeć do wyniku. Trudno optymalizować razem zapytanie i podzapytanie. Optymalizujac je oddzielnie możemy pominać pewne możliwości uproszczenia. Zmniejszenie kosztów można (czasem) osiagn ać przez eleminacje podzapytania. dwunasty Wykonywanie i optymalizacja zapytań SQL 22 / 36

23 Przykład - optymalizacja podzapytań Jak zooptymalizować to zapytanie? select a. nazwisko, a. miasto from Autorzy a where a. rok_urodzenia >1980 and a. i d in ( select k. a u t o r _ i d from K s i a z k i k where k. rok_wydania < 2000 ) ; dwunasty Wykonywanie i optymalizacja zapytań SQL 23 / 36

24 Przykład - optymalizacja podzapytań select a. nazwisko, a. miasto from Autorzy a, K s i a z k i k where a. rok_urodzenia >1980 and k. rok_wydania < 2000 and a. i d = k. a u t o r _ i d ; dwunasty Wykonywanie i optymalizacja zapytań SQL 24 / 36

25 Przykład - optymalizacja podzapytań select a. nazwisko, a. miasto from Autorzy a where a. plec = F and k. rok_urodzenia <= ALL ( select b. rok_urodzenia from Autorzy b where b. plec = F and a. miasto_urodzenia = b. miasto_urodzenia ) ; dwunasty Wykonywanie i optymalizacja zapytań SQL 25 / 36

26 Przykład - optymalizacja podzapytań Obliczmy zbiór nie najmłodszych autorek: select a. nazwisko, a. miasto from Autorzy a where a. plec = F and k. rok_urodzenia > SOME ( select b. rok_urodzenia from Autorzy b where b. plec = F and a. miasto_urodzenia = b. miasto_urodzenia ) ; dwunasty Wykonywanie i optymalizacja zapytań SQL 26 / 36

27 Przykład - optymalizacja podzapytań Zoptymalizujmy ostatnie zapytanie: select a. nazwisko, a. miasto from Autorzy a, Autorzy b where a. plec = F and b. plec= F and a. miasto_urodzenia = b. miasto_urodzenia and a. rok_urodzenia > b. rok_urodzenia ; dwunasty Wykonywanie i optymalizacja zapytań SQL 27 / 36

28 Przykład - optymalizacja podzapytań Odejmijmy: ( select a. nazwisko, a. miasto from Autorzy a where a. plec = F ) except ( select a. nazwisko, a. miasto from Autorzy a, Autorzy b where a. plec = F and b. plec= F and a. miasto_urodzenia = b. miasto_urodzenia and a. rok_urodzenia > b. rok_urodzenia ; ) dwunasty Wykonywanie i optymalizacja zapytań SQL 28 / 36

29 Przesuwanie predykatów π nazwisko, tytul π nazwisko, tytul σ rok=2011 Ksiazki.autor_id=Autorzy.id Ksiazki.autor_id=Autorzy.id σ rok=2011 Autorzy Ksiazki Autorzy Ksiazki dwunasty Wykonywanie i optymalizacja zapytań SQL 29 / 36

30 Przesuwanie predykatów select w. nazwa, Min ( a. rok_urodzenia ) from Wydawnictwa w, Autorzy a where w. a u t o r _ i d = a. i d group by w. nazwa having Min ( a. rok_urodzenia ) <=1939; select w. nazwa, Min ( a. rok_urodzenia ) from Wydawnictwa w, Autorzy a where w. a u t o r _ i d = a. i d and a. rok_urodzenia <=1939 group by w. nazwa ; dwunasty Wykonywanie i optymalizacja zapytań SQL 30 / 36

31 Przesuwanie predykatów Czy tak też można? select w. nazwa, Min ( a. rok_urodzenia ) from Wydawnictwa w, Autorzy a where w. a u t o r _ i d = a. i d group by w. nazwa having Min ( a. rok_urodzenia ) >1939; select w. nazwa, Min ( a. rok_urodzenia ) from Wydawnictwa w, Autorzy a where w. a u t o r _ i d = a. i d and a. rok_urodzenia >1939 group by w. nazwa ; dwunasty Wykonywanie i optymalizacja zapytań SQL 31 / 36

32 Optymalizacja zapytania heurystyka Selekcje oparta na warunku, σ C (R) warto przenieść w dół drzewa, jeśli to możliwe. Podobnie postępujemy z projekcjami. Usuwanie powtórzeń często lepiej zrobić wyżej w drzewie (jeśli trzeba) aby operować na mniejszych relacjach. Przed złaczeniem lepiej wykonać selekcję na obu relacjach składowych (jeśli wogle chcemy wykonać selekcję). dwunasty Wykonywanie i optymalizacja zapytań SQL 32 / 36

33 Fizyczny plan realizacji zapytania Po dokonaniu optymalizacji logicznej trzeba wybrać algorytmy realizacji zapytania: kolejność wykonania operacji przemiennych jak złaczenia, sumy,..., algorytmy dla operatorów logicznych (haszowanie, zagnieżdżone pętle,... ), realizacja operatorów sortowania, grupowania,..., sposób przekazywania argumentów i wyników podzapytań (przez dysk, pamięć operacyjna, po jednej krotce,... ). dwunasty Wykonywanie i optymalizacja zapytań SQL 33 / 36

34 Szacowanie kosztów Aby wybrać odpowiednie algorytmu należy oszacować ich koszty, czyli przede wszystkim oszacować wielkość pośrednich wyników. Stosuje się tutaj: przewidywanie przypadków najgorszych, rachunek prawdopodobieństwa by wyliczyć oczekiwane wartości rozmiaru relacji obliczanie okresowo statystyk bazy danych. dwunasty Wykonywanie i optymalizacja zapytań SQL 34 / 36

35 Szacowanie kosztów rozmiar projekcji Jeśli dane maja rozkład jednostajny, to oczekiawna wielkość projekcji σ A=a (R) wynosi T (R)/V (R, A). W praktyce wiele danych ma np. rozkład Zipfa (np. rozmiar populacji miast - podzielony na przedziały). W rozkładzie Zipfa i-ta najczęstsza wartość występuje z częstotliwościa 1/ i. Otrzymujemy wtedy ciag stosunków częstości 1, 0.71, 0.58,... dwunasty Wykonywanie i optymalizacja zapytań SQL 35 / 36

36 Szacowanie kosztów Szacowanie rozmiaru sumy, iloczynu, różnicy dość łatwe choć niekoniecznie dokładne. Np. rozmiar różnicy R S zawiera się w T (R) a T (R) T (S). Średnio możemy przyjac (T (R) + (T (R) T (S)))/2 = T (R) T (S)/2. Złaczenie R(A, B) is S(B, C) może mieć w wyniku 0 krotek, T (R) krotek, jeśli B jest kluczem obcym w R pobieranym z S, rzędu T (R)T (S) krotek, jeśli wartość atrybutu B jest w obu relacjach taka sama i mało zmienna. Przy pewnych dodatkowych założeniach (V (R, B) V (S, B)) i V (R S, A) = V (R, A)) możemy szacować rozmiar złaczenia jako T (R)T (S)/ max(v (R, B), V (S, B)). dwunasty Wykonywanie i optymalizacja zapytań SQL 36 / 36

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

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

Fazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań.

Fazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań. 1 Fazy przetwarzania zapytanie SQL 2 Optymalizacja zapytań część I dekompozycja optymalizacja generacja kodu wyraŝenie algebry relacji plan wykonania kod katalog systemowy statystyki bazy danych wykonanie

Bardziej szczegółowo

Bazy danych Algebra relacji Wykład dla studentów matematyki

Bazy danych Algebra relacji Wykład dla studentów matematyki Bazy danych Algebra relacji Wykład dla studentów matematyki 8 marca 2015 Algebra relacji Model teoretyczny do opisywania semantyki relacyjnych baz danych, zaproponowany przez T. Codda (twórcę koncepcji

Bardziej szczegółowo

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie

Bardziej szczegółowo

Optymalizacja zapytań część I

Optymalizacja zapytań część I Optymalizacja zapytań część I Wykład przygotował: Tadeusz Morzy BD wykład 12 Wykład jest poświęcony problemom wykonywania i optymalizacji zapytań w systemach baz danych. Rozpoczniemy od krótkiego wprowadzenia

Bardziej szczegółowo

RBD Relacyjne Bazy Danych

RBD Relacyjne Bazy Danych Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji

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

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

RBD Relacyjne Bazy Danych Więzy realcji

RBD Relacyjne Bazy Danych Więzy realcji Wykład 8 RBD Relacyjne Bazy Danych Więzy realcji Bazy Danych - A. Dawid 2011 1 Więzy (Constraints) Więzy ograniczenia na związki między poszczególnymi atrybutami w bazie danych. Określają często zakres

Bardziej szczegółowo

Bazy danych wykład drugi. Konrad Zdanowski

Bazy danych wykład drugi. Konrad Zdanowski Algebra relacji - przypomnienie Niech R(A 1,..., A k ) i S(B 1,..., B n ) relacje. Podstawowe operacje na relacjach: operacje teoriomnogościowe: suma R S, iloczyn R S, różnica R \ S, iloczyn kartezjański

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

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 wykład ósmy Indeksy

Bazy danych wykład ósmy Indeksy Bazy danych wykład ósmy Indeksy Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy Wyszyńskiego, danych wykład Warszawa) ósmy Indeksy

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

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 wykład trzeci. Konrad Zdanowski

Bazy danych wykład trzeci. Konrad Zdanowski SQL - przypomnienie Podstawowa forma kwerendy SQL: select A1,..., Ak from R1,..., Rn where ; Odpowiada jej w algebrze relacji operacja π A1,...,Ak (σ (R1 Rn)) SQL semantyka select R.

Bardziej szczegółowo

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

Bazy danych 11. Algorytmy złaczeń. P. F. Góra

Bazy danych 11. Algorytmy złaczeń. P. F. Góra Bazy danych 11. Algorytmy złaczeń P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Typy złaczeń SELECT... FROM T 1 JOIN T 2 ON T 1.k p =T 2.k q JOIN T 3 ON T 2.k r =T 3.k s WHERE...; SELECT... FROM

Bardziej szczegółowo

Optymalizacja poleceń SQL Wprowadzenie

Optymalizacja poleceń SQL Wprowadzenie Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja

Bardziej szczegółowo

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40 Bazy danych wykład trzeci Modelowanie schematu bazy danych Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Modelowanie schematu bazy danych 1 / 40 Outline 1 Zalezności funkcyjne

Bardziej szczegółowo

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

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

Optymalizacja zapytań część II

Optymalizacja zapytań część II Optymalizacja zapytań część II Wykład przygotował: Tadeusz Morzy BD wykład 13 Niniejszy wykład jest kontynuacją wykładu poświęconego problemom wykonywania i optymalizacji zapytań w systemach baz danych.

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

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

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

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

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

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 2013/14. Egzamin. (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany.

Bazy danych 2013/14. Egzamin. (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany. Bazy danych 2013/14. Egzamin Zadanie 1 (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany. (a) Napisz formułę logiki pierwszego rzędu ϕ(x, y) bez kwantyfikatorów,, która definiuje zapytanie

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

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Optymalizacja poleceń SQL Statystyki

Optymalizacja poleceń SQL Statystyki Optymalizacja poleceń SQL Statystyki 1 Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Przechowywane w słowniku danych. Używane przez optymalizator do oszacowania: selektywności

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

2011-01-20 PLAN WYKŁADU BAZY DANYCH ETAPY PRZETWARZANIA ZAPYTANIA OPTYMALIZACJA ZAPYTAŃ

2011-01-20 PLAN WYKŁADU BAZY DANYCH ETAPY PRZETWARZANIA ZAPYTANIA OPTYMALIZACJA ZAPYTAŃ PLAN WYKŁADU BAZY DANYCH Wykład 11 dr inż. Agnieszka Bołtuć Pojęcie optymalizacji Etapy wykonywania zapytania Etapy optymalizacji Rodzaje optymalizacji Reguły transformacji Procedury implementacyjne Koszty

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora

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

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

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2) Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.

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

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie Wykład 6 Algebraiczne podstawy implementacji strukturalnego języka zapytań (SQL) w systemach baz danych Oracle zapytania w języku algebry relacyjnych baz danych i ich odpowiedniki w SQL Rozpatrzymy bardzo

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

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski : idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Relacyjny model danych Wykład przygotował: Robert Wrembel BD wykład 2 (1) 1 Plan wykładu Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe BD wykład 2 (2) W ramach drugiego

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked

Bardziej szczegółowo

System plików warstwa fizyczna

System plików warstwa fizyczna System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka

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

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

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Spis treści. Przedmowa

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

Bardziej szczegółowo

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji BAZY DANYCH WYKŁAD 5 Normalizacja relacji. Zapytania zagnieżdżone cd. Wady redundancji Konieczność utrzymania spójności kopii, Marnowanie miejsca, Anomalie. (Wybrane materiały) Dr inż. E. Busłowska Copyright

Bardziej szczegółowo

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA

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

Optymalizacja zapytań

Optymalizacja zapytań Optymalizacja zapytań Charakterystyka środowiska relacyjnej bazy danych 1. Złożone zapytania zawierające wiele elementarnych operacji relacyjnych: selekcji, projekcji, połączenia, porządkowania, itd. select

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

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład Data Mining Wykład 5 Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny Indeks Gini Popularnym kryterium podziału, stosowanym w wielu produktach komercyjnych, jest indeks Gini Algorytm SPRINT

Bardziej szczegółowo

RACHUNEK PRAWDOPODOBIEŃSTWA - POJĘCIA WSTĘPNE MATERIAŁY POMOCNICZE - TEORIA

RACHUNEK PRAWDOPODOBIEŃSTWA - POJĘCIA WSTĘPNE MATERIAŁY POMOCNICZE - TEORIA Wydział: WiLiŚ, Transport, sem.2 dr Jolanta Dymkowska RACHUNEK PRAWDOPODOBIEŃSTWA - POJĘCIA WSTĘPNE MATERIAŁY POMOCNICZE - TEORIA Przestrzeń probabilistyczna Modelem matematycznym (tj. teoretycznym, wyidealizowanym,

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 6/15 Statystyki w języku SQL W różnych produktach SQL spotkamy rozmaite funkcje wbudowane ułatwiające analizy

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Temat: Algorytm kompresji plików metodą Huffmana

Temat: Algorytm kompresji plików metodą Huffmana Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

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

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

Jak wybrać kredyt? Waldemar Wyka Instytut Matematyki Politechniki Łódzkiej. 22 listopada 2014

Jak wybrać kredyt? Waldemar Wyka Instytut Matematyki Politechniki Łódzkiej. 22 listopada 2014 Waldemar Wyka Instytut Matematyki Politechniki Łódzkiej 22 listopada 2014 Plan prezentacji 1 Powtórzenie 2 3 Plany spłaty długu - stałe raty Plany spłaty długu - stałe raty kapitałowe Plany spłaty długu

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

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19 Bazy danych wykład trzeci Przekształcenie modelu ER na model relacyjny Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Przekształcenie modelu ER na model relacyjny 1 / 19 Przekształcanie

Bardziej szczegółowo

Wykład 5 Fizyczne projektowanie bazy danych (Paul Beynon-Davies, Systemy baz danych )

Wykład 5 Fizyczne projektowanie bazy danych (Paul Beynon-Davies, Systemy baz danych ) Zawartość wykładu: Wykład 5 Fizyczne projektowanie bazy danych (Paul Beynon-Davies, Systemy baz danych ) 1) Logiczne projektowanie bazy danych 2) Fizyczne projektowanie bazy danych 3) Zdefiniowanie wydajności

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Optymalizacja Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN PLAN, dyrektywa AUTOTRACE, wybór

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca

Bardziej szczegółowo

Programowanie Współbieżne. Algorytmy

Programowanie Współbieżne. Algorytmy Programowanie Współbieżne Algorytmy Sortowanie przez scalanie (mergesort) Algorytm :. JEŚLI jesteś rootem TO: pobierz/wczytaj tablice do posortowania JEŚLI_NIE to pobierz tablicę do posortowania od rodzica

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 egzamin poprawkowy, 2012 rozwiazania

Bazy Danych egzamin poprawkowy, 2012 rozwiazania Bazy Danych egzamin poprawkowy, 2012 rozwiazania 1 Zadania 1. (20p) Stwórz diagram ER dla następującego opisu bazy danych. W szczególności oznacz słabe encje, klucze, rodzaje związków (czy wiele do jednego,

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

Stosowanie indeksów ma swoje korzyści, ale bywa również kosztowne.

Stosowanie indeksów ma swoje korzyści, ale bywa również kosztowne. INDEKSY Indeks to plik (o rozszerzeniu sas7bndx) powiązany ze zbiorem, który pozwala na bezpośredni dostęp do obserwacji. Przechowuje wartości obserwacji w porządku rosnącym oraz położenie obserwacji w

Bardziej szczegółowo

1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram

1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram 1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram obejmujący dwie transakcje T1 i T2 jest szeregowalny i

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

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3 Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna

Bardziej szczegółowo

Style programowania - krótki przeglad

Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Stosy, kolejki, drzewa Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. VII Jesień 2013 1 / 25 Listy Lista jest uporządkowanym zbiorem elementów. W Pythonie

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

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 6a: Model danych oparty na zbiorach http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Model danych oparty na zbiorach

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

Struktury danych i optymalizacja

Struktury danych i optymalizacja Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2005/06 Plan wykładu Ewolucja

Bardziej szczegółowo

OLAP i hurtownie danych c.d.

OLAP i hurtownie danych c.d. OLAP i hurtownie danych c.d. Przypomnienie OLAP -narzędzia analizy danych Hurtownie danych -duże bazy danych zorientowane tematycznie, nieulotne, zmienne w czasie, wspierjące procesy podejmowania decyzji

Bardziej szczegółowo