Plan wykładu. Wstęp. Charakterystyka DSMS. Przetwarzanie zapytań w DSMS. Otwarte problemy badawcze

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

Download "Plan wykładu. Wstęp. Charakterystyka DSMS. Przetwarzanie zapytań w DSMS. Otwarte problemy badawcze"

Transkrypt

1 Strumieniowe bazy danych

2 Plan wykładu Wstęp Zastosowanie dla strumieniowych baz danych Charakterystyka DSMS Model strumieniowych baz danych Przetwarzanie zapytań w DSMS Algorytmy przetwarzania zapytań Otwarte problemy badawcze

3 Klasyczne bazy danych Pasywne repozytoria dużych zbiorów trwałych danych, które są ą wypełniane i przetwarzane przez personalnych użytkowników (human active model). Ważny jest bieżący stan danych. Dostęp do danych historycznych h może ż być ć utrudniony lub niemożliwy.

4 Klasyczne bazy danych Elementy aktywne: triggery i alerty są drugorzędne i pomocnicze. Brak skalowalności dla dużej liczby triggerów. Dostęp do danych jest synchronizowany dzięki czemu odpowiedzi na zapytania są dokładne. Brak wymagań, co do czasu rzeczywistego.

5 Nowe dziedziny zastosowań Zarządzanie ą ruchem i wydajnością ą sieci telekomunikacyjnych i komputerowych, serwerów WWW Zarządzanie procesami przemysłowymi przetwarzanie danych z sieci czujników Aplikacje analizy finansowej monitorujące strumień danych giełdowych, sieci bankomatów Aplikacje monitorujące duże zbiory obiektów (śledzenie pojazdów) Aplikacje militarne monitorowanie organizmów żołnierzy (ciśnienie krwi, tętno, pozycja)

6 Strumieniowe bazy danych Aktywne repozytoria dużych zbiorów danych, które są w wypełniane automatycznie przez czujniki. Aplikacje monitorujące przetwarzają ciągłe strumienie danych wejściowych i alarmują użytkowników w przypadku występowania nietypowych sekwencji danych (human passive model). Ważna jest historia danych zmiany w źródłach hdanych.

7 Strumieniowe bazy danych Aktywna baza danych, architektura gwarantująca skalowalność triggerów. Dane wejściowe mogą być gubione, w związku z tym zapytania mogą być wykonywane przy niekompletnej informacji wejściowej i generować jedynie przybliżone wyniki. Istotne wymagania, co do czasu rzeczywistego.

8 DBMS, a DSMS trwałe relacje ulotne, nieograniczone strumienie danych zapytania punktowe zapytania ciągłe nieograniczona pamięć ograniczona pamięć dyskowa operacyjna dostęp swobodny dostęp sekwencyjny plan zapytań definiowany na nieprzewidywalny y rozkład znanym rozkładzie danych danych stosowalność algorytmów konieczność stosowania wielo-przebiegowych algorytmów jednoprzebiegowych

9 Data Streams Management System zarejestrowane ciągłe zapytania strumienie wejściowe Aplikacja DSMS strumienie wyników wyniki dane wejściowe trwała DB Bufory PAO

10 Model obliczeniowy strumieni danych Strumienie danych Streszczenia w PAO Przetwarzanie Aproksymowane strumieni wyniki Strumień danych jest potencjalnie nieograniczoną, intensywną sekwencją danych Przetwarzanie strumieni i danych wiąże ż się z: Co najwyżej jednokrotnym dostępem do każdego z elementów Ograniczonym obszarem składowania streszczeń (tym (y bardziej wszystkich elementów strumieni) Przetwarzaniem w czasie rzeczywistym czas przetwarzania pojedynczego rekordu musi być ć bardzo krótki Możliwością utraty danych wejściowych

11 Algorytmy przetwarzania strumieni danych W ogólności, ś algorytmy wyznaczają jedynie przybliżone odpowiedzi d i Trudność wyznaczenia dokładnych wyników jest konsekwencją ograniczonego g rozmiaru PAO i intensywności strumienia wejściowego Wyniki aproksymowane - granice deterministyczne Algorytmy wyznaczają przybliżone wyniki, ale wielkość błędów jest znana i ograniczona Wyniki aproksymowane - granice probabilistyczne Algorytmy wyznaczają przybliżone wyniki z wysokim prawdopodobieństwem Jednoprzebiegowe algorytmy przetwarzania strumieni i stosowalne dla intensywnych terabajtowych strumieni danych

12 Przykładowe aplikacje Bezpieczeństwo sieci (np., ipolicy, NetForensics/Cisco, Niksun) Strumień ń pakietów sieciowych, i informacje o sesjach użytkowników Zapytania: filtrowanie i URL, wykrywanie włamań, ł ń ataków typu DOS, wirusów Aplikacje finansowe (np., Traderbot) Strumień danych giełdowych, cen surowców, walut Zapytania: wyszukiwanie arbitażu, szukanie podejrzanych transakcji, itp.

13 Przykładowe aplikacje zarządzanie sieciami Szacowanie wielkości ruchu w sieci Ile bajtów było wysłanych między dwoma adresami IP? Jaka część ę adresów IP jest aktywna? Ranking adresów IP pod kątem aktywności Analiza ruchu Jaki jest średni czas trwania sesji dla danego adresu IP? Jaka jest mediana liczby bajtów w sesjach dla danego IP? Wykrywanie oszustw Lista sesji, dla których transmisja była większa niż 1000B Identyfikacja wszystkich sesji, których czas trwania był dwukrotnie częstszy niż typowy Bezpieczeństwo ń działania ł i sieci i List adresów IP o gwałtownym wzroście ruchu Identyfikacja adresów IP uczestniczących w ponad 1000 równoległych sesji

14 Przykładowe aplikacje zarządzanie sieciami Dane o sesjach (zebrane za pomocą Cisco NetFlow) Source Destination Duration Bytes Protocol K http K http K http K http K http K ftp K ftp K ftp AT&T zbiera 100 GBs danych każdego dnia

15 Przykładowe aplikacje monitorowanie giełdy Strumień ń cen i sprzedaży ż na giełdach w czasie Analiza techniczna dla inwestorów giełdowych Wsparcie dla decyzji o kupnie/sprzedaży Sygnalizacja wzrostu notowań giełdowych o co najmniej 5% Sygnalizacja Sygnalizacja monotonicznego wzrostu cen giełdowych dłuższego niż 1 godzina

16 Model danych strumieniowych Strumień Seria krotek uporządkowanych za pomocą znaczników czasowych Para (s,τ), s jest krotką, k a τ znacznikiem czasowym Relacja zmienny w czasie wielozbiór krotek Strumień S: <nazwa, wartość, τ> <AAAA, 12, 7:05> <BBBB, 21, 7:06> <CCCC, 17, 7:10> <AAAA, 11, 7:12> Relacja R R(7:00) R(8:00) <nazwa, wartość> <XXXX,25> <YYYY,13> <XXXX,19> <ZZZZ,15>

17 Znaczniki czasowe Explicite są częścią struktury elementów strumienia danych Implicite są dodawane ane przez DSMS w momencie odbioru poszczególnych elementów strumienia Czas ważności znaczniki reprezentują czas wystąpienia/ważności danej w świecie rzeczywistym Czas transakcyjny znacznik rejestruje czas pojawienia się informacji w systemie

18 Realizowane projekty DSMS Prototypy uniwersalnych DSMS STREAM (Stanford) Aurora (Brown, Brandeis, MIT) TelegraphCQ (Berkeley) Systemy wyspecjalizowane Tradebot (www.tradebot.com) finansowy serwis internetowy Tribeca (Bellcore) monitorowanie sieci Cougar (Cornell) sieci czujników Hancock(AT&T) sieci telekomunikacyjne Uniwersalne systemy komercyjne StreamBase (StreamBase Systems)

19 Język zapytań w DSMS deklaratywny (CQL) - oparty na rachunku relacji (STREAM), obiektowy - systemy monitorowania sieci czujników (Cougar), proceduralny - plan realizacji zapytania tworzony jest bezpośrednio przez użytkownika (Aurora/Borealis).

20 Języki bazujące na SQL Rozszerzaniem funkcjonalności języka SQL na strumieniowe bazy danych. Potrzeba nowej implementacji operatorów relacyjnych Operatory semantycznie blokujące zapytania ciągłe Operatory implementacyjnie i blokujące Operatory transformujące strumienie i relacje w strumieniowo-relacyjnych relacyjnych bazach danych Ruchome okna zapytań

21 Operacje blokujące Dana operacja jest blokująca, jeżeli uzyskanie pierwszej krotki wyniku wymaga odczy- tania całego ł zbioru wejściowego: avg, sort, min, max, mediana Ograniczenia w stosowaniu operacji blokują- cych na strumieniach danych nieskończony strumień wejściowy nigdy nie zwrócą wyniku.

22 Operacje blokujące Dane: operacja o i zbiory krotek A, B. Operacja o jest nieblokująca jeżeli: A B o(a) o(b) Operacje nieblokujące: selekcja, połączenie, eliminacja duplikatów. select * from S where S.wartość>10 Blokująca implementacja operacji Operacja połączenia jest operacją nieblokującą. Algorytm nested-loop jest blokującą implementacją operacji join.

23 Operacje blokujące Potencjalne rozwiązania: Ruchome okna danych, wyniki są generowane dla ograniczonych on ch podzbiorów danych (5 minut, 100 danych) rozszerzenie strumienia danych o dodatkowe informacje o tym, co może się pojawić w pozostałej części strumienia znaki interpunkcyjne (ang. punctuation) własności strumienia danych, na przykład wiedza o monotoniczności danych

24 Ruchome okna (sliding windows) Idea ruchomych okien polega na przetwarzaniu tylko ograniczonego ciągłego podzbioru danych ze strumienia, które mieszczą się w zdefiniowanym oknie Zalety Ruchomego okna: metoda aproksymacji przetwarzanie ograniczonego zbioru danych, dobrze zdefiniowane, łatwe do zrozumienia, determinizm działania, analiza najnowszych danych.

25 Ruchome okna w języku CQL Język bazujący na SQL rozszerzony, między innymi, o dwa dodatkowe operatory: [Rows n] okno o stałym rozmiarze obejmujące ostatnich n elementów strumienia [Range m jednostek czasu] okno o stałym rozmiarze obejmujące elementy strumienia, których znaczniki czasowe mieszczą się w przedziale czasowym [now m jedn. czasu, now] Szczególne przypadki: - m = now, m = - range unbounded

26 Ruchome okna w języku CQL select avg(s.wartość) from S [Rows 5] Transformacja strumienia w relację zawierającą 5 krotek o największych ę znacznikach czasu select * from R [Rows 1000],S [Range 5 min] where R.A = S.A and R.B > 10 Transformacja strumienia w relację zawierającą krotki, których znaczniki czasowe mieszczą się w przedziale [now 5min,now] now]

27 Ruchome okna select avg(s.wartość) from S [Rows 5] <AAAA, 12, 7:05> <BBBB, 21, 7:06> <CCCC, 17, 7:10> <AAAA, 11, 7:12> <DDDD, 7, 7:15> <EEEE, 13, 7:16> <FFFF, 19, 7:17>

28 Język kcql prototyp t Stanford Rozszerzenie języka SQL o: Nowy typ danych - Streams Semantyka ciągłych zapytań Definiowanie okien na strumieniach danych Próbkowanie strumieni danych Trzy operatory relation-to-streamto Istream, Dstream Rstream Select sum(z.wartość) from zamówienia z, wystawianie w [Range 1 Day] where z.id = w.id_zam and w.pracownik = 'Tarzan' and o.klient = 'Kowalski i Synowie'

29 Język kcql prototyp t Stanford Próbkowanie strumieni danych Select w.pracownik, max(z.wartość) from zamówienia z, wystawianie w [partition by pracownik rows 5] 10% sample where z.id = w.id_zam group by w.pracownik Tranformacja relacji w strumień Select Istream(w.pracownik, max(z.wartość)) from zamówienia z, wystawianie w [partition by pracownik rows 5] 10% sample where z.id = w.id_zam group by w.pracownik

30 Język CQL Specyfikacja okna Strumienie Relacje Operatory: Istream, Dstream, Rstream Relacyjny język zapytań ISTREAM: strumień wstawianych krotek DSTREAM: strumień usuwanych krotek RSTREAM: strumień wszystkich krotek

31 Charakterystyka przetwarzania strumieni danych Istotne ograniczenia czasowe przetwarzanie w czasie rzeczywistym intensywnych strumieni danych wymaga zazwyczaj stosowania aproksymacji wyników zapytań i wyklucza stosowanie wolnych pamięci ę zewnętrznychę Istotne ograniczenia zasobowe przetwarzanie danych odbywa się ę w całości w pamięci ę operacyjnej j Konieczność stosowania algorytmów jednoprzebiegowych dostęp do danej jedynie w momencie jej pojawienia się

32 Wydajność przetwarzania strumieni wydajność czasowa operacja uaktualnienia struktury ( update(krotka) ) operacja wyznaczająca ostateczny wynik zapytania ( computeanswer() ) wydajność zasobowa rozmiar PAO możliwość dynamicznego dopasowania do określonego rozmiaru pamięci

33 Metodyprzetwarzania t danych Przetwarzanie grupowe Próbkowanie Streszczenia (synopses) Wavelet Szkicowanie Histogramy Mikro-grupy

34 Przetwarzanie grupowe Przetwarzanie grupowe - własności Szybka operacja update wstaw daną do bufora, wolna computeanswer() przelicz wszystkie dane w buforze Dane przed przetworzeniem są buforowane Dane nie są przetwarzane na bieżąco Przetwarzanie danych w grupach (paczkach) Wynik dane z przed chwili

35 Próbkowanie Próbkowanie - własności stosunkowo szybka operacja computeanswer(), wolna update() wyznaczanie próbki Dane przychodzą szybciej niż może zostać wykonane uaktualnienie struktury Stały obszar na przechowywanie reprezentatywnego podzbioru danych wejściowych Pojawienie się nowej danej na wejściu wiąże się z określonym prawdopodobieństwem jej wstawienia za losowo wybraną składowana daną Zapytanie wykonywane na próbce strumienia danych Odpowiedź przybliżona

36 Próbkowanie Dany strumień danych o długości N elementów i obszar w PAO do składowania próbki o rozmiarze n. Wyznaczanie kolejnego elementu do wstawienia do próbki na podstawie prawdopodobieństwa n/n Wyjściowy algorytm jest niestosowalny dla strumieni danych ze względu gę na brak ograniczenia ich rozmiaru. Potrzebne modyfikacje: Niezależność od rozmiaru strumienia Możliwość analizy danych przed zakończeniem ń strumienia Możliwość pomijania w analizie elementów strumienia wejściowego Możliwość wykonywania y zapytań w krótkim (okna) i długim horyzoncie czasowym

37 Próbkowanie losowe Wybór losowej próbki o rozmiarze n ze strumienia o nieznanej długości. ś Rozwiązania bazujące na algorytmie zbiornikowym: Wstaw pierwsze n elementów strumienia do zbiornika. Przetwarzaj sekwencyjnie kolejne elementy strumienia. Każdy z przetwarzanych elementów może być wstawiony do zbiornika z prawdopodobieństwem n/(t+1), gdzie t jest liczbą porządkową przypisywaną kolejnym elementom strumienia. Wstawiane elementy zastępują losowo wybrane elementy przechowywane w zbiorniku. W dowolnym momencie prawdopodobieństwo znalezienia się wszystkich elementów w zbiorniku jest stałe i wynosi n/t. W dowolnym momencie ze zbiornika może być pobrana losowa próbka danych o rozmiarze n.

38 Próbkowanie losowe algorytm R Algorytm R (Alan Waterman, Knuth) działa następująco: Kiedy przetwarzany jest (t+1) element strumienia wejściowego, gdzie t>n, utrzymywanych w zbiorniku n elementów, jest losową próbą pierwszych t elementów strumienia. Element (t+1) może być ć wstawiony do zbiornika z prawdopodobieństwem n/(t+1). Wstawiany element zastępuje losowo wybrany element ze zbiornika. for j := 0 to n - 1 do ReadNextElement(C[j]); t := n; // numer kolejnego elementu strumieni while not eof do // przetwarzaj kolejne elementy strumienia begin t := t + 1; m := Trunc (t x Random( )); // m zmienna losowa z zakresu 0 m t-1 if m < n then // zastąp element ze zbiornika ReadNextRecord(C[m]); else SkipElement(l); end;

39 Próbkowanie losowe - modyfikacje Złożoność obliczeniowa algorytmu R jest równa O(N). Zwiększenie ę wydajności algorytmu przez analizowanie jedynie podzbioru elementów ze strumienia N (Jeffrey Vitter). Złożoność czasowa algorytmu: O(n(1+log(N/n))) for j := 0 to n - 1 do ReadNextElement(C[j]); t := n; // numer kolejnego elementu strumieni while not eof do // przetwarzaj kolejne elementy strumienia i begin Generate an independent random variate ϑ(n, t); SkipElements(ϑ); // pomiń następnych ϑ elementów if not eof then begin m := Trunc (n x Random( )); // m zmienna losowa z zakresu 0 m n-1 ReadNextRecord(C[m]); t := t + ϑ + 1; end; end;

40 Streszczenia Streszczenia (synopses) - Skrótowa reprezentacja danych historycznych Wymagane własności: Szeroki zakres zastosowania Jednoprzebiegowe algorytmy utrzymania i wyznaczania wyników Duża wydajność czasowa (obciążenie procesora) i pamięciowa (zajętość pamięci) Poprawność dla różnych rozkładów danych Czułość na zmieniający się w czasie rozkład danych

41 Falki (ang. Wavelets) Pojęcie falki pochodzi z sejsmologii Falki opisują rozkład fal w impulsie W informatyce falki znalazły zastosowanie w metodach W informatyce falki znalazły zastosowanie w metodach kompresji, grafice komputerowej i bazach danych

42 Falki Funkcja macierzysta falki Haara ψ(t) jest zdefiniowana następująco: Funkcja skalująca φ(t) jest zdefiniowana i następująco: Dowolna funkcja może być ć aproksymowana przez liniową kombinację stałych funkcji:

43 Jednowymiarowe falki Haara Falki Haara umożliwiają wielopoziomową aproksymację Falki Haara umożliwiają wielopoziomową aproksymację kompletnego sygnału wejściowego (strumienia danych)

44 Jednowymiarowe falki Haara Falki: matematyczne narzędzie do hierarchicznej dekompozycji funkcji i sygnałów (rozkładu wartości strumieni danych) Falka Haara: Najprostsza falka łatwa do zrozumienia i implementacji Rekurencyjne wyznaczanie średnich i różnic między sąsiednimi parami wartości na kolejnych poziomach ogólności Rozdzielczość Średnie Utracona informacja 3 [2, 2, 0, 2, 3, 5, 4, 4] - 2 [2, 1, 4, 4] [0, -1, -1, 0] 1 [1.5, 4] [0.5, 0] 0 [2.75] [-1.25] Dekompozycja falką Haara: [2.75, -1.25, 0.5, 0, 1, -1, -1, 0]

45 Dekompozycja drzewo błędów Wynik dekompozycji umożliwia odtworzenie sygnału wyjściowego. Źródłowe wartości danych mogą być obliczone jako suma wartości wzdłuż prowadzącej do nich ścieżki ,75 1 0,5-1, , 2, 0, 2, 3, 5, 4, 4 0 0

46 Przetwarzanie drzewa błędów Rekonstrukcja źródłowych wartości danych d(i) d(i) = Σ (+/-1) * współczynnik Obliczanie sum częściowych d(l:h) d(l:h) = liniowa kombinacja współczynników na ścieżkach od l do h Złożoność O(logN) d(1:4) = 4 * * (-1.25) = 6 1 0, ,75-1, , 2, 0, 2, 3, 5, 4, 4 d(6) = 2.75 (-1.25) + 0 (-1) = 5 0 0

47 Streszczenia za pomocą falek Możliwości kompresji drzew dekompozycji do zadanego rozmiaru drzewa Dla danego drzewa dekompozycji i zadanego obszaru pamięci B przeznaczonego dla streszczenia (B << D ); wyznacz wartość progową dla współczynników x, taką ą by: istniało dokładnie B współczynników o wartościach mniejszych od x. 0,5 2,75 D = 8 B = 4 x = 1-1, , 2, 1, 1, 4, 4, 4, 4 0 0

48 Szkicowanie Techniki szkicowania (sketching techniques) Szkicowanie polega na budowaniu podsumowania strumienia danych przy użyciu małej ilości pamięci. Jest stosowane do szacowania odpowiedzi na pewne zapytania a a (najczęściej zapytania a a o odległości między danymi) do zbioru danych.

49 Histogramy Histogramy są popularnym w systemach baz danych narzędziem ę służącym ą do szacowania rozkładów danych select * from pracownicy where płaca < Oszacuj selektywność zapytania, przy założeniu, że: min(płaca) = 1200 zł max(płaca) = zł brak informacji o rozkładzie danych Dla rozkładu równomiernego σ = ( )/( ) = 0,4 40% pracowników zarabia poniżej zł

50 Histogramy Celem jest utrzymywanie y informacji o rozkładzie w efekywny y sposób. Typy histogramów: EquiWidth - podział dziedziny na przedziały o stałej długości: <v 0 v 0 +d) n 0, <v 0 +d v 0 +2d) n 1,... EquiDepth - podział zbioru danych na n podzbiorów o stałej wielkości: ( ) 1, ( ) 2,..., ( ) n End-Biased - najczęściej występujące wartości: , , , inne 459 V-Optymalne minimalizujące wariancję częstości wartości przechowywanych w poszczególnych przedziałach

51 Histogramy dynamiczne Histogramy stosowane z bazach danych w procesie optymalizacji zapytań są statyczne. Ich utrzymanie polega na okresowej przebudowie od podstaw. W strumieniowych bazach danych niezbędne jest ciągłe, przyrostowe utrzymywanie histogramów. Jednoprzebiegowe metody utrzymania histogramów opierają się na próbkowaniu strumienia wejściowego. Dla histogramu Equi-Depth na podstawie próbki szacowane są wartości graniczne przedziałów. Na podstawie nierówności Hoeffdinga można wykazać, że danych kwantyl próbki mieści się w przedziale: (q - ε, q+ε) z prawdopodobieństwem 1 - σ, jeżeli rozmiar próbki jest większy niż O(log(σ)/ε 2.

52 Micro-Clusters Co to są mikro-grupy Mikro-grupa jest zbiorem elementarnych punktów danych, które znajdują się na tyle blisko siebie, że są traktowane jako pojedyncze punkty w dalszej analizie makro-grup. Perspektywa mikro-grup Perspektywa makro-grup

53 Micro-Clusters Jak pamiętane są mikro-grupy Mikro-grupa jest reprezentowana przez uporządkowaną piątkę: x x t t CFT ( C ) = ( CF 2, CF 1, CF 2, CF 1, n ) Dla każdego wymiaru, suma kwadratów wartości danych jest utrzymywana w CF2 x. Stąd CF2 x zawiera d wartości. Dla każdego wymiaru, suma wartości danych jest utrzymywana w CF1 x. Stąd CF1 x zawiera d wartości. Suma kwadratów znaczników czasowych jest utrzymywana w CF2 t. Suma znaczników czasowych jest utrzymywana w CF2 t.

54 BaseStream Uniwersalny komercyjny DSMS

55 BaseStream CREATE STREAM TicksWithTime AS SELECT *, now() AS LocalTime FROM TicksIn; CREATE STREAM TicksPerSecond AS SELECT openval() AS StartOfTimeSlice, count() AS NumberTicks,FeedName FROM TicksWithTime [SIZE 1 ON LocalTime PARTITION BY FeedName] GROUP BY FeedName;

56 BaseStream Następujący przykład pokazuje buforowanie strumienia danych w.net: using StreamBase.SB; using StreamBase.SB.Client; // connect to the StreamBase Server. string uri = "sb://localhost:10000"; int buf_size = 100; int flush_interval = 1000; StreamBaseClient t client = new StreamBaseClient(uri); t( i) client.enablebuffering(buf_size,flush_interval);

Strumieniowe bazy danych

Strumieniowe bazy danych Strumieniowe bazy danych STREAM: The Stanford Data Stream Management System Michał Stochmiałek Michał Stochmiałek Strumieniowe bazy danych 1/23 Plan prezentacji Wprowadzenie Problem

Bardziej szczegółowo

Strumieniowe bazy danych. Piotr i Paweł

Strumieniowe bazy danych. Piotr i Paweł Strumieniowe bazy danych Piotr i Paweł Źródła zapotrzebowania na DSMS Finanse (giełda, przewidywanie trendów, wykrywanie defraudacji, szacowanie ryzyka) Zarządzanie ruchem i wydajnością sieci telekomunikacyjnych

Bardziej szczegółowo

Strumieniowe bazy danych

Strumieniowe bazy danych Michał Stochmiałek Strumieniowe bazy danych STREAM: The Stanford Data Stream Management System Politechnika Wrocławska, Wrocław, styczeń 2005 Streszczenie Artykuł wprowadza czytelnika

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

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

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

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

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

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Zaawansowane Systemy Baz Danych

Zaawansowane Systemy Baz Danych Zaawansowane Systemy Baz Danych dr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 maja 2009 r. Plan seminarium Wprowadzenie Stosowane

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Szyfrowanie danych w SZBD

Szyfrowanie danych w SZBD Szyfrowanie danych w SZBD dr inż. Maciej Nikodem Instytut Informatyki, Automatyki i Robotyki maciej.nikodem@pwr.wroc.pl 1 Czy potrzebujemy szyfrowania w SZBD? prawo, kontrola dostępu, ochrona przed: administratorem,

Bardziej szczegółowo

Zastosowanie strumieniowych baz danych

Zastosowanie strumieniowych baz danych Zastosowanie strumieniowych baz danych Krzysztof Gogól Agenda 1 Dlaczego strumieniowe bazy danych? 2 Prototypowe DSMS 3 Otwarte problemy 4 DSMS czyli okna 5 Przykłady zastosowania 18.05.09 Page 2 Ernst

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

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie Wykaz tabel Wykaz rysunków Przedmowa 1. Wprowadzenie 1.1. Wprowadzenie do eksploracji danych 1.2. Natura zbiorów danych 1.3. Rodzaje struktur: modele i wzorce 1.4. Zadania eksploracji danych 1.5. Komponenty

Bardziej szczegółowo

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

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

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co

Bardziej szczegółowo

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

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

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

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne Architektury i technologie integracji danych Systemy Mediacyjne Multi-wyszukiwarki Wprowadzenie do Mediacyjnych Systemów Zapytań (MQS) Architektura MQS Cechy funkcjonalne MQS Cechy implementacyjne MQS

Bardziej szczegółowo

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

Przydatne sztuczki - sql. Na przykładzie postgres a.

Przydatne sztuczki - sql. Na przykładzie postgres a. Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie

Bardziej szczegółowo

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

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

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

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

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

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

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

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

strumieniowym przetwarzaniu danych

strumieniowym przetwarzaniu danych Eksperymentalny system obsługi zleceń oparty na strumieniowym przetwarzaniu danych Październik 2009 Aplikacje strumieniowe Prototypowe DSMS Problemy otwarte WARSET Zasady funkcjonowania GPW Aplikacja Aplikacje

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

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

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy Obiektowy model Wykład prowadzi: Tomasz Koszlajda Plan wykładu Przesłanki dla nowej generacji systemów baz Podstawowe elementy obiektowego modelu Konstruktory złożonych typów Abstrakcyjne

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: 1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,

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

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych.

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

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

PIA PANEL INŻYNIERA AUTOMATYKA

PIA PANEL INŻYNIERA AUTOMATYKA ul. Bajana Jerzego 31d tel. + 48 399 50 42 45 01-904 Warszawa PANEL INŻYNIERA AUTOMATYKA Wszystkie nazwy handlowe i towarów występujące w niniejszej publikacji są znakami towarowymi zastrzeżonymi odpowiednich

Bardziej szczegółowo

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

Jeśli X jest przestrzenią o nieskończonej liczbie elementów: Logika rozmyta 2 Zbiór rozmyty może być formalnie zapisany na dwa sposoby w zależności od tego z jakim typem przestrzeni elementów mamy do czynienia: Jeśli X jest przestrzenią o skończonej liczbie elementów

Bardziej szczegółowo

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna&

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna& DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna& Artur Wroński" Priorytety rozwoju technologii Big Data& Analiza większych zbiorów danych, szybciej& Łatwość użycia& Wsparcie

Bardziej szczegółowo

Dostawa oprogramowania. Nr sprawy: ZP /15

Dostawa oprogramowania. Nr sprawy: ZP /15 ........ (pieczątka adresowa Oferenta) Zamawiający: Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu, ul. Staszica,33-300 Nowy Sącz. Strona: z 5 Arkusz kalkulacyjny określający minimalne parametry techniczne

Bardziej szczegółowo

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

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

Bardziej szczegółowo

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie Hurtownie danych i business intelligence - wykład II Paweł Skrobanek, C-3 pok. 321 pawel.skrobanek@pwr.wroc.pl oprac. Wrocław 2005-2008 Zagadnienia do omówienia 1. 2. Przegląd architektury HD 3. Warsztaty

Bardziej szczegółowo

Szczegółowy opis przedmiotu zamówienia

Szczegółowy opis przedmiotu zamówienia ZP/ITS/19/2013 SIWZ Załącznik nr 1.1 do Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych dla studentów

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Raportowanie z wykorzystaniem fraz rollup, cube Frazy cube, rollup, grouping sets umożliwiają rozszerzoną

Bardziej szczegółowo

IBM Streams MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE ORAZ NA SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE

IBM Streams MATERIAŁY DYDAKTYCZNE I SZKOLENIOWE NA STUDIA PODYPLOMOWE ORAZ NA SZKOLENIA DYSTRYBUOWANE SĄ BEZPŁATNIE IBM Streams str. 1 Kiedy przetwarzanie strumieniowe jest przydatne gracz na giełdzie kupuje akcje, które po kilku chwilach gwałtownie tanieją, kasyno, nieświadomie, jednocześnie gościu kilku graczy, którzy

Bardziej szczegółowo

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

Systemy OLAP I. 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 zimowy 2007/08 Studia uzupełniajace magisterskie

Bardziej szczegółowo

Tworzenie zapytań do Microsoft SQL Server

Tworzenie zapytań do Microsoft SQL Server MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów

Bardziej szczegółowo

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38 Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych

Bardziej szczegółowo

DECLARE typ [( )] [ NOT NULL ] [ { := DEFAULT } ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Paweł Lenkiewicz Polsko Japońska Wyższa Szkoła Technik Komputerowych Plan prezentacji PJWSTK

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

Metody analizy ruchu sieciowego

Metody analizy ruchu sieciowego Metody analizy ruchu sieciowego Robert Tomczak 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok III Politechnika Częstochowska Roberttomczak91@gmail.com Streszczenie Celem niniejszej

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę

Bardziej szczegółowo

Big Data to skalowalność i prostota obsługi wielkich ilości danych!

Big Data to skalowalność i prostota obsługi wielkich ilości danych! Obsługa aplikacji, które operują na ogromnych zbiorach danych, czyli na przykład portali społecznościowych, przekracza możliwości zwykłych relacyjnych baz. Praca ze złożonymi zbiorami danych wymaga architektury

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Monitorowanie aplikacji i rozwiązywanie problemów

Monitorowanie aplikacji i rozwiązywanie problemów Monitorowanie aplikacji i rozwiązywanie problemów 21 Maj 2015, Poznań Adrian TUROWSKI adrian.turowski@passus.com.pl Agenda Po co monitorować aplikacje sieciowe? Sposoby monitorowania SPAN vs. Netflow.

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

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

Kompresja danych DKDA (7)

Kompresja danych DKDA (7) Kompresja danych DKDA (7) Marcin Gogolewski marcing@wmi.amu.edu.pl Uniwersytet im. Adama Mickiewicza w Poznaniu Poznań, 22 listopada 2016 1 Kwantyzacja skalarna Wprowadzenie Analiza jakości Typy kwantyzatorów

Bardziej szczegółowo

ALHE Z11 Jarosław Arabas wykład 11

ALHE Z11 Jarosław Arabas wykład 11 ALHE Z11 Jarosław Arabas wykład 11 algorytm ewolucyjny inicjuj P 0 {x 1, x 2... x } t 0 while! stop for i 1: if a p c O t,i mutation crossover select P t, k else O t,i mutation select P t,1 P t 1 replacement

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 1.

SQL do zaawansowanych analiz danych część 1. SQL do zaawansowanych analiz danych część 1. Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan

Bardziej szczegółowo

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/ STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo