Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD
|
|
- Eleonora Urszula Kurek
- 8 lat temu
- Przeglądów:
Transkrypt
1 Optymalizacja zapytań Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD
2 Elementy optymalizacji Analiza zapytania i przekształcenie go do lepszej postaci. Oszacowanie kosztu różnych opcji wykonania zapytania: informacje (statystyki) służące do szacowania kosztu; metody wykonania selekcji; metody złączeń; metody eliminacji duplikatów i sortowania Analizowanie i modyfikowanie planu wykonania zapytania.
3 Przekształcanie wyrażeń algebry relacji SELECT K.prow FROM Student S, Ocena O, Kurs K WHERE S.indeks=O.indeks AND O.przed=K.przed AND O.ocena>=K.ocenaKwal AND S.nazwisko="Abacki
4 Przekształcanie wyrażeń algebry relacji S1 = π indeks (S)) indeks (σ nazwisko="abacki (S)) O1 = π indeks,ocena,przed (Ocena) K1 = π prow,ocenakwal,przed (Kurs) SO = π ocena,przed (S1 >< O1) SOK = π prow (σ ocena>=ocenakwal (SO >< K))
5 Przekształcanie wyrażeń algebry relacji Wykonaj jak najwcześniej operacje selekcji (przemienność selekcji z innymi operacjami). Połącz iloczyn kartezjański z następującą po nim selekcją w złączenie (o ile to możliwe). Zastosuj łączność operacji złączenia tak, by wykonać złączenia w jak najbardziej ekonomicznej kolejności (algorytm dynamiczny wyznaczania optymalnej kolejności rozstawienia nawiasów). Wykonaj jak najwcześniej operacje rzutu. Wydziel wspólne podwyrażenia i obliczaj je tylko raz.
6 Statystyki i szacowanie kosztu Statystyki dla relacji R: ntuples(r) liczba krotek relacji R, bfactor(r) liczba krotek relacji mieszczących się w jednym bloku dyskowym, nblocks(r) liczba bloków, w których jest przechowywana relacja R. Statystyki dla atrybutu A relacji R: ndistinct A (R) liczba różnych wartości A w R, min A (R), max A (R) minimalna i maksymalna wartość A w R, SC A (R) selektywność A w R, czyli średnia liczba krotek spełniających warunek równości dla A. Statystyki dla indeksu I według atrybutu A: nlevels A (I) - liczba poziomów I (jeśli jest drzewem), nlfblocks A (I) - liczba bloków-liści w drzewie.
7 Statystyki i szacowanie kosztu Przyjmuje się SC A (R) = { 1 iff A klucz; ntuples(r)/ndistinct A (R) wpp } Dla innych warunków także można określić selektywność: ntuples(r)* ((max A (R)-c)/(max A (R)-min A (R))) dla warunku A>c ntuples(r)* ((c-min A (R))/(max A (R)-min A (R))) dla warunku A<c ntuples(r)*n/ndistinct A (R) dla warunku A in {c 1,c 2,...,c n } SC A (R)*SC B (R) dla warunku (A AND B) SC A (R)+SC B (R)- SC A (R)*SC B (R) dla warunku (A OR B) W przypadku gdy w systemie znajdują się histogramy dla wartości atrybutu, powyższe szacowania mogą być dokładniejsze
8 Sposoby wykonania selekcji σ w(a) (R), w(a) - warunek na A skanowanie całej relacji - nblocks(r), wybranie wszystkich krotek relacji za pomocą indeksu (np. dla relacji pamiętanej w klastrze)- ntuples(r)+nlevels A (I) wykorzystanie indeksu grupującego dla A - SC (R)/bFactor(R)+nLevels A (I), wykorzystanie indeksu niegrupującego dla A - SC w(a) (R)+nLevels A (I) SC w(a) SC w(a)
9 Wybór warunku do selekcji σ F1 AND... AND Fn (R), F 1,...,F n - proste warunki Dla każdego F i (1 <= i <= n) szacujemy koszt c i wykonania selekcji σ Fi. Wybieramy i, dla którego szacunkowy koszt był minimalny, i wybieramy (za pomocą indeksu lub bez) krotki spełniające warunek F i, przy okazji sprawdzając, czy spełniają pozostałe warunki selekcji F j (j<>i).
10 Wybór warunku do selekcji - przykład σ A=2 AND B>950 AND C=5 A=2 AND B>950 AND C=5 (R), dla R=ABCD R jest zapisana samodzielnie w nblocks(r)=1000 blokach dyskowych, ma krotek, po 50 w jednym bloku; koszt skanowania = 1000; R ma indeks niegrupujący dla A i ndistinct A (R)=10; koszt wyszukania wg A = 50000/10 = 5000; R ma indeks grupujący dla B i ndistinct B (R)=1000, min B (R)=1, max B (R)=1000; koszt wyszukania wg B = 50000*(50/1000)*(1/50) = 50; Dla C i D nie ma indeksów.
11 Obliczanie złączeń Szacunkowy rozmiar złączenia: R >< S, dla R = AB i S = BC wynosi: ndistinct B (?)* (ntuples(r)/ndistinct B (R)*nTuples(S)/nDistinct B (S)) = = ntuples(r)*ntuples(s)/ndistinct B (R), przy założeniu, że rozkład wartości B w R i S jest jednostajny.
12 Zagnieżdżone pętle po blokach for next M-2 blocks br 1,br 2,...,br M-2 in R do for each block bs in S do for i=1,..,m-1 return br i >< bs; Szacunkowy koszt czytania: nblocks(r) + (nblocks(r)/(m-2))*nblocks(s) zapisu wyniku (zawsze taki sam): nblocks(r)*nblocks(s)/ndistinct B (R)
13 Złączenia z wykorzystaniem indeksu: // 1. S ma indeks grupujący I wg. B for each t in R do search sx={s in S: s.b = t.b by I}; return sx >< {t}; // nblocks(r)+ ntuples(r)*(nlevels B (S)+nBlocks(S)/nDistinct B (S)) // 2. S ma ind. grup.(i1), R ma ind. niegrup. I1, I2 wg. B for each value x in I1 do search sx = {s in S: s.b = x by I1}; search tx = {t in R: t.b = x by I2}; return sx >< tx; // ndistinct B (S)*(nLevels B (I1)+nBlocks(S)/nDistinct B (S)+ nlevels B (I2)*nTuples(R)/nDistinct B (R))
14 Sort-Merge Join Sort(R wg B) // 2*nBlocks(R)* (log M-1 (nblocks(r)/(m-1)+1) Sort(S wg B) // 2*Blocks(S)* (log M-1 (nblocks(s)/(m-1)+1) Merge(R,S wg B) // nblocks(r)+nblocks(s) Sortowanie: w pierwszym przebiegu sortujemy serie złożone z M-1 bloków; potem log M-1 (nblocks(r)/(m-1) razy scalamy po M-1 uporządkowanych serii najpierw długości M-1, potem (M-1) 2, potem (M-1) 3 itd.
15 Hash-join // h - funkcja haszująca dla B przyjmująca wartości 1,...,M-1 Hash(R wg h(b)) into R 1,R 2,...,R M-1 // 2*nBlocks(R) Hash(S wg h(b)) into S 1,S 2,...,S M-1 // 2*nBlocks(S) // h' - funkcja haszująca dla B niezależna od h przyjmująca także wartości 1,...,M-1 for i=1,...,m-1 do Hash(R i wg h'(b)) into A 1,A 2,...,A M-1 // nblocks(r i )+M-1 Hash(S i wg h'(b)) into B 1,B 2,...,B M-1 // nblocks(s i ) for j=1,...,m-1 return Aj >< Bj; // M-1 // razem koszt: 3*(nBlocks(R)+nBlocks(S))+(2..4)*M
16 Sortowanie, grupowanie i eliminacja powtórzeń Operacje grupowania i eliminacji powtórzeń można wykonać poprzez sortowanie (M-1-krotny merge-sort, czyli multiway Merge-Sort) lub poprzez haszowanie połączone z sortowanie kubełków w pamięci.
17 Porównanie metod złączenia - przykład P - pracownik (klucz: id) ntuples(p) = 6000 bfactor(p) = 30 nblocks(p) = 200 ndistinct id (P) = 6000 ma indeks niegrupujący po id wys.3 Z - zlecenie (zawiera id pracownika) ntuples(z) = bfactor(z) = 50 nblocks(z) = 2000 ndistinct id (Z) = 16 M = 100 Pętle po blokach (P zewnętrzna): 200+(200/98)*2000=4281 Pętle po blokach (Z - zewnętrzna): 2000+(2000/98)*200=6081 Pętla z indeksem niegrupującym: *3=8000 Sort-Join: 2*200*(log 99 (200/99)+1) + 2*2000*((log 99 (2000/99)+1)) *200*2+2*2000* =( )=11000 Hash-Join: 3*( )+3*100=6900
18 Statystyki w SZBD Statystyki tabel, atrybutów i indeksów są najczęściej aktualizowane: co pewien czas lub przy okazji operacji przeglądających relację (np. budowa indeksu) lub na wyraźne życzenie użytkownika (np. polecenia z pakietu DBMS_STATS w Oracle). Oprócz podanych wcześniej, system może budować histogramy wartości atrybutów pozwalające trafnie oceniać koszt operacji nawet przy niejednostajnym rozkładzie wartości.
19 Plan wykonania EXPLAIN [ANALYZE] <zapytanie SQL> kolejność i metody wykonywania złączeń (NESTED LOOPS, HASH-JOIN, SORT-JOIN, INDEX NESTED LOOPS), warunek selekcji i ewentualnie użyty dla niego indeks (np. INDEX SCAN USING <atrybut> ON <relacja> lub FULL SCAN) końcowe sortowanie, grupowanie lub haszowanie w celu uporządkowania lub pogrupowania wyniku. szacunkowy czas wykonania poszczególnych operacji (jeżeli użyto ANALYZE, to zapytanie jest wykonywane) szacunkowy rozmiar wyniku operacji
20 Wskazówki (hints) Specjalne komentarze zamieszczane przy zapytaniu wskazujące, jakiej metody obliczania ma użyć system. W komentarzu tym można zapisać: jakiego optymalizatora ma użyć system (np. w Oracle można wybrać oparty na kosztach lub rankingu operacji), jakiego indeksu użyć przy obliczaniu selekcji, w jakiej kolejności wykonać złączenia, jakiego algorytmu złączenia użyć. Np. SELECT /*+ INDEX(wgMiasta)*/ nazwisko FROM Student WHERE miasto="chełm"
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ółowoOptymalizacja 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ółowoOptymalizacja poleceń SQL
Optymalizacja poleceń SQL Przetwarzanie polecenia SQL użytkownik polecenie PARSER słownik REGUŁOWY RBO plan zapytania RODZAJ OPTYMALIZATORA? GENERATOR KROTEK plan wykonania statystyki KOSZTOWY CBO plan
Bardziej szczegółowoBazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36
Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów
Bardziej szczegółowoTeoretyczne 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ółowoOptymalizacja 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ółowoBazy 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ółowoBAZY 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ółowoAutor: 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ółowoOptymalizacja 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ółowoOptymalizacja 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ółowoOptymalizacja. 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ółowoStatystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.
Statystyki (1) Informacje, opisujące dane i struktury obiektów bazy danych. Optymalizacja poleceń SQL Część 2. Statystyki i histogramy, metody dostępu do danych Przechowywane w słowniku danych. Używane
Bardziej szczegółowoTechnologie 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ółowoOptymalizacja poleceń SQL
Optymalizacja poleceń SQL Optymalizacja kosztowa i regułowa, dyrektywa AUTOTRACE w SQL*Plus, statystyki i histogramy, metody dostępu i sortowania, indeksy typu B* drzewo, indeksy bitmapowe i funkcyjne,
Bardziej szczegółowoFazy 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ółowoBazy 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ółowo2011-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ółowoJęzyk SQL Złączenia. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowo1 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ółowoSQL SERVER 2012 i nie tylko:
SQL SERVER 2012 i nie tylko: Wstęp do planów zapytań Cezary Ołtuszyk coltuszyk.wordpress.com Kilka słów o mnie Starszy Administrator Baz Danych w firmie BEST S.A. (Bazy danych > 1TB) Konsultant z zakresu
Bardziej szczegółowoSZKOLENIE: Administrator baz danych. Cel szkolenia
SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.
Bardziej szczegółowo3. 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ółowoModel 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ółowoPrzestrzenne 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ółowoBazy 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ółowoPODSTAWY BAZ DANYCH. 15. Optymalizacja zapytań. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 15. Optymalizacja zapytań 1 Optymalizacja zapytań - Przykład Mamy następujące relacje: Dostawcy Id Nazwisko Imie 1 Kowalski Jan 2 Nowak Anna 3 Norek Tadeusz Dostawy Id_dostawcy Data
Bardziej szczegółowo1 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ółowoBazy 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ółowoCwiczenie 4. Połączenia, struktury dodatkowe
Cwiczenie 4. Połączenia, struktury dodatkowe Optymalizacja poleceń SQL 1 W niniejszym ćwiczeniu przyjrzymy się, w jaki sposób realizowane są operacje połączeń w poleceniach SQL. Poznamy również dodatkowe
Bardziej szczegółowo- 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ółowoRBD 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ółowoCel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania
Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu
Bardziej szczegółowoFazy 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ółowoAdministracja 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"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz
"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie Krzysztof Jankiewicz Plan Opis schematu dla "kilku słów" Postać polecenia SQL Sposoby dostępu do tabel Indeksy B*-drzewo Indeksy
Bardziej szczegółowoJęzyk SQL. Rozdział 5. Połączenia i operatory zbiorowe
Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia
Bardziej szczegółowoOptymalizacja wydajności SZBD
Optymalizacja wydajności SZBD 1. Optymalizacja wydajności systemu bazodanowego Wydajność SZBD określana jest najczęściej za pomocą następujących parametrów: liczby operacji przeprowadzanych na sekundę,
Bardziej szczegółowoKonstruowanie 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ółowoWykł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ółowoWprowadzenie 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ółowoOptymalizacja 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ółowoPodstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1
Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język
Bardziej szczegółowoPolitechnika Poznańska TWO
Politechnika Poznańska TWO Data: 2009-11-24 Nr Lab.: I Prowadzący: dr inż. Szymon Wilk Mateusz Jancy Joanna Splitter Zadanie: DZIELENIE RELACYJNE Rok: I Grupa: B Semestr: I Ocena: Cel zadania: Wykonać
Bardziej szczegółowoJęzyk SQL. Rozdział 2. Proste zapytania
Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na
Bardziej szczegółowoWstę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ółowoHurtownie 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ółowoOptymalizacja 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ółowoGrupowanie i funkcje agregacji
Grupowanie i funkcje agregacji Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula GROUP BY Grupowanie polega
Bardziej szczegółowo060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła
060 SQL FIZYCZNA STRUKTURA BAZY DANYCH Prof. dr hab. Marek Wisła Struktura tabeli Data dane LOB - Large Objects (bitmapy, teksty) Row-Overflow zawiera dane typu varchar, varbinary http://msdn.microsoft.com/en-us/library/ms189051(v=sql.105).aspx
Bardziej szczegółowoĆ wiczenie 3. Statystyki, wskazó wki
Optymalizacja poleceń SQL 1 Ć wiczenie 3. Statystyki, wskazó wki W niniejszym ćwiczeniu zapoznamy się z problematyką zarządzania statystykami oraz stosowaniem wskazówek dla optymalizatora. Podstawowe statystyki
Bardziej szczegółowoModel 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ółowoWstęp do SQL. copyright: KGiIS WGGiOŚ AGH
Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.
Bardziej szczegółowoPodstawy 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ółowoZapytania z ograniczeniem czasowym w Oracle
22 stycznia 2009 Tytuł oryginalny Supporting Time-Constrained Queries in Oracle Ying Hu, Seema Sundara, Jagannathan Srinivasan Oracle New England Development Center VLDB 2007 Materiały żródłowe: referat,
Bardziej szczegółowoOracle11g: 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ółowoRozproszone bazy danych 3
Rozproszone bazy danych 3 Optymalizacja zapytań rozproszonych Laboratorium przygotował: Robert Wrembel ZSBD laboratorium 3 (1) 1 Plan laboratorium Zapytanie rozproszone i jego plan wykonania Narzędzia
Bardziej szczegółowoPodstawowe 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ółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bardziej szczegółowoFizyczna struktura bazy danych w SQL Serwerze
Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze
Bardziej szczegółowoBazy 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ółowoSQL (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ółowoWykł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ółowoGrupowanie i funkcje agregacji. Grupowanie z użyciem rollup
Grupowanie i funkcje agregacji Grupowanie z użyciem rollup Funkcje agregujące: COUNT([DISTINCT] wyrażenie *), MIN(wyrażenie), MAX(wyrażenie), SUM([DISTINCT] wyrażenie), AVG([DISTINCT] wyrażenie). Klauzula
Bardziej szczegółowoIntegralność danych Wersje języka SQL Klauzula SELECT i JOIN
Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności
Bardziej szczegółowoSQL 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ółowoRozpatrzymy 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ółowoJęzyk SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.
Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą
Bardziej szczegółowoWstę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ółowoTEORETYCZNE 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ółowoPerspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.
Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną
Bardziej szczegółowoTEORETYCZNE 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ółowoSQL praca z tabelami 4. Wykład 7
SQL praca z tabelami 4 Wykład 7 1 Funkcje agregujące Informacja poszukiwana w bazie danych często musi być wyliczana na podstawie danych znajdujących się w wielu wierszach tabeli. Tak jest gdy chcemy znać
Bardziej szczegółowoKosztowy optymalizator zapytań
Kosztowy optymalizator zapytań Marek Wojciechowski, Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki marek.wojciechowski@cs.put.poznan.pl maciej.zakrzewicz@cs.put.poznan.pl Streszczenie Praktycznie
Bardziej szczegółowoPodzapytania. 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ółowoProjekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się
Bardziej szczegółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoBazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408
Bazy Danych SQL Podstawy języka III: powtórzenie Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Modyfikacja schematu relacji Utwórz tabelę wg schematu: CREATE TABLE ODDZIAL ( numer_oddzialu
Bardziej szczegółowoPrzykł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ółowoOptymalizacja 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ółowoBazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski
Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 1 Algebra relacyjnych baz danych jako podstawa języka SQL i jego implementacji w systemach baz danych Oracle Bazy danych. Wykład
Bardziej szczegółowoSystemy 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ółowoTadeusz 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ółowoZapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.
Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów. Kontakt: piotr.dziwinski@kik.pcz.pl 2 SQLQuery4_1.sql 3
Bardziej szczegółowoStruktury 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ółowoIndeksowanie w bazach danych
w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy
Bardziej szczegółowoModelowanie 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ółowoPodzapytania. 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ółowoInternetowe Bazy Danych. dr inż. Roman Ptak Katedra Informatyki Technicznej
Internetowe Bazy Danych dr inż. Roman Ptak Katedra Informatyki Technicznej roman.ptak@pwr.edu.pl Plan wykładu 5. Optymalizacja baz danych Struktura fizyczna systemu MS SQL Server Plan wykonania w MS SQL
Bardziej szczegółowoKOLEKCJE - 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ółowoBazy Danych. SQL Podstawy języka II: zapytania. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408
Bazy Danych SQL Podstawy języka II: zapytania Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Konstrukcja select-from-where SQL oparty jest na algebrze relacji z pewnymi modyfikacjami
Bardziej szczegółowoT-SQL w Microsoft SQL Server 2014 i SQL Server 2012
Itzik Ben-Gan Dejan Sarka Adam Machanic Kevin Farlee Zapytania w języku T-SQL w Microsoft SQL Server 2014 i SQL Server 2012 Przekład: Natalia Chounlamany Marek Włodarz APN Promise, Warszawa 2015 Spis treści
Bardziej szczegółowoLaboratorium Bazy danych SQL 2
Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według
Bardziej szczegółowo1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj
Bardziej szczegółowoOperacja Teta-złączenia. v1 v1 Θ v2
Operacja Teta-złączenia Dane są: r(r) tabela r o schemacie R, A R s(s) tabela s o schemacie S, B S R i S nie zawierają tych samych nazw (R S = Ø) Θ {>, =,
Bardziej szczegółowoOptymalizacja poleceń SQL Indeksy
Optymalizacja poleceń SQL Indeksy Indeksy Dodatkowe struktury służące przyspieszaniu dostępu do danych. Tworzone dla relacji, są jednak niezależne logicznie i fizycznie od danych relacji. O użyciu indeksu
Bardziej szczegółowoBazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania
Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami
Bardziej szczegółowoSQL Structured Query Language
SQL Structured Query Language stworzony na początku lat 70 ubiegłego wieku w IBM przez Donalda Messerly'ego, Donalda Chamberlina oraz Raymonda Boyce'a pod nazwą SEQUEL pierwszy SZBD System R utworzony
Bardziej szczegółowo