Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania

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

Download "Bazy danych. Plan wykładu. Przetwarzanie zapyta. Etapy przetwarzania zapytania. Wykład 12: Optymalizacja zapyta. Etapy przetwarzanie zapytania"

Transkrypt

1 Plan wykładu Bazy danych Wykład 12: Optymalizacja zapyta Etapy przetwarzanie zapytania Implementacja wyrae algebry relacji Reguły heurystyczne optymalizacji zapyta Kosztowa optymalizacja zapyta Małgorzata Krtowska Katedra Oprogramowania Bazy danych (studia dzienne) 2 Przetwarzanie zapyta Etapy przetwarzania zapytania Zapytanie wyraone w wysokopoziomowym jzyku zapyta, takim jak SQL, musi najpierw zosta odczytane, poddane analizie składniowej i zweryfikowane. Czytnik (ang. Scanner) - identyfikuje elementy jzyka (słowa kluczowe SQL, nazwy atrybutów, nazwy relacji ) w tekcie zapytania Analizator składniowy (ang. Parser) - sprawdza składni zapytania w celu okrelenia czy sformułowano je zgodnie z regułami gramatyki jzyka zapyta. Drzewo zapytania - wewntrzna reprezentacja zapytania, w postaci drzewiastej struktury Strategia wykonania zapytania - okrelana jest przez SZBD i okrela strategi pobrania wyników zapytania z plików bazy danych. Proces wyboru najlepszej strategii okrela si mianem optymalizacji zapytania. Zapytanie w jzyku wysokiego poziomu ODCZYT, ANALIZA SKŁADNIOWA I WERYFIKACJA Zapytanie w postaci poredniej OPTYMALIZATOR ZAPYTA Plan wykonania GENERATOR KODU ZAPYTA Kod wykonania zapytania WYKONAWCZY PROCESOR BAZY DANYCH Wynik zapytania Bazy danych (studia dzienne) 3 Bazy danych (studia dzienne) 4

2 Strategie optymalizacji zapyta Reguły heurystyczne - sprawdzaj si z wikszoci sytuacji, ale nie gwarantuj poprawnego działania w kadym przypadku Reguły z systematycznym szacowaniem - szacowany jest koszt róznych strategii wykonania zapytania. Wybierany jest plan o najniszym szacowanym koszcie. Translacja zapyta jzyka SQL do postaci wyrae algebry relacji Zapytanie jzyka SQL jest tłumaczone na równowane mu wyraenie algebry relacji - reprezentowane jako struktura danych drzewa zapytania - które podlega optymalizacji. Zapytanai SQl s rozkładane na bloki zapytania, które stanowi podstawow jednostke, jaka moe by tłumaczona na operatory algebraiczne i optymalizowana Blok zapytania stanowi pojedyncze wyraenie SELECT- FROM- WHERE, jak równie klauzule GROUP BY I HAVING. Wyraenia algebry relacji: operacje teoriomnogosciowe (suma, przecicie, róznica) rzutowanie (projekcja) Π selekcja σ złczenie agregacja (zastosowanie funkcji agregujcych) I Bazy danych (studia dzienne) 5 Bazy danych (studia dzienne) 6 Przykład Algorytmy sortowania zewntrznego Select ename, no from where sal > (select ma(sal) from where deptno=5) Blok wewntrzny ma posta: select ma(sal) from where deptno=5 Zapis w postaci wyraenia algebry relacji: I ma sal (σ deptno=5 ()) Blok zewntrzny ma posta: Select ename, no from where sal > C Zapis w postaci wyraenia algebry relacji:, no (σ sal>c ()) Bazy danych (studia dzienne) 7 Jedne z najwaniejszych algorytmów uywanych w czasie przetwarzania zapyta, wykorzystywany wówczas gdy zapytanie zawiera klauzul order by opcj distinct w klauzuli select przy złczaniu tabel sortowanie mona unikn, jeeli istnieje odpowiedni indeks, umoliwiajcy uzyskanie uporzdkowanego dostpu do rekordów Sortowanie zewntrzne odnosi si do algorytmów sortowania odpowiednich dla duych plików rekordów składowanych na dysku, które nie mieszcz si w pamici głównej Bazy danych (studia dzienne) 8

3 Algorytmy sortowania zewntrznego Implementacja operacji SELECT Typowy algorytm sortowanie zewntrznego wykorzystuje strategi sortujcoscalajc: Faza sortowania: jednostki pliku, które mieszcz si w dostpnej przestrzeni bufora, s wczytywane do pamici, sortowane przy uyciu algorytmu sortowania wewntrznego i zapisywane z powrotem na dysku jako tymczasowe posortowane podpliki. Liczba jednostek pocztkowych n r zaley od liczby bloków pliku (b) oraz dostpnej przestrzeni bufora n B : n R =ceil (b/n B ). Faza scalania: posortowane jednostki s scalane w czasie jednego lub wikszej liczby przebiegów. Stopie scalenia d M jest liczb jednostek, które mona scali w kadym przebiegu. W kadym przebiegu potrzebny jest jest jeden blok bufora w celu przechowywania jednego bloku z kadej ze scalanych jednostek i jeden blok do przechowywania kadego bloku wyniku scalenia. d M jest mniejsz sposród wartoci (n B -1) i n R ; liczba przebiegów wynosi ceil(log dm (n R )). Liczba operacji dostpu do bloków: (2*b)+(2*(b*log dm n R )) Metody wyszukiwania w przypadku prostych operacji wybierania σ deptno=5 () ; σ no>3 () algorytmy te mona podzieli na tzw. przegldy plików (przegldaj rekordy w pliku w celu wyszukania i pobrania odpowiednich rekordów) oraz przegldy indeksu (wyszukiwania uwzgldniajce uycie indeksu). wyszukiwanie liniowe- pobieramy kady rekord z pliku i sprawdzamy, czy warto jego atrybutu spełnia warunek wyboru wyszukiwanie binarne - warunek wyboru zawiera porównanie równowartociowe na atrybucie klucza, wzgldem którego uporzdkowany jest plik uycie indeksu głównego (lub klucza haszujcego) jeei warunek zawiera porównanie równowartociowe na atrybucie klucza z indeksem głównym warunek ten powoduje wybranie najwyej jednego rekordu Bazy danych (studia dzienne) 9 Bazy danych (studia dzienne) 10 Implementacja operacji SELECT Implementacja operacji SELECT uycie indeksu głównego w celu pobrania wielu rekordów warunek porównania jest >,>=,< lub <= na polu klucza z indeksem gównym uywamy indeksu w celu znalezienia rekord spełniajcego odpowiedni warunek, a nastpnie pobieramy wszystkie kolejne rekordy z uporzdkowanego pliku uycie indeksu drugorzdnego (B + -drzewa) na porównaniu równociowym - metoda moe by uyta w celu pobrania pojedynczego rekordu, jeeli pole indeksujce jest kluczem lub w celu pobrania wielu rekordów, jeeli pole indeksujce nie jest kluczem. Mona jej uywa w przypadku porówna uwzgldniajcych relacje >; >=;<; <=. Bazy danych (studia dzienne) 11 Metody wyszukiwania w przypadku złoonych operacji wyboru σ deptno=5 and ename= C% () Wybór koniunktywny przy uyciu pojedynczego indeksu - jeeli atrybut zwizany z dowolnym pojedynczym warunkiem prostym jest kluczem,moemy uy jednej z metod dla prostych operacji wybierania, a nastpnie sprawdzamy, czy kady pobrany rekord spełnia pozostałe warunki proste. Wybór koniunktywny przy uyciu indeksu złoonego - jeeli warunki równoci dotycz dwóch lub wicej atrybutów i na połczonych polach istnieje indeks złoony moemy bezporednio uy takiego indeksu Wybór koniunktywny poprzez przecicie zbiorów wskaników na rekordy jeeli na wicej ni jednym polu zwizanym z warunkami prostymi istniej indeksy drugorzdne oraz jeeli indeksy zawieraj wskaniki na rekody wówczas kady indeks moe zosta uyty w celu pobrania zbioru wskaników rekordów, które spełniaj pojedyncze warunki. Przecicie tych zbiorów daje w wyniku wskaniki rekordów spełniajce warunek koniunktywny. Jeeli tylko niektóre warunki posiadaj odpowiednie indeksy, wówczas kady pobrany rekord jest dodatkowo sprawdzany w celu okrelenia czy spełnia pozostałe warunki. Bazy danych (studia dzienne) 12

4 Implementacja operacji SELECT σ deptno=5 or ename= C% () alternatywy logicznej stanowi sum teoriomnogociow rekordów spełniajacych poszczególne warunki std niewielkie pole manewru w zakresie optymalizacji jeeli który z warunków nie posiada indeksu naley wykorzysta wyszukiwanie liniowe tylko wówczas gdy indeks istnieje na kadym warunku mona zoptymalizowa wybór, pobiarajc rekordy spełniajce kady z warunków a nastpnie zastosowa operacj sumy teoriomnogociowej w celu wyeliminowania duplikatów Bazy danych (studia dzienne) 13 Implementacja operacji NATURAL JOIN R A=B S np. depno=deptno dept Złczenie ptli zagniedonych - dla kadego rekordu t w pliku R (ptla zewntrzna) pobieramy kady rekord s z pliku S (ptla wewntrzna) i sprawdzamy, czy oba rekordy spełniaj warunek złczenia Złczenie z ptl pojedyncz - jeeli na jednym z atrybutów podlegajacych złczeniu - np. B w pliku S - istnieje indeks pobieramy kady rekord t z pliku R, po jednym naraz, a nastpnie uywamy struktury dostpowej w celu bezporedniego pobrania wszystkich pasujcych rekordów s z pliku S, spełniajacych warunek złczenia. Złczenie sortujco - scalajce jeeli rekordy plików R i S s uporzdkowane według wartoci atrbutów złczenia -> implementacja złczenia najwydajniejsza; oba pliki s przegladane w kolejnoci atrybutów złczenia i dopasowujemy rekordy majce odpowiednio takie same wartoci atrybutów złczenia jeeli rekordy nie s posortowane mona tego dokona przy uyciu sortowania zewntrznego. Bazy danych (studia dzienne) 14 Algorytmy operacji rzutowania Π <lista atrybutów> (R) Prosty do implementacji,jeeli lista atrybutów zawiera klucz relacji R -> wynik operacji ma t sam liczb krotek co relacji R, ale zawiera w kadej krotce tylko wartoci atrybutów nalecych do listy. Jeeli lista atrybutów nie zawiera klucza relacji R, naley wyeliminowa duplikaty -> dokonuje si tego zwykle przez posortowanie wyniku operacji, a nastpnie usunicie duplikatów krotek, które wystpuj teraz obok siebie Algorytmy operacji teoriomnogociowych iloczyn kartezjaski - operacja kosztowna, std istotn rzecz jest jej unikanie poprzez zastpowanie jest równowanymi operacjami w czasie optymalizacji suma, przecicie, rónica technika sortujco-mieszajca - dwie relacje zostaj posortowane wzgldem tych samych atrybutów i jednokrotne przejrzenie kadej z nich wystarczy do utworzenia wyniku (np. suma - zachowanie w pliku scalonym tylko tych krotek które wystpuj w obu relacjach) Bazy danych (studia dzienne) 15 Bazy danych (studia dzienne) 16

5 Implementacja operacji agregujcych Implementacja złczenia zewntrznego Select ma(sal) from ; jeeli na atrybucie sal relacji istnieje indeks (rosncy), optymalizator moe zdecydowa o jego uyciu w celu uzyskania najwikszej wartoci. Najwiksza warto bdzie to ostatni wpis indeksu. Count, avg, sum mona uy indeksu, jeeli jest to indeks zagszczony tzn wystpuje w nim wpis dla kadego rekordu z pliku głównego. Indeksu niezagszczonego mona uzytylko dla operacji count distinct. Wówczas odpowiedni obliczenia wykorzystuj tylko wartoci w indeksie. Klauzula GROUP BY operator agregujcy musi by zastosowany oddzielnie dla kadej grupy krotek najpierw tabela musi by podzielona na podgrupy wzgldem atrybutu grupujcego czsto stosowane jest najpierw albo sortowanie albo haszowanie na atrybutach grupujcych. Select no, ename, dname from left join dept on deptno; złczenie zewntrzne mona okreli modyfikujc jeden z algorytmów złczeniowych, takich jak złczenie ptli zagniedonych lub złczenie z ptl pojedyncz: w przypadku operacji left join relacja wystpujca po lewej stronie musi si znale w petli zewntrznej (lub pojedynczej), poniewa kada krotka z tej relacji musi si znale w wyniku jeeli w relacji po prawej stronie nie ma odpowiednich krotek to wartoci uzuepłnia si wartociami null. Bazy danych (studia dzienne) 17 Bazy danych (studia dzienne) 18 Implementacja złczenia zewntrznego Mechanizm potokowy Rozwizanie alternatywne polega na wykonaniu kombinacji algebry relacji: 1. Okrelamy złczenie wewntrzne tabel i dept t1 Π no, ename, dname ( deptno=deptno dept) 2. Znajdujemy w tabeli pracownik krotki, które nie wystepuj w wyniku złczenia wewntrznego t2 Π no, ename () Π no, ename (t1) 3. Uzupełniamy kad krotk polem dname o wartoci null t2 t2 NULL 4. Wykonujemy operacj sumy na t1 i t2 wynik t1 t2 Zapytanie w jzyku SQL jest przekształcane na wyraenie algebry relacji, które jest sekwencj operacji relacyjnych wykonywanie po jednej operacji generuje pliki tymczasowe na dysku, co jest czasochłonne i moe by niepotrzebne, poniewa pliki te s natychmiast wykorzystywane jako dane wejciowe do kolejnej operacji w celu zredukowania liczby plików tymczasowych czsto generuje si kod zapytania, który odpowiada algorytmom łczenia operacji w zapytaniu. Jest to tzw. przetwarzanie potokowe. Bazy danych (studia dzienne) 19 Bazy danych (studia dzienne) 20

6 Reguły heurystyczne optymalizacji zapyta Heurystyczna technika optymalizacji wykorzystuje reguły heurystyczne w celu modyfikowania wewnetrznej reprezentacji zapytania (drzewa zapytania) w celu zwikszenia oczekiwanej wydajnoci działania Przykład Select ename from,, where p_desc= wodnik and.no=.no and.projid=.projid and hiredate> ; Pocztkowe drzewo zapyta: Analizator składniowy najpierw generuje pocztkow reprezentacj wewntrzn, która jest optymalizowana zgodnie z regułami heurystycznymi (np. stosowanie operacji selekcji i projekcji przed operacj złczenia) and.no=.no and.projid=.projid and hiredate> Otrzymujemy kocowe drzewo zapytania a nastpnie generuje si plan wykonania zapytania w celu wykonania grup operacji Bazy danych (studia dzienne) 21 Bazy danych (studia dzienne) 22 Przykład cd Przeniesienie operacji select w dół drzewa Przykład cd Zastosowanie bardziej restrykcyjnej operacji select jako pierwszej σ projid=projid σ no=no σ no=no σ projid=projid Bazy danych (studia dzienne) 23 Bazy danych (studia dzienne) 24

7 Przykład cd Zastpienie iloczynu kartezjaskiego i select operacj join Przykład cd Redukcja liczby atrybutów no=no no=no Π no Π no projid=projid Π projid projid=projid Π projid, no Bazy danych (studia dzienne) 25 Bazy danych (studia dzienne) 26 Wykorzystanie oszacowa kosztu w optymalizacji zapyta Optymalizator zapyta nie powinien polega wyłcznie na regułach heurystycznych, ale równie uwzgldna oszacowania i porównywa koszty wykonania zapytania przy uyciu rónych strategii wykonania, wybierajc strategi o najniszym oszacowanym koszcie. Takie podejcie okrela si mianem kosztowej optymalizacji zapyta i wykorzystuje ono tradycyjne techniki optymalizacji przeszukujace przestrze rozwizania problemu w celu znalezienia rozwizania, które bdzie minimalizowa funkcj kosztu. Składowe kosztu wykonania zapyta Składowe kosztu wykonania zapyta: koszt dostpu do drugorzdnych mechanizmów składowania danych koszt wyszukania, odczytania i zapisania bloków danych przechowywanych na dysku koszt zaley od struktur dostepu utworzonych dla danego pliku: uporzdkowanie, haszowanie, indeksy koszt składowania - koszt przechowywania wszelkich plików porednich generowanych w ramach strategii wykonania zapytania Koszt obliczeniowy - koszt dokonywania oblicze w pamici na buforach danych w czasie wykonywania zapytania np. wyszukiwanie, sortowanie, scalanie rekordów, obliczenia na wartociach pól koszt zuycia pamici - koszt zaleny od liczby buforów pamici potrzebnych w czasie wykonywania zapytania koszt komunikacji - koszt zawizany z przesłaniem zapytania i jego wyników z bazy danych do wzła lub terminalu, z którego zostało przesłane danie Bazy danych (studia dzienne) 27 Bazy danych (studia dzienne) 28

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

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania Definicja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów

Bardziej szczegółowo

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów

Bazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów Plan wykładu Bazy Wykład 11: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

Bardziej szczegółowo

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd

Bazy danych. Plan wykładu. Operacje w algebrze relacji. Pojcie algebry relacji. Wykład 8: Algebra relacji. SQL - cd Plan wykładu Bazy danych Wykład 8: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogociowe rzutowanie selekcja przemianowanie Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do

Bardziej szczegółowo

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL Plan wykładu Bazy danych Wykład 3: Relacyjny model danych. SQL Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - podstawy Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

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

Bardziej szczegółowo

Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów

Bazy danych. Plan wykładu. Klucz wyszukiwania. Pojcie indeksu. Wykład 8: Indeksy. Pojcie indeksu - rodzaje indeksów Plan wykładu Bazy Wykład 8: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl

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

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Plan wykładu Bazy danych Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Proces dobrego projektowania

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B Plan wykáadu Bazy danych Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. Maágorzata Krtowska Wydziaá Informatyki Politechnika Biaáostocka Deficja zale*noci funkcyjnych Klucze relacji Reguáy dotyczce

Bardziej szczegółowo

Bazy danych Podstawy teoretyczne

Bazy danych Podstawy teoretyczne Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one.

Bazy danych. Plan wykáadu. Powtórzenie BCNF i 3NF. Nowa forma redundancji. Wykáad 6: Postaci normalne. SQL - zapytania záo*one. Plan wykáadu Bazy danych Wykáad 6: Postaci normalne. SQL - zapytania záo*one. Maágorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl Zale*noci wielowartociowe Czwarta postaü normalna

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 dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

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

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

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. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Wykład 10: Fizyczna organizacja danych w bazie danych 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ł zarzdzania miejscem na dysku i moduł zarzdzania buforami

Bardziej szczegółowo

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne.

Bazy danych. Plan wykładu. Definicja zalenoci funkcyjnych. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - funkcje Deficja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów

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

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

Przykłady wyrae uywanych w kwerendach i filtrach

Przykłady wyrae uywanych w kwerendach i filtrach Przykłady wyrae uywanych w kwerendach i filtrach Przykłady kryteriów stosowanych przy pobieraniu rekordów Zakresy wartoci (>, =, 234 Dla pola Ilo; wywietla liczby wiksze

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

Gramatyki regularne i automaty skoczone

Gramatyki regularne i automaty skoczone Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja

Bardziej szczegółowo

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Plan wykładu azy danych Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL instrukcja EXISTS DDL DML (insert) Małgorzata Krtowska Katedra

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

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD) Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:

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

stopie szaro ci piksela ( x, y)

stopie szaro ci piksela ( x, y) I. Wstp. Jednym z podstawowych zada analizy obrazu jest segmentacja. Jest to podział obrazu na obszary spełniajce pewne kryterium jednorodnoci. Jedn z najprostszych metod segmentacji obrazu jest progowanie.

Bardziej szczegółowo

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta

Bazy danych SQL. Wstp. SQL (Structured( Query Language) strukturalny jzyk zapyta Wstp (Structured( Query Language) strukturalny jzyk zapyta Podstawowe cechy jzyka : - zapytania wyszukiwanie danych w bazie danych, - operowanie danymi wstawianie, modyfikacja, usuwanie danych z bazy danych,

Bardziej szczegółowo

Optymalizacja poleceń SQL

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

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów. Plan wykładu 2 BAZY DANYCH Wykład 4: Indeksy. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krętowska Wydział Informatyki PB Pojęcie

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

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

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

- 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

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

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty. !"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania

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

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

sprowadza się od razu kilka stron!

sprowadza się od razu kilka stron! Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą

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

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

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

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

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków. Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków. 1. Para najmniej odległych punktów WP: Dany jest n - elementowy zbiór punktów

Bardziej szczegółowo

Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk

Materiały szkoleniowe. Podstawy jzyka SQL. Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk Materiały szkoleniowe Podstawy jzyka SQL Prowadzcy Anna Pijanowska - Kunierz Paweł ołnierczyk Spis treci Zawarto tabel wykorzystywanych na kursie 5 Zawarto tabeli DEPT 6 Zawarto tabeli EMP 6 Zawarto tabeli

Bardziej szczegółowo

Wprowadzenie do kompilatorów

Wprowadzenie do kompilatorów Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek

Bardziej szczegółowo

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze

Bazy danych. Plan wykładu. Złczenia tabel. Perspektywy cd. Wykład 9: Programowanie aplikacji baz danych po stronie serwera. Sekwencje Wyzwalacze Plan wykładu Bazy danych Wykład 9: Programowanie aplikacji baz danych po stronie serwera Sekwencje Wyzwalacze Bloki anonimowe Funkcje Procedury Pakiety Małgorzata Krtowska Katedra Oprogramowania e-mail:

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Technologie baz danych Wykład 4: Diagramy związków encji (ERD). SQL funkcje grupujące. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Plan wykładu Diagramy związków encji elementy ERD

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

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

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

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

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

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

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

Wprowadzenie do algorytmów. START

Wprowadzenie do algorytmów. START 1 / 15 ALGORYMIKA 2 / 15 ALGORYMIKA Wprowadzenie do algorytmów. SAR 1. Podstawowe okrelenia. Algorytmika dział informatyki, zajmujcy si rónymi aspektami tworzenia i analizowania algorytmów. we: a,b,c delta:=b

Bardziej szczegółowo

Optymalizacja oprogramowania - wprowadzenie

Optymalizacja oprogramowania - wprowadzenie Optymalizacja oprogramowania - wprowadzenie Poznaskie Centrum Superkomputerowo Sieciowe Projekt jest współfinansowany ze rodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego

Bardziej szczegółowo

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

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

Indeksowanie w bazach danych

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

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego, Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

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

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

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje si w danej chwili

Bardziej szczegółowo

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy: wiczenie 2 Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Cel wiczenia: Zapoznanie si ze sposobami konstruowania tabel, powiza pomidzy tabelami oraz metodami manipulowania

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych

Bardziej szczegółowo

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty Plan wykładu Reguły asocjacyjne Marcin S. Szczuka Wykład 6 Terminologia dla reguł asocjacyjnych. Ogólny algorytm znajdowania reguł. Wyszukiwanie czstych zbiorów. Konstruowanie reguł - APRIORI. Reguły asocjacyjne

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

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Bardziej szczegółowo

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna (imi i nazwisko uczestnika) (nazwa szkoły) Arkusz zawiera 6 zada. Zadania

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Autor: Joanna Karwowska

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych Zaliczenie Bazy danych Wykáad 1: Wprowadzenie do baz danych Wykáad: Podstawowe informacje z zakresu baz danych - relacyjne bazy danych, SQL, indeksy, architektura baz danych Pracownia specjalistyczna:

Bardziej szczegółowo

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

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

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych Zaliczenie Bazy danych Wykáad 1: Wprowadzenie do baz danych Wykáad: Podstawowe informacje z zakresu baz danych - relacyjne bazy danych, SQL, indeksy, architektura baz danych Pracownia specjalistyczna:

Bardziej szczegółowo

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1 Zaliczenie Bazy Wykład 1: Wprowadzenie do baz Semestr 1 Wykład: Podstawowe informacje z zakresu baz - relacyjne bazy, DDL, SQL, indeksy, architektura baz Pracownia specjalistyczna: projekt bazy, SQL, Access

Bardziej szczegółowo

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych

Bardziej szczegółowo

Syntactic Pattern Recognition. Anna Kuchna Maciej arnowski

Syntactic Pattern Recognition. Anna Kuchna Maciej arnowski Syntactic Pattern Recognition Anna Kuchna Maciej arnowski Wprowadzenie Pattern recognition (rozpoznawanie wzorców) jest gałzi sztucznej inteligencji zajmujc si klasyfikacj i opisem obserwowanych obiektów.

Bardziej szczegółowo

Metody Kompilacji Wykład 1 Wstęp

Metody Kompilacji Wykład 1 Wstęp Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,

Bardziej szczegółowo

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y

ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y Nr zadania Nr czynnoci Przykadowy zestaw zada nr z matematyki ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR POZIOM PODSTAWOWY Etapy rozwizania zadania. Podanie dziedziny funkcji f: 6, 8.. Podanie wszystkich

Bardziej szczegółowo

POZNA SUPERCOMPUTING AND NETWORKING. Podstawy optymalizacji kodu ródłowego

POZNA SUPERCOMPUTING AND NETWORKING. Podstawy optymalizacji kodu ródłowego Podstawy optymalizacji kodu ródłowego literatura podstawowa [Aho2002] Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Kompilatory. Reguły, metody i narzdzia, WNT 2002 (tłum. pierwszego wydania amerykaskiego,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych. Plan wykładu. 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

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

Bardziej szczegółowo

Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD

Bazy danych. Plan wykáadu. Proces modelowania i implementacji bazy danych. Elementy ERD Plan wykáadu Wykáad 2: Diagramy zwizków encji (ERD) SQL - áczenie tabel, zapytania grupujce Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory sáabych encji Maágorzata Krtowska,

Bardziej szczegółowo