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

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

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego. Plan wykładu Spis treści 1 Optymalizacja 1 1.1 Etapy optymalizacji............................... 3 1.2 Transformacja zapytania............................ 3 1.3 Przepisywanie zapytań.............................

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

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

Autor: Joanna Karwowska

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

Bardziej szczegółowo

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

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

Podstawy języka SQL cz. 2

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

Bardziej szczegółowo

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

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

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

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

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

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

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

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

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr letni 2006/07 Plan wykładu Systemy baz

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

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta.

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta. Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta. Więzy integralności a algebra relacji. Wielozbiory dlaczego są praktyczniejsze od zbirów,

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

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

3. Podzapytania, łączenie tabel i zapytań

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

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

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

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji

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

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

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

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 6. Podzapytania i grupowanie. P. F. Góra

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

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI CELE PROJEKTU Transformacja dowolnej bazy danych w min. 3 postaci normalnej do postaci Asocjacyjnej Grafowej

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

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

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

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

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

- 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

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

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

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

Wykład 6. SQL praca z tabelami 3

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

Bardziej szczegółowo

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

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

System plików warstwa fizyczna

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

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

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

Autor: Joanna Karwowska

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

Bardziej szczegółowo

Zadanie 2: Arytmetyka symboli

Zadanie 2: Arytmetyka symboli 1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie

Bardziej szczegółowo

Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1.

Fazy przetwarzania polecenia SQL. Faza parsingu (2) Faza parsingu (1) Optymalizacja poleceń SQL Część 1. Fazy przetwarzania polecenia SQL Optymalizacja poleceń SQL Część 1. Fazy przetwarzania polecenia SQL, pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN

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

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

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 7a 2 Modele danych: relacyjne bazy danych Relacje binarne: podstawowe własności Operacje dla zbiorów w

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

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 9 2 Modele danych: relacyjne bazy danych Relacje binarne: podstawowe własności Operacje dla zbiorów w

Bardziej szczegółowo

PODZAPYTANIE (SUBSELECT)

PODZAPYTANIE (SUBSELECT) 2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone

Bardziej szczegółowo

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

Wykład 1: Wskaźniki i zmienne dynamiczne

Wykład 1: Wskaźniki i zmienne dynamiczne Programowanie obiektowe Wykład 1: Wskaźniki i zmienne dynamiczne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Podstawy programowania w C++ Wskaźniki 2 dr Artur Bartoszewski - Programowanie

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

Wymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących.

Wymagania: Konstrukcja prostych zapytań w języku SQL, umiejętność wykorzystania funkcji wierszowych i agregujących. Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania podzapytań ń w zapytaniach języka ę SQL. Podzapytania są ą konstrukcjami, pozwalającymi na wykonywanie zapytań w stylu podaj nazwisko

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

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

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

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

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

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

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

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

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

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