Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ***

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

Download "Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ***"

Transkrypt

1 AUTOMATYKA 2009 Tom 13 Zeszyt 3 Tomasz M. Kowalski*, Pawe³ Cebula*, Kamil Kuliberda*, Jacek Wiœlicki*, **, Rados³aw Adamus*, ** Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ*** 1. Wprowadzenie Indeks to pomocnicza (nadmiarowa) struktura danych przechowywana na serwerze. Administrator baz danych zarz¹dza pul¹ indeksów, generuj¹c nowe albo usuwaj¹c istniej¹ce w zale noœci od aktualnych potrzeb, maj¹c na celu zwiêkszenie tym samym ca³kowitej wydajnoœci aplikacji. Tak jak w przypadku tradycyjnych ksi¹ ek, indeksy na koñcu ksi¹ ki pozwalaj¹ na szybkie odnalezienie po ¹danej strony, podobnie indeks bazodanowy umo liwia szybki dostêp do obiektów (lub rekordów) spe³niaj¹cych okreœlone kryteria. W zwi¹zku z faktem, e indeksy maj¹ relatywnie ma³y rozmiar (w porównaniu do ca³ej bazy danych), zajêcie dodatkowej przestrzeni dyskowej do ich przechowywania jest ca³kowicie uzasadnione poprzez zysk na wydajnoœci dzia³ania bazy danych. Bardzo efektywna fizyczna organizacja indeksów umo liwia osi¹gniêcie nawet o kilka rzêdów wielkoœci wy szej wydajnoœci. Ogólna idea indeksowania w zorientowanych obiektowo bazach danych nie ró ni siê od indeksowania w bazach relacyjnych [2]. Wiele metod mo e byæ zaadaptowanych z systemów relacyjnych, a nawet ich zastosowanie mo e byæ znacz¹co rozszerzone. Bywaj¹ sytuacje, w których metody indeksacji wziête z relacyjnych baz danych s¹ przestarza³e dla baz danych zorientowanych obiektowo. W szczególnoœci operacje z³¹czenia nie wymagaj¹ szczególnej optymalizacji, poniewa w obiektowych bazach danych potrzeba z³¹czeñ jest znacznie mniejsza ze wzglêdu na obecnoœæ identyfikatorów obiektów oraz jawnych wskaÿnikowych powi¹zañ. * Katedra Informatyki Stosowanej, Politechnika ódzka ** Stypendysta projektu Innowacyjna dydaktyka bez ograniczeñ zintegrowany rozwój Politechniki ódzkiej zarz¹dzanie uczelni¹, nowoczesna oferta edukacyjna i wzmacnianie zdolnoœci do zatrudniania, tak e osób niepe³nosprawnych wspó³finansowany przez Uniê Europejsk¹ w ramach Europejskiego Funduszu Spo³ecznego *** Praca naukowa finansowana ze œrodków na naukê w latach 2008/2009 jako projekt badawczy nr N

2 1530 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus ODRA (Object Database for Rapid Applications development) jest prototypem systemu zarz¹dzania zorientowan¹ obiektowo baz¹ danych opart¹ na podejœciu stosowym SBA (Stack Based Architecture) [13, 14]. G³ównym celem projektu ODRA jest tworzenie i rozwijanie nowych paradygmatów tworzenia aplikacji bazodanowych oraz wprowadzenie nowego, uniwersalnego, deklaratywnego jêzyka programowania wraz z rozproszonym œrodowiskiem wykonawczym, zorientowanym na bazy danych i obiektowoœæ. ODRA zawiera w³asny jêzyk zapytañ o nazwie SBQL (Stack Basek Query Language), który jest zintegrowany z mo liwoœciami programistycznymi i abstrakcjami, w tym abstrakcjami bazodanowymi: aktualizowane widoki, procedury sk³adowane, transakcje. Wa n¹ cech¹ systemu ODRA jest silnik optymalizacyjny odpowiedzialny za zwiêkszanie wydajnoœci wykonywania zapytañ bazodanowych. Zasadniczym komponentem silnika jest modu³, który optymalizuje zapytania u ywaj¹c indeksacji. G³ówne cechy implementacji indeksowania to: przezroczysty wybór odpowiednich indeksów dla zadanego zapytania (jeœli to mo liwe), automatyczna aktualizacja indeksów w odpowiedzi na zmiany w powi¹zanych danych oraz zarz¹dzanie administracyjne indeksami. Niniejszy artyku³ prezentuje wspomniane trzy aspekty implementacji indeksacji w ODRA. Sekcja 2 przedstawia ogóln¹ architekturê optymalizacji zapytañ w ODRA. Sekcja 3 omawia cechy systemu indeksowania w ODRA. Sekcja 4 opisuje narzêdzia zarz¹dzania indeksami w ODRA. Sekcja 5 ilustruje optymalizacjê zapytañ bazodanowych opart¹ o indeksacjê. Sekcja 6 prezentuje zysk wydajnoœci wynikaj¹cy z proponowanych rozwi¹zañ na podstawie przyk³adowych zapytañ. Sekcja 7 zawiera podsumowanie artyku³u i wnioski. 2. Idea indeksowania w ODRA W uproszczeniu indeks mo e byæ postrzegany jako tabela sk³adaj¹ca siê z dwóch kolumn, gdzie pierwsza z nich zawiera unikaln¹ wartoœæ kluczow¹, natomiast druga przechowuje wartoœæ niekluczow¹. W wiêkszoœci przypadków wartoœæ niekluczow¹ stanowi referencja do obiektu. Wartoœæ kluczowa jest u ywana jako dana wejœciowa dla procedur wyszukuj¹cych opartych o indeksy. W rezultacie, procedura zwraca odpowiadaj¹c¹ wartoœæ z drugiej kolumny tego samego wiersza tabeli. Klucze s¹ zazwyczaj wartoœciami wybranych atrybutów obiektów (gêste indeksy) lub reprezentuj¹ zakres tych wartoœci (indeksy zakresowe). Wartoœci kluczowe mog¹ byæ obliczane przy u yciu wyra eñ, które zawieraj¹ wbudowane funkcje jêzyka zapytañ lub funkcje definiowane przez u ytkownika (indeksy funkcyjne [1]). To podejœcie umo liwia administratorowi stworzenie indeksu odpowiadaj¹cego dok³adnie predykatom w obrêbie najczêœciej pojawiaj¹cych siê zapytañ, tak by ich ewaluacja sta³a siê szybsza i u ywa³a minimalnej iloœci operacji we/wy. W optymalizacji zapytañ indeksy s¹ u ywane w kontekœcie operatora where, w przypadku gdy lewy argument jest zindeksowany wed³ug wartoœci kluczowej prawego argu-

3 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ 1531 mentu stanowi¹cego predykat selekcji. Dla du ych baz danych zast¹pienie klauzuli where wywo³aniem funkcji indeksu, mo e powodowaæ zysk wydajnoœci nawet o kilka rz¹dów wielkoœci. Niemniej do osi¹gniêcia tego wzrostu serwer baz danych powinien zapewniaæ przezroczystoœæ indeksów. Oznacza ona, e programista aplikacji z baz¹ danych nie musi byæ œwiadomy istnienia indeksów. Najczêœciej optymalizator zapytañ jest odpowiedzialny za automatyczne wykorzystanie indeksów. Drugi wa ny aspekt przezroczystoœci jest zwi¹zany z utrzymywaniem spójnoœci miêdzy indeksami a indeksowanymi danymi. Jest to problem tzw. automatycznej aktualizacji indeksu. Modyfikacje w bazie powinny byæ automatycznie wykrywane i odzwierciedlane w odpowiednich indeksach Cechy indeksów w ODRA Obecnie implementacja wspiera indeksy oparte na liniowym haszowaniu [5], które mo e byæ ³atwo rozszerzane do rozproszonej wersji SDDS [6] w celu optymalnego wykorzystania zasobów obliczeniowych systemów rozproszonych. Niemniej jednak, istnieje szeroki zakres ró nych struktur indeksów, które mog¹ byæ u yte do indeksowania w obiektowo zorientowanych bazach danych podobnie do rozwi¹zañ obecnych w relacyjnych bazach danych [1, 2, 8, 10]: B-Drzewa, indeksy bitmapowe, itp. Implementacja indeksowania w ODRA wspiera indeksy z wieloma kluczami. W dodatku do typów kluczy wspomnianych wczeœniej (gêstych i zakresowych), wprowadzono typ enum m.in. do zwiêkszenia elastycznoœci indeksowania na wielu kluczach. Ponadto, dziêki w³asnoœciom jêzyka SBQL, tj. ortogonalnoœci i kompozycyjnoœci, zaimplementowane rozwi¹zania dostarczaj¹ generycznego wsparcia dla dowolnych definicji indeksów np. z³o onych z wyra eñ zawieraj¹cych polimorficzne metody i operatory agreguj¹ce. 3. Zarz¹dzanie indeksami Wszystkie indeksy znajduj¹ce siê w bazie danych s¹ zarejestrowane i zarz¹dzane przez menad era indeksów systemu ODRA. Lista wszystkich indeksów i pomocnicze informacje wymagane dla optymizatora s¹ przechowywane wewn¹trz specjalnego modu³u administracyjnego. Ka dy indeks jest skojarzony z modu³em, w którym zosta³ stworzony, a jego nazwa musi byæ unikalna. Dlatego te menad er indeksów sprawdza czy dany indeks istnieje na liœcie referencji do obiektów metabazy opisuj¹cych indeksy u ywaj¹c kombinacji sk³adaj¹cej siê z nazwy modu³u oraz nazwy indeksu: nazwa_modu³u.nazwa_indeksu Przyk³adowy schemat Schemat na rysunku 1 jest wprowadzony jako podstawa dla przedstawionych dalej przyk³adów u ycia indeksów.

4 1532 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus Rys. 1. Przyk³ad schematu zorientowanego obiektowo Przyk³adowy schemat ilustruje rekordy personelu pewnej firmy. Wprowadzono kilka klas PersonClass, StudentClass, EmpClass, EmpStudentClass oraz dwa typy strukturalne DeptType i AddressType. Trwa³e instancje klas wymienionych powy ej mog¹ byæ dostêpne za poœrednictwem nazw klas ich instancji Person, Student, Emp i w koñcu EmpStudent. Obiekty reprezentuj¹ce departamenty firmy, nazwane Dept maj¹ strukturê DeptType z atrybutem g³ównym name. Instancje klasy EmpClass reprezentuj¹ obecnych pracowników firmy oraz rozszerzaj¹ obiekty Person o atrybut salary. Obiekty Emp oraz Dept s¹ powi¹zane obiektami wskazuj¹cymi nazwanymi odpowiednio worksin oraz employs. Kolejna klasa, która rozszerza klasê PersonClass to StudentClass. Wprowadza ona atrybut scholarship. Ostatnia klasa pokazana na schemacie, nazwana EmpStudentClass, dziedziczy po EmpClass oraz StudentClass. Zosta³a wprowadzona, aby reprezentowaæ studentów, którzy s¹ jednoczeœnie pracownikami firmy. U ycie nazwy Person w zapytaniu SBQL daje w rezultacie wszystkie instancje klasy PersonClass i jej podklas. Podobnie poprzez nazwê Emp programista odnosi siê do instancji obu klas EmpClass i EmpStudentClass. Klasy mog¹ zawieraæ metody korzystaj¹ce z polimorfizmu (nadpisywanych w podklasach). Np. metoda gettotalincomes() klasy EmpClass zwraca wartoœæ atrybutu salary, ale dla instancji klasy EmpStudentClass zwraca sumê atrybutów salary i scholarship Typy indeksów Sk³adnia umo liwiaj¹ca stworzenie indeksów pozwala administratorowi wyspecyfikowaæ ogólne w³aœciwoœci klucza indeksu, tj. dotycz¹ce wartoœci kluczowych lub celu opty-

5 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ 1533 malizacji. Jest to osi¹gane poprzez wprowadzenie opcjonalnego typu wskaÿnika: dense, range oraz enum. WskaŸnik dense powoduje, e optymalizacja zapytañ, które u ywaj¹ danego klucza jako warunku, bêdzie stosowana tylko dla predykatów selekcji opartych na operatorach = oraz in. Dlatego dystrybucja zindeksowanych obiektów w indeksie (tj. w tabeli haszuj¹cej) mo e byæ bardziej losowa. Kolejnoœæ wartoœci kluczowych nie ma znaczenia dla procesu indeksacji. Typ dense jest zawsze u ywany do wartoœci wskaÿnikowych (bez wzglêdu czy zosta³o to okreœlone przez administratora). Ponadto jest to domyœlny typ wskaÿnika dla takich typów wartoœci kluczowych: integer, string, double. add index idxempsalary(dense) on Emp(salary) WskaŸnik range powoduje, e optymalizowane bêd¹ predykaty selekcji oparte nie tylko na operatorach = oraz in ale równie na operatorach >,, < i. W obrêbie indeksu funkcja haszuj¹ca grupuje obiekty zgodnie z zakresami wartoœci kluczowych. W obecnej implementacji, zakresy s¹ dynamicznie dzielone, poniewa ka dy zakres jest skojarzony z indywidualnym fragmentem liniowej mapy haszuj¹cej zwanym kube³kiem (bucket). add index idxdeptsalary(range) on Dept(sum(employs.Emp.salary)) Indeks idxdeptsalary zwraca referencje do departamentu zgodnie z wartoœci¹ (lub zakresem wartoœci) sumy wynagrodzeñ pracowników departamentu. Jego zalet¹ jest unikanie wyliczania wartoœci z³o onych predykatów selekcji wiele razy, poniewa jest ona wczeœniej wyznaczona w momencie tworzenia indeksu. Z drugiej strony koszt utrzymania indeksu idxdeptsalary jest bardzo du y i mo e powodowaæ powa ne zmniejszenie wydajnoœci operacji aktualizacji bazy danych. WskaŸnik enum jest stosowany w sytuacji, gdy chcemy wykorzystaæ w³asnoœci klucza ze skoñczonym, policzalnym zbiorem odrêbnych wartoœci, tj. klucze z nisk¹ licznoœci¹ (kardynalnoœci¹) wartoœci. Wydajnoœæ indeksu znacznie pogorsza siê je eli wartoœci kluczowe maj¹ nisk¹ licznoœæ, np. kolor oczu osób, stan cywilny (wartoœæ boolowska) lub rok urodzenia. U ywaj¹c klucza indeksu typu enum powoduje, e wewnêtrznie s¹ sk³adowane wszystkie mo liwe wartoœci kluczowe (lub zakres dla ca³kowitych wartoœci) a informacje te s¹ u ywane do optymalizacji struktury indeksów. Typ klucza enum powoduje optymalizacje predykatów selekcji dok³adnie tak jak w przypadku wskaÿnika range, np. dla operatorów =, >,, < i. Inna wa na w³aœciwoœæ klucza typu enum pojawia siê w momencie kiedy indeks jest za³o ony na wielu kluczach, wówczas optymizator mo e niektóre z nich pomin¹æ jeœli jest to potrzebne w trakcie optymalizacji zapytañ. Je eli enum jest ustawiony na wszystkich kluczach indeksu i iloœæ zindeksowanych obiektów jest du a, wówczas ewaluacja wywo³a-

6 1534 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus nia indeksu powinna zadzia³aæ w sposób bardzo wydajny (ka da kombinacja wartoœci kluczowych wskazuje na osobn¹ tablicê referencji obiektów zwan¹ kube³kiem) add index idxperage&mar&city(enum enum enum) on Person (age, married, address.city) Inne przyk³ady poleceñ tworz¹cych indeksy przedstawiono poni ej: add index idxperzip(enum) on Person(address.zip) Indeks enum który zwraca obiekty Person, którego argumentem jest podobiekt podobiektu address czyli kod pocztowy osoby. Nale y zwróciæ uwagê na fakt, i atrybut kod pocztowy (zip) na schemacie na rysunku 1 jest opcjonalny i dlatego ten indeks przechowuje tylko obiekty Person, które go zawieraj¹. add index idxperbirthyear(range) on Person(2009 age) Indeks w tym przypadku zwraca obiekty Person wed³ug wartoœci wyra enia 2009 age. Zak³ada siê, e ten indeks jest w stanie przetwarzaæ zapytania zakresowe. add index idxemptotalincomes on Emp(getTotalIncomes()) Indeks gêsty u ywaj¹cy metody gettotalincomes() klasy Emp jako klucza dla selekcji obiektów Emp. Ta metoda jest nadpisana dla instancji klasy EmpStudent. Jedyn¹ akcj¹ wymagan¹ od administratora, aby skorzystaæ z zalet indeksowania jest stworzenie odpowiednich indeksów. Pozosta³a czêœæ optymalizacji jest przezroczysta dla programistów. Nastêpna sekcja opisuje zasady stosowane przez optymizator wykorzystuj¹cy indeksy. 4. Optymalizacja zapytañ W systemie ODRA u ycie indeksów jest ca³kowicie przezroczyste dla kodu aplikacji. Programista nie musi byæ œwiadomy o istnieniu indeksów, poniewa kod zupe³nie od nich nie zale y. Optymalizator indeksów automatycznie stosuje wszystkie mo liwe indeksy w trakcie procesu kompilacji zapytañ. Oprócz tej mo liwoœci u ytkownik mo e równie u ywaæ indeksów jawnie. Ta cecha jest wdro ona do celów testowych, aby sprawdziæ równoœæ semantyczn¹ opracowanych metod optymalizacji przez indeksowanie i badañ nad nowymi mo liwoœciami wykorzystania indeksowania. Poni sza sekcja opisuje ogólne zasady u ywane w rozwi¹zywaniu problemów semantycznej równowa noœci zapytañ oryginalnych, wejœciowych i przetworzonych przez

7 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ 1535 optymalizator. Wiêkszoœæ poni szych zasad dotyczy optymalizacji zapytañ zakresowych. Optymalizator analizuje prawy argument niealgebraicznego operatora where bior¹c pod uwagê wszystkie predykaty selekcji po³¹czone operatorami koniunkcji (and) i alternatywy (or). Podstawowa procedura optymalizacji przez indeksowanie dzia³a na selektywnych zapytaniach gdzie lew¹ stronê operatora where stanowi kolekcja zaindeksowana przez jeden lub wiêcej indeksów. Algorytm analizuje wszystkie predykaty selekcji po³¹czone operatorem and i próbuje znaleÿæ indeks, którego klucz pasuje do predykatów. Je eli wiêcej ni jeden indeks zostaje znaleziony, optymalizator wybiera jeden z najlepsz¹ selektywnoœci¹ (na podstawie istniej¹cego modelu kosztów) 4.1. Sk³adnia u ycia indeksów Z punktu widzenia sk³adni jêzyka SBQL inwokacja indeksu jest po prostu wywo³aniem procedury: <indexname>( <key_param_1> [; <key_param_2>...] ) Liczba parametrów jest równa liczbie kluczy indeksu. Ka dy parametr klucza definiuje po ¹dan¹ wartoœæ kluczow¹. Wywo³anie funkcji indeksu zwraca referencje do obiektów odpowiadaj¹cych okreœlonym kryteriom. Wyra enie parametru klucza mo e definiowaæ pojedyncz¹ wartoœæ jako kryterium. W takim przypadku ewaluacja powinna zwróciæ wartoœæ typu integer, double, string, reference lub Boolean albo wskaÿnik do takowej wartoœci. Poni ej zaprezentowaliœmy wywo- ³anie dla przyk³adowego indeksu idxdeptname: idxdeptname( HR groupas $equal) Pojedyncza wartoœæ kluczowa mo e byæ przekazana przez wartoœæ bindera nazwanego $equal. Bindery s¹ u ywane do zwiêkszenia czytelnoœci oraz aby umo liwiæ ³atwiejsze wprowadzanie typów parametrów dla wywo³ania indeksów. Aby okreœliæ zakres jako kryterium wartoœci kluczowej, wyra enie powinno zwracaæ strukturê sk³adaj¹c¹ siê z czterech parametrów: (<lower_limit>, <upper_limit>, <lower_closed>, <upper_closed>) gdzie: <lower_limit> i <upper_limit> s¹ wartoœciami klucza okreœlaj¹cymi zakres <lower_closed> jest wartoœci¹ typu Boolean okreœlaj¹c¹ czy <lower_limit> nale y do zakresu kryterium <upper_closed> jest wartoœci¹ typu Boolean okreœlaj¹c¹ czy <upper_limit> nale y do zakresu kryterium

8 1536 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus Przyk³ady wywo³añ indeksów: idxperbirthyear((1978, 1982, true, true) groupas $range) idxperbirthyear((1900, (sum(person.(2009 age)) / count(person)), true, false) groupas $range); Ostatni przyk³ad zwraca referencje do osoby, której rok urodzenia jest wczeœniejszy ni œrednia wieku wszystkich osób zawartych w bazie danych. Podobnie jak w przypadku pojedynczych parametrów wartoœci klucza, parametry okreœlaj¹ce zakres s¹ przekazywane z u yciem wartoœci bindera o nazwie $range. Parametr klucza mo e specyfikowaæ równie kolekcjê wartoœci kluczowych jako kryterium. idxempage&workcity((25 union 30 union 35) groupas $in; Boston groupas $equal) Binder o nazwie $in jest u yty do przekazania kolekcji wartoœci kluczowych. Jeœli kryterium zwraca zbiór pusty, wówczas wywo³anie indeksu równie zwraca pusty zbiór Równowa noœæ semantyczna w optymalizacji obejmuj¹cej klucze opcjonalne W pierwszej kolejnoœci rozwa my jak licznoœæ klucza [0..1] wp³ywa na optymalizacje. U ywanie kryteriów o opcjonalnej licznoœci mo e spowodowaæ wyst¹pienie b³êdu czasu wykonania, poniewa predykat selekcji oparty na operatorach =, >,, < i wymusza u ywanie pojedynczej wartoœci zarówno w przypadku lewego jak i prawego argumentu. Nieoczekiwana iloœæ wartoœci argumentów powoduje b³¹d czasu wykonania. U ycie wywo³ania indeksu w optymalizacji z takowymi predykatami wyeliminowa³oby niebezpieczeñstwo wyst¹pienia b³êdu a zatem zoptymalizowane zapytania nie by³yby semantycznie równe oryginalnym. W takich przypadkach optymalizacja jest dozwolona tylko jeœli operator in jest u yty jako predykat poniewa nie ogranicza on licznoœci prawego argumentu. Poni ej prezentowany jest przyk³ad niebezpiecznej ewaluacji predykatu, który mo e spowodowaæ b³¹d czasu wykonania. Lewa strona predykatu selekcji ma licznoœæ [0..1] zgodnie z kardynalnoœci¹ atrybutu kodu pocztowego (zip). Person where address.zip = 94107

9 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ 1537 Aby unikn¹æ mo liwoœci wyst¹pienia b³êdu czasu wykonania powinien byæ u yty bezpieczny operator in: Person where in address.zip W omawianym przypadku optymalizator indeksów wspiera optymalizacje, kiedy predykaty s¹ zdefiniowane przy u yciu operatorów =, >,, < i pod warunkiem u ycia odpowiedniego predykatu egzystencjalnego exists. Przyk³ad bezpiecznej ewaluacji predykatu z u ytym operatorem = przedstawiony jest poni ej: Person where exists(address.zip) where address.zip = Jedynie w przypadku dwóch ostatnich przyk³adów zapytañ optymalizator wykorzystuj¹cy indeksy mo e stosowaæ nastêpuj¹c¹ transformacjê zapytania: idxperzip(94107 groupas $equal) Minimalna licznoœæ klucza równa zero oznacza, e indeks mo e nie zawieraæ referencji do wszystkich obiektów zdefiniowanej przy tworzeniu indeksu indeksowanej kolekcji. W przypadku indeksu na wielu kluczach, jeœli taki klucz by³by pominiêty w predykacie selekcji, zaistnia³aby mo liwoœæ, e ewaluacja operatora where zwróci referencje do obiektu, który nie jest przechowywany wewn¹trz indeksu. Zatem optymalizator nie zastosowa³by optymalizacji u ywaj¹c takiego indeksu. Reasumuj¹c, klucze z minimaln¹ licznoœci¹ równ¹ zero s¹ obligatoryjne, pomimo zadeklarowania przy pomocy wskaÿnika typu enum Aspekty optymalizacji predykatów zakresowych Je eli predykat selekcji zoptymalizowanego zapytania okreœla tylko jeden limit zakresu (dolny lub górny), wówczas drugi limit jest generowany automatycznie, tj. mo liwie najmniejsza lub najwiêksza wartoœæ dla danego klucza. Przyk³adowo poni sze zapytanie dotyczy oddzia³u zlokalizowanego w Warszawie, którego pracownicy sumarycznie zarabiaj¹ mniej ni najlepiej op³acany pracownik w ca³ej firmie. Zapytanie oryginalne: Dept where sum(employs.emp.salary) < max(emp.salary) and address.city = Warszawa Zapytanie zoptymalizowane idxdeptsalary(( , max(emp.salary), true, false) groupas $range) where address.city = Warszawa

10 1538 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus Je eli mamy do czynienia z wiêcej ni jednym predykatem dotycz¹cym jednego limitu (np. dolnego) zakresu danego klucza, wówczas wyra enia min, max, union oraz porównania s¹ u ywane do wyznaczenia odpowiedniego parametru klucza zakresu. Zapytanie oryginalne: ((sum(person.(2009 age)) / count(person)) as avgyear). (Person where 2009 age > avgyear and 1970 <= 2009 age and 2009 age < 1980) Zapytanie zoptymalizowane: (sum(person.(2009 age)) / count(person)) as avgyear). idxperbirthyear((max(avgyear union 1970), 1980, 1970 > avgyear, false) groupas $range) 4.4. Pomijanie kluczy w wywo³aniu indeksu W indeksach opartych na wielu kluczach, klucze enum mog¹ byæ zwykle pomijane w wywo³aniach indeksów. Optymalizator indeksów, aby pomin¹æ klucz, kiedy aden predykat selekcji nie zosta³ okreœlony, ustawia oba dolne oraz górne ograniczenia do najni szej oraz najwy szej mo liwej wartoœci kluczowej. Zapytanie oryginalne: Person where true = married and address.city in Wroc³aw Zapytanie zoptymalizowane: idxperage&mar&city (( , , true, true) groupas $range; true groupas $equal ; Wroc³aw groupas $equal) Aby pomin¹æ klucz typu boolean w wywo³aniu indeksu u ywa siê zbioru kryteriów parametru kluczowego z³o onego z dwóch wartoœci fa³sz i prawda. Zapytanie oryginalne: Person where age > 30 and 33 >= age and address.city in Wroc³aw Zapytanie zoptymalizowane: idxperage&mar&city((30, 33, false, true) groupas $range; (false union true) groupas $in ; Wroc³aw groupas $equal)

11 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ Alternatywa predykatów oraz uwzglêdnienie dziedziczenia Optymalizator indeksów jest przygotowany równie do przetwarzania zapytañ, w których predykaty selekcji s¹ po³¹czone operatorem or. Jako e dysjunkcja os³abia selekcjê, komplikuje to równie proces optymalizacji. Dlatego je eli zastosowanie indeksów jest mo liwe bez uwzglêdnienia predykatów po³¹czonych operatorem or, wówczas optymalizator mo- e pomin¹æ g³êbsze analizy. W przeciwnym wypadku, aby sprawdziæ wszystkie mo liwoœci indeksowania, optymalizator usuwa operatory or, rozdzielaj¹c niealgebraiczne wyra enie where na dwa czêœciowe wyra enia selekcji. Obiekty zwracane przez obydwa wyra enia mog¹ byæ zduplikowane wiêc istnieje potrzeba pozostawienia tylko ró nych referencji obiektów; jest to osi¹gane poprzez u ycie wyra enia uniqueref. Indeksowanie umo liwia redukcje iloœci danych przetwarzanych przez zapytania wtedy, gdy mo e byæ zastosowane do obu czêœciowych wyra eñ. Ta procedura jest rekursywna w przypadku, gdy mamy do czynienia z wiêcej ni jednym operatorem or. Przeanalizujmy poni szy przyk³ad optymalizacji. Emp where age = 28 and married = true and (address.city = Szczecin or Szczecin in worksin.firm.address.city) Zapytanie mo e byæ podzielone przez optymalizator indeksów zgodnie z poni sz¹ form¹: uniqueref((emp where age = 28 and married = true and address.city = Szczecin ) union (Emp where age = 28 and married = true and Szczecin in worksin.firm.address.city)) Zale nie od obecnego modelu kosztów oraz istniej¹cych indeksów, optymalizator mo e zastosowaæ nastêpuj¹c¹ transformacjê: uniqueref(((emp) idxperage&mar&city(28 groupas $equal; true groupas $equal; Szczecin groupas $equal))union (idxempage&workcity(28 groupas $equal; Szczecin groupas $equal) where married = true) Predykat selekcji oparty na wyra eniach age, married oraz address.city dotyczy nadklasy klasy EmpClass, tj. PersonClass i z tego powodu administrator mo e wyposa yæ ca³¹ kolekcjê Person w indeks idxperage&mar&city. Indeks ten mo e zwracaæ instancje, które nie nale ¹ do EmpClass, st¹d optymalizator musi wykorzystaæ narzêdzie do usuwania instancji nienale ¹cych do EmpClass z rezultatu inwokacji indeksu. Mo e to byæ zrealizowane poprzez operator koercji jêzyka SBQL. Sk³adnia operatora koercji zosta³a wziêta z typowej konwencji syntaktycznej znanej z takich jêzyków jak C, C++ jako rzutowanie. W rezultacie wywo³anie indeksu idxperage&mar&city zwraca wynik, który jest automatycznie rzutowany na kolekcjê Emp, poniewa oryginalne zapytanie dotyczy tylko pracowników. W zaprezentowanym podejœciu do ponownego u ycia indeksu w hierarchii dziedziczenia kolekcji, indeksy dotycz¹ce klasy, która wprowadza dany klucz, s¹ bardziej wszechstronne i uniwersalne, jako e mog¹ byæ u yte w optymalizacji zapytañ adresowanych równie do kolekcji okreœlonych przez podklasy.

12 1540 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus 5. Zysk optymalizacji Rozwa my nastêpuj¹cy przyk³ad testowy. Je eli wywo³anie indeksu jest umieszczone po prawej stronie niealgebraicznego operatora, na przyk³ad operatora kropki, wówczas jest prawdopodobne, e bêdzie ono ewaluowane wiêcej ni jeden raz podczas wykonywania zapytania. Jest to przedstawione w nastêpuj¹cym przyk³adzie z indeksem idxemptotalincomes. Zapytanie w tabeli 1, dla 61-letnich pracowników w stanie ma³ eñskim, zamieszkuj¹cych w odzi lub Wroc³awiu, zwraca imiê po³¹czone z nazwiskiem oraz liczbê pracowników z równ¹ iloœci¹ ca³kowitych przychodów. Na rysunku 2 przedstawiono czasy wykonania obu postaci zapytania z tabeli 1 oraz zysk wynikaj¹cy z wykorzystania indeksowania. Testy prototypu indeksowania w bazie danych ODRA przeprowadzono na komputerze klasy PC z procesorem Intel Mobile Core 2 Duo T2300, 1,66 GHz, z pamiêci¹ RAM 2,00 GB na systemie operacyjnym MS Windows Server 2003 R2 Service Pack 2, 32 bit. Tabela 1 Zapytanie oryginalne Zapytanie zoptymalizowane ((Emp where address.city = " ódÿ" and worksin.dept.address.city in (" ódÿ" union "Wroc³aw") and married = true and age = 61) as e).(e.name + " " + e.surname, count(emp where gettotalincomes() = e.gettotalincomes())) ((Emp where address.city = " ódÿ" and worksin.dept.address.city in (" ódÿ" union "Wroc³aw") and married = true and age = 61) as e).(e.name + " " + e.surname, count(idxemptotalincomes(e.gettotalincomes())) liczba osób Rys. 2. Porównanie czasów wykonania i zysku optymalizacji zapytania

13 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ 1541 Dodatkowo wprowadÿmy inny indeks idxempage&workcity tak, aby zoptymalizowaæ ewaluacje pierwszej czêœci zapytania, co mo e znacz¹co wp³yn¹æ na wzrost wydajnoœci. W tabeli 2 wyszczególniono zapytania wykorzystuj¹ce ró ne kombinacje indeksów. Na rysunku 3 znajduje siê wykres z odpowiadaj¹cymi im zyskami optymalizacji uzale nionymi od liczby osób w bazie danych. Tabela 2 Zapytanie z indeksem idxemptotalincomes Zapytanie z indeksem idxempageworkcity Zapytanie z dwoma indeksami ((Emp where address.city = " ódÿ" and worksin.dept.address.city in (" ódÿ" union "Wroc³aw") and married = true and age = 61) as e). (e.name + " " + e.surname, count(idxemptotalincomes(e.gettotalincomes())) ((idxempage&workcity(61 groupas $equal; (" ódÿ" union "Wroc³aw") groupas $in) where address.city = " ódÿ" and married = true) as e). (e.name + " " + e.surname, (e.name + " " + e.surname, count(emp where gettotalincomes() = e.gettotalincomes()))) ((idxempage&workcity(61 groupas $equal; (" ódÿ" union "Wroc³aw") groupas $in) where address.city = " ódÿ" and married = true) as e). (e.name + " " + e.surname, count(idxemptotalincomes(e.gettotalincomes())) liczba osób Rys. 3. Zysk optymalizacji indeksów dla zapytania

14 1542 Tomasz M. Kowalski, Pawe³ Cebula, Kamil Kuliberda, Jacek Wiœlicki, Rados³aw Adamus Dla bazy danych zawieraj¹cej obiektów odpowiadaj¹cych osobom, dwa indeksy daj¹ zysk w przybli eniu 40 razy wiêkszy. Pomimo takiej ró nicy najwa niejszy jest indeks wo³any wielokrotnie, tj. idxemptotalincomes. Bez tego indeksu nie ma zauwa alnej poprawy wydajnoœci. 6. Wnioski i plany dalszych prac W niniejszym artykule zosta³y skrótowo opisane zasady dotycz¹ce tworzenia i wykorzystywania indeksów w prototypie ODRA. W zaprezentowanym podejœciu optymalizacja jest osi¹gniêta poprzez opisan¹ transformacjê zapytañ. Zaproponowana implementacja indeksacji w ODRA umo liwia tworzenie i przezroczyst¹, automatyczn¹ aktualizacjê indeksów u³atwiaj¹cych przetwarzanie predykatów selekcji opartych na dowolnych, deterministycznych wyra eniach sk³adaj¹cych siê z wyra eñ œcie kowych, funkcji agreguj¹cych, inwokacji metod klas (w³¹cznie z dziedziczeniem oraz polimorfizmem). Wszystkie funkcjonalnoœci wymagane do kompletnego dzia³ania systemu indeksowania zosta³y ju zaimplementowane. Niemniej jednak, indeksacja w ODRA nadal jest rozwijana i wymaga dalszych badañ. Plany przysz³ych prace obejmuj¹ zastosowanie innych struktur indeksów (np. B-Drzewa) oraz implementacji nowych metod optymalizacji, korzystaj¹cych z zalet indeksów (np. optymalizacja zapytañ rankingowych). Kolejne prace dotycz¹ techniki ulotnego indeksowania, która mo e byæ stosowana do przetwarzania danych heterogenicznych oraz wirtualnie udostêpnionych poprzez perspektywy SBQL. Technika ta wykazuje skutecznoœæ w przetwarzaniu z³o onych zapytañ, w których indeks jest wywo³ywany wiêcej ni jeden raz. Dodatkowo rozwa amy rozszerzenia mo liwoœci indeksowania na rozproszone œrodowisko przy u yciu skalowalnego i rozproszonego indeksu SDDS. Literatura [1] Burleson D., Turbocharge SQL with advanced Oracle9i indexing. March 26, 2002, [2] Elmasri R., Navathe S.B., Fundamentals of Database Systems 4th ed. Pearson Education, Inc., 2004, ISBN: [3] GemStone Systems, Inc. [4] Java API User Guide ObjectStore, Release 7.1 for all platforms, August [5] Litwin W., Linear Hashing: a new tool for file and tables addressing. Reprinted from VLDB-80 in READINGS IN DATABASES. 2-nd ed., Morgan Kaufmann Publishers, Inc., 1994, Stonebraker, M. (Ed.). [6] Litwin W., Nejmat M.A., Schneider D.A., LH*: Scalable, Distributed Database System. ACM Trans. Database Syst., 21(4), 1996, [7] Meier D., Stein J., Indexing in an object-oriented DBMS. Proceedings of the OODBS, IEEE Computer Society Press, 1986, [8] O Neil P.E., Quasi D., Improved Query Performance with Variant Indexes. Proceedings of SIGMOD, 1997, [9] Objectivity for Java Programmer s Guide, Release 9.3, October 13, 2006.

15 Metody optymalizacji przez indeksowanie dla obiektowego jêzyka zapytañ 1543 [10] Oracle9i Data Warehousing Guide Release 2 (9.2). Part Number A [11] P³odzieñ J., Optimization Methods In Object Query Languages. IPIPAN, Warszawa, 2000 (Ph.D. Thesis). [12] P³odzieñ J., Kraken A., Object Query Optimization in the Stack-Based Approach. Proc. of 3rd ADBIS Conf., Maribor, Slovenia, Springer LNCS 1691, 1999, [13] SBA & SBQL Web pages: [14] Subieta K. Theory and Construction of Object-Oriented Query Languages (in Polish). PJIIT Publishing House, 2004, 522. [15] VERSANT Database Fundamentals Manual, (Release ) July 2005.

Uogólnione podejœcie do aktualizacji indeksów w obiektowej bazie danych****

Uogólnione podejœcie do aktualizacji indeksów w obiektowej bazie danych**** AUTOMATYKA 2009 Tom 13 Zeszyt 3 Tomasz M. Kowalski*, Kamil Kuliberda*, Cezary Draus**, Rados³aw Adamus*, ***, Jacek Wiœlicki*, *** Uogólnione podejœcie do aktualizacji indeksów w obiektowej bazie danych****

Bardziej szczegółowo

Rys Mo liwe postacie funkcji w metodzie regula falsi

Rys Mo liwe postacie funkcji w metodzie regula falsi 5.3. Regula falsi i metoda siecznych 73 Rys. 5.1. Mo liwe postacie funkcji w metodzie regula falsi Rys. 5.2. Przypadek f (x), f (x) > w metodzie regula falsi 74 V. Równania nieliniowe i uk³ady równañ liniowych

Bardziej szczegółowo

Czy przedsiêbiorstwo, którym zarz¹dzasz, intensywnie siê rozwija, ma wiele oddzia³ów lub kolejne lokalizacje w planach?

Czy przedsiêbiorstwo, którym zarz¹dzasz, intensywnie siê rozwija, ma wiele oddzia³ów lub kolejne lokalizacje w planach? Czy przedsiêbiorstwo, którym zarz¹dzasz, intensywnie siê rozwija, ma wiele oddzia³ów lub kolejne lokalizacje w planach? Czy masz niedosyt informacji niezbêdnych do tego, by mieæ pe³en komfort w podejmowaniu

Bardziej szczegółowo

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego

Bardziej szczegółowo

Integracja oraz indeksowanie rozproszonych zasobów danych w technologii data grid ****

Integracja oraz indeksowanie rozproszonych zasobów danych w technologii data grid **** AUTOMATYKA 2009 Tom 13 Zeszyt 3 Kamil Kuliberda*, Tomasz M. Kowalski*, Jacek Wiœlicki*, ***, Rados³aw Adamus*, ***, Micha³ Meina** Integracja oraz indeksowanie rozproszonych zasobów danych w technologii

Bardziej szczegółowo

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania

Bardziej szczegółowo

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH Przygotował: mgr inż. Radosław Adamus 1 1 Na podstawie: Subieta K., Język UML, V Konferencja PLOUG, Zakopane, 1999. Wprowadzenie

Bardziej szczegółowo

Projektowanie procesów logistycznych w systemach wytwarzania

Projektowanie procesów logistycznych w systemach wytwarzania GABRIELA MAZUR ZYGMUNT MAZUR MAREK DUDEK Projektowanie procesów logistycznych w systemach wytwarzania 1. Wprowadzenie Badania struktury kosztów logistycznych w wielu krajach wykaza³y, e podstawowym ich

Bardziej szczegółowo

(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci

(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci 56 Za³ó my, e twierdzenie jest prawdziwe dla macierzy dodatnio okreœlonej stopnia n 1. Macierz A dodatnio okreœlon¹ stopnia n mo na zapisaæ w postaci n 1 gdzie A n 1 oznacza macierz dodatnio okreœlon¹

Bardziej szczegółowo

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10) 5.5. Wyznaczanie zer wielomianów 79 gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10) gdzie stopieñ wielomianu p 1(x) jest mniejszy lub równy n, przy

Bardziej szczegółowo

III. INTERPOLACJA Ogólne zadanie interpolacji. Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj.

III. INTERPOLACJA Ogólne zadanie interpolacji. Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj. III. INTERPOLACJA 3.1. Ogólne zadanie interpolacji Niech oznacza funkcjê zmiennej x zale n¹ od n + 1 parametrów tj. Definicja 3.1. Zadanie interpolacji polega na okreœleniu parametrów tak, eby dla n +

Bardziej szczegółowo

Wytyczne Województwa Wielkopolskiego

Wytyczne Województwa Wielkopolskiego 5. Wytyczne Województwa Wielkopolskiego Projekt wspó³finansowany przez Uniê Europejsk¹ z Europejskiego Funduszu Rozwoju Regionalnego oraz Bud etu Pañstwa w ramach Wielkopolskiego Regionalnego Programu

Bardziej szczegółowo

Projektowanie bazy danych

Projektowanie bazy danych Projektowanie bazy danych Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeo wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

IV. UK ADY RÓWNAÑ LINIOWYCH

IV. UK ADY RÓWNAÑ LINIOWYCH IV. UK ADY RÓWNAÑ LINIOWYCH 4.1. Wprowadzenie Uk³ad równañ liniowych gdzie A oznacza dan¹ macierz o wymiarze n n, a b dany n-elementowy wektor, mo e byæ rozwi¹zany w skoñczonej liczbie kroków za pomoc¹

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w

Bardziej szczegółowo

Stronicowanie na ¹danie

Stronicowanie na ¹danie Pamiêæ wirtualna Umo liwia wykonywanie procesów, pomimo e nie s¹ one w ca³oœci przechowywane w pamiêci operacyjnej Logiczna przestrzeñ adresowa mo e byæ du o wiêksza od fizycznej przestrzeni adresowej

Bardziej szczegółowo

Wartości domyślne, szablony funkcji i klas

Wartości domyślne, szablony funkcji i klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, 50-082 Wrocław tel. (71) 330 55 55 fax (71) 345 51 11 e-mail: kancelaria@mhbs.

HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, 50-082 Wrocław tel. (71) 330 55 55 fax (71) 345 51 11 e-mail: kancelaria@mhbs. HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, 50-082 Wrocław tel. (71) 330 55 55 fax (71) 345 51 11 e-mail: kancelaria@mhbs.pl Wrocław, dnia 22.06.2015 r. OPINIA przedmiot data Praktyczne

Bardziej szczegółowo

Microsoft Management Console

Microsoft Management Console Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co

Bardziej szczegółowo

System do kontroli i analizy wydawanych posiłków

System do kontroli i analizy wydawanych posiłków System do kontroli i analizy wydawanych posiłków K jak KORZYŚCI C jak CEL W odpowiedzi na liczne pytania odnośnie rozwiązania umożliwiającego elektroniczną ewidencję wydawanych posiłków firma PControl

Bardziej szczegółowo

1. Od kiedy i gdzie należy złożyć wniosek?

1. Od kiedy i gdzie należy złożyć wniosek? 1. Od kiedy i gdzie należy złożyć wniosek? Wniosek o ustalenie prawa do świadczenia wychowawczego będzie można składać w Miejskim Ośrodku Pomocy Społecznej w Puławach. Wnioski będą przyjmowane od dnia

Bardziej szczegółowo

(0) (1) (0) Teoretycznie wystarczy wzi¹æ dowoln¹ macierz M tak¹, by (M) < 1, a nastêpnie obliczyæ wektor (4.17)

(0) (1) (0) Teoretycznie wystarczy wzi¹æ dowoln¹ macierz M tak¹, by (M) < 1, a nastêpnie obliczyæ wektor (4.17) 4.6. Metody iteracyjne 65 Z definicji tej wynika, e istnieje skalar, taki e Av = v. Liczbê nazywamy wartoœci¹ w³asn¹ macierzy A. Wartoœci w³asne macierzy A s¹ pierwiastkami wielomianu charakterystycznego

Bardziej szczegółowo

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów revati.pl rozwi¹zania dla poligrafii Systemy do sprzeda y us³ug poligraficznych w internecie Drukarnia Szybki kontakt z klientem Obs³uga zapytañ ofertowych Na 100% procent wiêcej klientów drukarnia drukarnia

Bardziej szczegółowo

Temat : SBQL 1 obiektowy język zapytań.

Temat : SBQL 1 obiektowy język zapytań. Laboratorium Języki i środowiska przetwarzania danych rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu

Bardziej szczegółowo

Powszechność nauczania języków obcych w roku szkolnym

Powszechność nauczania języków obcych w roku szkolnym Z PRAC INSTYTUTÓW Jadwiga Zarębska Warszawa, CODN Powszechność nauczania języków obcych w roku szkolnym 2000 2001 Ö I. Powszechność nauczania języków obcych w różnych typach szkół Dane przedstawione w

Bardziej szczegółowo

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji O autorze Wprowadzenie Rozdział 1. Relacyjne bazy danych i SQL Język i logika Definicja SQL Microsoft SQL Server, Oracle i MySQL Inne bazy danych Relacyjne bazy danych Klucze główne i obce Typy danych

Bardziej szczegółowo

S I M P L E. E R P ZARZ DZANIE MA J TKIEM. www.simple.com.pl

S I M P L E. E R P ZARZ DZANIE MA J TKIEM. www.simple.com.pl S I M P L E. E R P ZARZ DZANIE MA J TKIEM www.simple.com.pl SIMPLE.ERP ZARZ DZANIE MA J TKIEM Obszar funkcjonalny systemu ZARZ DZANIE MA J TKIEM umo liwia prowadzenie w systemie pe³nej obs³ugi maj¹tku

Bardziej szczegółowo

Instalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania...

Instalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania... Zawartość Instalacja... 1 Konfiguracja... 2 Uruchomienie i praca z raportem... 4 Metody wyszukiwania... 6 Prezentacja wyników... 7 Wycenianie... 9 Wstęp Narzędzie ściśle współpracujące z raportem: Moduł

Bardziej szczegółowo

Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami.

Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami. Access Baza danych Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami. Baza danych sk ada si z danych oraz programu komputerowego wyspecjalizowanego do gromadzenia i przetwarzania

Bardziej szczegółowo

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007 GEO-SYSTEM Sp. z o.o. 02-732 Warszawa, ul. Podbipięty 34 m. 7, tel./fax 847-35-80, 853-31-15 http:\\www.geo-system.com.pl e-mail:geo-system@geo-system.com.pl GEO-RCiWN Rejestr Cen i Wartości Nieruchomości

Bardziej szczegółowo

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wersja 02 Styczeń 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu...

Bardziej szczegółowo

Instrukcja U ytkownika Systemu Antyplagiatowego Plagiat.pl

Instrukcja U ytkownika Systemu Antyplagiatowego Plagiat.pl Instrukcja U ytkownika Systemu Antyplagiatowego Plagiat.pl System Plagiat.pl jest programem komputerowym s³u ¹cym do porównywania dokumentów tekstowych. Wytypowani przez W³adze Uczelni U ytkownicy otrzymuj¹

Bardziej szczegółowo

Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows.

Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows. Opis modułu analitycznego do śledzenia rotacji towaru oraz planowania dostaw dla programu WF-Mag dla Windows. Zadaniem modułu jest wspomaganie zarządzania magazynem wg. algorytmu just in time, czyli planowanie

Bardziej szczegółowo

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc PRAWA ZACHOWANIA Podstawowe terminy Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc a) si wewn trznych - si dzia aj cych na dane cia o ze strony innych

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

PODNOSZENIE EFEKTYWNOŒCI PRZEDSIÊBIORSTWA - PROJEKTOWANIE PROCESÓW

PODNOSZENIE EFEKTYWNOŒCI PRZEDSIÊBIORSTWA - PROJEKTOWANIE PROCESÓW BAROMETR REGIONALNY 33 PODNOSZENIE EFEKTYWNOŒCI PRZEDSIÊBIORSTWA - PROJEKTOWANIE PROCESÓW mgr in. Adam Piekara, Doradca w programie EQUAL Podstaw¹ niniejszego artyku³u jest przyjêcie za- ³o enia, e ka

Bardziej szczegółowo

InsERT GT Własne COM 1.0

InsERT GT Własne COM 1.0 InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe

Bardziej szczegółowo

PRZEPIĘCIA CZY TO JEST GROźNE?

PRZEPIĘCIA CZY TO JEST GROźNE? O c h r o n a p r z e d z a g r o ż e n i a m i PRZEPIĘCIA CZY TO JEST GROźNE? François Drouin Przepiêcie to jest taka wartoœæ napiêcia, która w krótkim czasie (poni ej 1 ms) mo e osi¹gn¹æ amplitudê nawet

Bardziej szczegółowo

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu Rozdział 6 Pakowanie plecaka 6.1 Postawienie problemu Jak zauważyliśmy, szyfry oparte na rachunku macierzowym nie są przerażająco trudne do złamania. Zdecydowanie trudniejszy jest kryptosystem oparty na

Bardziej szczegółowo

CONSTRUCTOR. Kompaktowy magazyn z u yciem rega³ów wjezdnych. Deepstor P90 DRIVE -IN

CONSTRUCTOR. Kompaktowy magazyn z u yciem rega³ów wjezdnych. Deepstor P90 DRIVE -IN CONSTRUCTOR Kompaktowy magazyn z u yciem rega³ów wjezdnych Deepstor P90 CONSTRUCTOR Magazyn w miejsce korytarzy Rega³y wjezdne P90 daj¹ mo liwoœæ zwiêkszenia powierzchni magazynowania nawet o 90% w porównaniu

Bardziej szczegółowo

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

Bardziej szczegółowo

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych Andrzej Bąk Wstęp Zarys Co to jest baza danych? Podstawy teorii baz danych Klasyfikacja baz danych Organizacja danych w relacyjnej

Bardziej szczegółowo

SYMULACJA STOCHASTYCZNA W ZASTOSOWANIU DO IDENTYFIKACJI FUNKCJI GÊSTOŒCI PRAWDOPODOBIEÑSTWA WYDOBYCIA

SYMULACJA STOCHASTYCZNA W ZASTOSOWANIU DO IDENTYFIKACJI FUNKCJI GÊSTOŒCI PRAWDOPODOBIEÑSTWA WYDOBYCIA Górnictwo i Geoin ynieria Rok 29 Zeszyt 4 2005 Ryszard Snopkowski* SYMULACJA STOCHASTYCZNA W ZASTOSOWANIU DO IDENTYFIKACJI FUNKCJI GÊSTOŒCI PRAWDOPODOBIEÑSTWA WYDOBYCIA 1. Wprowadzenie W monografii autora

Bardziej szczegółowo

Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

Ethernet VPN tp. Twój œwiat. Ca³y œwiat. Ethernet VPN tp 19330 Twój œwiat. Ca³y œwiat. Efektywna komunikacja biznesowa pozwala na bardzo szybkie i bezpieczne po³¹czenie poszczególnych oddzia³ów firmy przez wirtualn¹ sieæ prywatn¹ (VPN) oraz zapewnia

Bardziej szczegółowo

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa Zamawiający: Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 00-662 Warszawa, ul. Koszykowa 75 Przedmiot zamówienia: Produkcja Interaktywnej gry matematycznej Nr postępowania: WMiNI-39/44/AM/13

Bardziej szczegółowo

jakoœæ bazy danych. AUTOMATYKA 2005 Tom 9 Zeszyt 3 1. Wprowadzenie 2. Pojêcie jakoœci bazy danych Wojciech Janicki *

jakoœæ bazy danych. AUTOMATYKA 2005 Tom 9 Zeszyt 3 1. Wprowadzenie 2. Pojêcie jakoœci bazy danych Wojciech Janicki * AUTOMATYKA 2005 Tom 9 Zeszyt 3 Wojciech Janicki * Jakoœæ bazy danych 1. Wprowadzenie Powszechny rozwój informatyki sprawia, e wkracza ona w coraz to nowe dziedziny ycia, systemy informatyczne staj¹ siê

Bardziej szczegółowo

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0 ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0 Copyright 2010, Polskie Towarzystwo Informatyczne Zastrzeżenie Dokument ten został opracowany na podstawie materiałów źródłowych pochodzących

Bardziej szczegółowo

Regulamin Krêgów Harcerstwa Starszego ZHR

Regulamin Krêgów Harcerstwa Starszego ZHR Biuro Naczelnictwa ZHR 1 Regulamin Krêgów Harcerstwa Starszego ZHR (za³¹cznik do uchwa³y Naczelnictwa nr 196/1 z dnia 30.10.2007 r. ) 1 Kr¹g Harcerstwa Starszego ZHR - zwany dalej "Krêgiem" w skrócie "KHS"

Bardziej szczegółowo

System kontroli wersji SVN

System kontroli wersji SVN System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,

Bardziej szczegółowo

Zapytanie ofertowe nr 3

Zapytanie ofertowe nr 3 I. ZAMAWIAJĄCY STUDIUM JĘZYKÓW OBCYCH M. WAWRZONEK I SPÓŁKA s.c. ul. Kopernika 2 90-509 Łódź NIP: 727-104-57-16, REGON: 470944478 Zapytanie ofertowe nr 3 II. OPIS PRZEDMIOTU ZAMÓWIENIA Przedmiotem zamówienia

Bardziej szczegółowo

Bazy Danych. Laboratorium 2

Bazy Danych. Laboratorium 2 Bazy Danych Zadania i problemy techniczno-inżynieryjne oraz informatyczne dla systemów operacyjnych, połączeń i konfiguracji baz danych do pracy w biurze, sieci oraz z internetem. pdf Laboratorium 2 Opracować

Bardziej szczegółowo

Blokady. Model systemu. Charakterystyka blokady

Blokady. Model systemu. Charakterystyka blokady Blokady Stan blokady: ka dy proces w zbiorze procesów czeka na zdarzenie, które mo e byæ spowodowane tylko przez inny procesu z tego samego zbioru (zdarzeniem mo e byæ przydzia³ lub zwolnienie zasobu)

Bardziej szczegółowo

SPRAWOZDANIE FINANSOWE

SPRAWOZDANIE FINANSOWE SPRAWOZDANIE FINANSOWE Za okres: od 01 stycznia 2013r. do 31 grudnia 2013r. Nazwa podmiotu: Stowarzyszenie Przyjaciół Lubomierza Siedziba: 59-623 Lubomierz, Plac Wolności 1 Nazwa i numer w rejestrze: Krajowy

Bardziej szczegółowo

Nowości w module: BI, w wersji 9.0

Nowości w module: BI, w wersji 9.0 Nowości w module: BI, w wersji 9.0 Copyright 1997-2009 COMARCH S.A. Spis treści Wstęp... 3 Obszary analityczne... 3 1. Nowa kostka CRM... 3 2. Zmiany w obszarze: Księgowość... 4 3. Analizy Data Mining...

Bardziej szczegółowo

Proces certyfikacji ISO 9001:2015. Wydanie normy ISO 9001:2015 dotyczące systemów zarządzania jakością obowiązuje od 15 września 2015 roku.

Proces certyfikacji ISO 9001:2015. Wydanie normy ISO 9001:2015 dotyczące systemów zarządzania jakością obowiązuje od 15 września 2015 roku. ISO 9001:2015 Wydanie normy ISO 9001:2015 dotyczące systemów zarządzania jakością obowiązuje od 15 września 2015 roku. Nowelizacje normy to coś więcej, niż tylko kosmetyczne zmiany; pociągają one za sobą

Bardziej szczegółowo

Warunki Oferty PrOmOcyjnej usługi z ulgą

Warunki Oferty PrOmOcyjnej usługi z ulgą Warunki Oferty PrOmOcyjnej usługi z ulgą 1. 1. Opis Oferty 1.1. Oferta Usługi z ulgą (dalej Oferta ), dostępna będzie w okresie od 16.12.2015 r. do odwołania, jednak nie dłużej niż do dnia 31.03.2016 r.

Bardziej szczegółowo

3.2 Warunki meteorologiczne

3.2 Warunki meteorologiczne Fundacja ARMAAG Raport 1999 3.2 Warunki meteorologiczne Pomiary podstawowych elementów meteorologicznych prowadzono we wszystkich stacjach lokalnych sieci ARMAAG, równolegle z pomiarami stê eñ substancji

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I - III Cel laboratorium

Bardziej szczegółowo

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

Informacje o omawianym programie. Założenia programu omawianego w przykładzie 1 Komunikacja człowiek - komputer Przedmiot: Komunikacja człowiek - komputer Ćwiczenie: 3 Temat dwiczenia: Projektowanie interfejsu programu typu bazodanowego dr Artur Bartoszewski CZĘŚD I analiza przykładowego

Bardziej szczegółowo

CZY JEDNYM POSUNIÊCIEM DA SIÊ ROZWI ZAÆ WSZYSTKIE UK ADY DWÓCH RÓWNAÑ LINIOWYCH?

CZY JEDNYM POSUNIÊCIEM DA SIÊ ROZWI ZAÆ WSZYSTKIE UK ADY DWÓCH RÓWNAÑ LINIOWYCH? 47. CZY JEDNYM POSUNIÊCIEM DA SIÊ ROZI ZAÆ SZYSTKIE UK ADY DÓCH RÓNAÑ LINIOYCH? 1. Realizowane treœci podstawy programowej Przedmiot Matematyka Informatyka Realizowana treœæ podstawy programowej 7. Równania.

Bardziej szczegółowo

ZAPYTANIE OFERTOWE NR 1

ZAPYTANIE OFERTOWE NR 1 dnia 16.03.2016 r. ZAPYTANIE OFERTOWE NR 1 W związku z realizacją w ramach Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2014-2020 Tytuł projektu: Wzrost konkurencyjności przedsiębiorstwa

Bardziej szczegółowo

Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych epuap. Załącznik nr 1

Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych epuap. Załącznik nr 1 Załącznik nr 1 do zarządzenia Nr 204/2014 Burmistrza Miasta Kudowa-Zdrój z dnia 5 sierpnia 2014 r. Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych

Bardziej szczegółowo

SAP Screen Personas. Ma gorzata Sztokfisz, SAP Polska Tomasz Jag o, SAP Polska 24 Maja 2013

SAP Screen Personas. Ma gorzata Sztokfisz, SAP Polska Tomasz Jag o, SAP Polska 24 Maja 2013 SAP Screen Personas Ma gorzata Sztokfisz, SAP Polska Tomasz Jag o, SAP Polska 24 Maja 2013 Agenda Czym jest i do czego s y SAP Screen Personas? Mo liwo ci SAP Screen Personas Przyk ady wiczenia - tworzenie

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

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie WÓJT GMINY RYJEWO Załącznik Nr 2 do Zarządzenia Nr 13/15 Wójta Gminy Ryjewo z dnia 20 lutego 2015 roku w sprawie zmiany treści zarządzenia Nr 45/14 Wójta Gminy Ryjewo z dnia 30 czerwca 2014 roku w sprawie

Bardziej szczegółowo

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego

Bardziej szczegółowo

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu

Bardziej szczegółowo

PILNE Informacje dotyczące bezpieczeństwa Aparat ultrasonograficzny AFFINITI 70 firmy Philips

PILNE Informacje dotyczące bezpieczeństwa Aparat ultrasonograficzny AFFINITI 70 firmy Philips Strona 1 z 5 Szanowni Państwo! W aparatach ultrasonograficznych AFFINITI 70 firmy Philips wykryto usterkę, która może stanowić potencjalne zagrożenie dla pacjentów lub użytkowników. Niniejsze informacje

Bardziej szczegółowo

Krótka informacja o instytucjonalnej obs³udze rynku pracy

Krótka informacja o instytucjonalnej obs³udze rynku pracy Agnieszka Miler Departament Rynku Pracy Ministerstwo Gospodarki, Pracy i Polityki Spo³ecznej Krótka informacja o instytucjonalnej obs³udze rynku pracy W 2000 roku, zosta³o wprowadzone rozporz¹dzeniem Prezesa

Bardziej szczegółowo

2.Prawo zachowania masy

2.Prawo zachowania masy 2.Prawo zachowania masy Zdefiniujmy najpierw pewne podstawowe pojęcia: Układ - obszar przestrzeni o określonych granicach Ośrodek ciągły - obszar przestrzeni którego rozmiary charakterystyczne są wystarczająco

Bardziej szczegółowo

Modu³ wyci¹gu powietrza

Modu³ wyci¹gu powietrza LabAirTec System dygestoriów LabAirTec Renggli pozwala zapewniæ podwy szony poziom bezpieczeñstwa oraz niezale noœæ, jednoczeœnie daj¹c wiêkszy komfort pracy. W wyniku wspó³pracy specjalistów od aerodynamiki

Bardziej szczegółowo

Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych

Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych Procedura weryfikacji badania czasu przebiegu 1 paczek pocztowych Warszawa 2012 (nowelizacja 2014) 1 zmiana nazwy zgodnie z terminologią zawartą w ustawie Prawo pocztowe Jednostka zlecająca: Urząd Komunikacji

Bardziej szczegółowo

Steelmate - System wspomagaj¹cy parkowanie z oœmioma czujnikami

Steelmate - System wspomagaj¹cy parkowanie z oœmioma czujnikami Steelmate - System wspomagaj¹cy parkowanie z oœmioma czujnikami Cechy: Kolorowy i intuicyjny wyœwietlacz LCD Czujnik wysokiej jakoœci Inteligentne rozpoznawanie przeszkód Przedni i tylni system wykrywania

Bardziej szczegółowo

Elementy i funkcjonalno

Elementy i funkcjonalno Konsola operatora Konsola operatora zapewnia dost p do najwa niejszych informacji o po czeniu i aktualnym statusie abonentów, dzi ki czemu u atwia przekazywanie po cze. Konsola przewy sza swoimi mo liwo

Bardziej szczegółowo

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009 SBQL język zapytań dla obiektowych baz danych Kamil Adamczyk Uniwersytet Warszawski 20.IV.2009 Spis treści 1. Wstęp 2. Obiektowe bazy danych Model danych Języki zapytań Dostępne produkty 3. Sbql Główne

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 6 RSC i CSC Znaczenie terminów CSC Complete nstruction Set Computer komputer o pełnej liście rozkazów. RSC Reduced nstruction Set Computer komputer o zredukowanej liście

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu

Bardziej szczegółowo

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM PROGRAM INWENTARYZACJI Poznań 2011 Spis treści 1. WSTĘP...4 2. SPIS INWENTARZA (EWIDENCJA)...5 3. STAŁE UBYTKI...7 4. INTERPRETACJA ZAŁĄCZNIKÓW

Bardziej szczegółowo

Sieci komputerowe cel

Sieci komputerowe cel Sieci komputerowe cel współuŝytkowanie programów i plików; współuŝytkowanie innych zasobów: drukarek, ploterów, pamięci masowych, itd. współuŝytkowanie baz danych; ograniczenie wydatków na zakup stacji

Bardziej szczegółowo

Zagro enia fizyczne. Zagro enia termiczne. wysoka temperatura ogieñ zimno

Zagro enia fizyczne. Zagro enia termiczne. wysoka temperatura ogieñ zimno Zagro enia, przy których jest wymagane stosowanie œrodków ochrony indywidualnej (1) Zagro enia fizyczne Zagro enia fizyczne Zał. Nr 2 do rozporządzenia MPiPS z dnia 26 września 1997 r. w sprawie ogólnych

Bardziej szczegółowo

Gie³da Papierów Wartoœciowych w Warszawie S.A.

Gie³da Papierów Wartoœciowych w Warszawie S.A. Gie³da Papierów Wartoœciowych w Warszawie S.A. (spó³ka akcyjna z siedzib¹ w Warszawie przy ul. Ksi¹ êcej 4, zarejestrowana w rejestrze przedsiêbiorców Krajowego Rejestru S¹dowego pod numerem 0000082312)

Bardziej szczegółowo

REGULAMIN WYNAGRADZANIA

REGULAMIN WYNAGRADZANIA Za³¹cznik do Zarz¹dzenia Nr 01/2009 Przewodnicz¹cego Zarz¹du KZG z dnia 2 kwietnia 2009 r. REGULAMIN WYNAGRADZANIA pracowników samorz¹dowych zatrudnionych w Komunalnym Zwi¹zku Gmin we W³adys³awowie Regulamin

Bardziej szczegółowo

WZORU UŻYTKOWEGO EGZEMPLARZ ARCHIWALNY. d2)opis OCHRONNY. (19) PL (n)62894. Centralny Instytut Ochrony Pracy, Warszawa, PL

WZORU UŻYTKOWEGO EGZEMPLARZ ARCHIWALNY. d2)opis OCHRONNY. (19) PL (n)62894. Centralny Instytut Ochrony Pracy, Warszawa, PL RZECZPOSPOLITA POLSKA Urząd Patentowy Rzeczypospolitej Polskiej d2)opis OCHRONNY WZORU UŻYTKOWEGO (21) Numer zgłoszenia: 112772 (22) Data zgłoszenia: 29.11.2001 EGZEMPLARZ ARCHIWALNY (19) PL (n)62894 (13)

Bardziej szczegółowo

Projektowanie struktury danych

Projektowanie struktury danych Jarosław aw Kuchta Rozproszonych Projektowanie qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

Wytyczne Menad era Funduszy Powierniczych

Wytyczne Menad era Funduszy Powierniczych 7. Wytyczne Menad era Funduszy Powierniczych dla wspólnych dzia³añ promocyjno-informacyjnych dotycz¹cych inicjatywy JEREMIE Projekt wspó³finansowany przez Uniê Europejsk¹ ze œrodków Europejskiego Funduszu

Bardziej szczegółowo

Ogólna charakterystyka kontraktów terminowych

Ogólna charakterystyka kontraktów terminowych Jesteś tu: Bossa.pl Kurs giełdowy - Część 10 Ogólna charakterystyka kontraktów terminowych Kontrakt terminowy jest umową pomiędzy dwiema stronami, z których jedna zobowiązuje się do nabycia a druga do

Bardziej szczegółowo

System wizyjny do wyznaczania rozp³ywnoœci lutów

System wizyjny do wyznaczania rozp³ywnoœci lutów AUTOMATYKA 2007 Tom 11 Zeszyt 3 Marcin B¹ka³a*, Tomasz Koszmider* System wizyjny do wyznaczania rozp³ywnoœci lutów 1. Wprowadzenie Lutownoœæ okreœla przydatnoœæ danego materia³u do lutowania i jest zwi¹zana

Bardziej szczegółowo

ZAGADNIENIA PODATKOWE W BRANŻY ENERGETYCZNEJ - VAT

ZAGADNIENIA PODATKOWE W BRANŻY ENERGETYCZNEJ - VAT ZAGADNIENIA PODATKOWE W BRANŻY ENERGETYCZNEJ - VAT Szanowni Państwo! Prowadzenie działalności w branży energetycznej wiąże się ze specyficznymi problemami podatkowymi, występującymi w tym sektorze gospodarki.

Bardziej szczegółowo

Harmonogramowanie projektów Zarządzanie czasem

Harmonogramowanie projektów Zarządzanie czasem Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł Kurzawa, Delfina Kongo Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management

Bardziej szczegółowo

Zalecenia dotyczące prawidłowego wypełniania weksla in blanco oraz deklaracji wekslowej

Zalecenia dotyczące prawidłowego wypełniania weksla in blanco oraz deklaracji wekslowej Zalecenia dotyczące prawidłowego wypełniania weksla in blanco oraz deklaracji wekslowej 1. Do wystawienia weksla in blanco umocowane są osoby, które w świetle ustawy, dokumentu założycielskiego i/lub odpisu

Bardziej szczegółowo

PADY DIAMENTOWE POLOR

PADY DIAMENTOWE POLOR PADY DIAMENTOWE POLOR Pad czerwony gradacja 400 Pady diamentowe to doskona³e narzêdzie, które bez u ycia œrodków chemicznych, wyczyœci, usunie rysy i wypoleruje na wysoki po³ysk zniszczone powierzchnie

Bardziej szczegółowo

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy Podr cznik u ytkownika Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy Masz pytanie? zadzwo 693 936 046 lub napisz handel@symfoniadodatki.pl SPIS TRE CI 1. Instalacja dodatku

Bardziej szczegółowo

F Ă MD LH Q D ] G È ] U

F Ă MD LH Q D ] G È ] U Metoda 5S Fachowa VERLAG DASHÖFER Wydawnictwo VERLAG DASHOFER Sp. z o.o. Świat profesjonalnej wiedzy al. Krakowska 271, 02 133 Warszawa tel.: 22 559 36 00, 559 36 66 faks: 22 829 27 00, 829 27 27 Ksi¹

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Elementy algorytmiki C w środowisku.e (C#) dr inŝ. Grzegorz Zych Copernicanum, pok. 104 lub 206a 1 Minimum programowe reści kształcenia: Pojęcie algorytmu. Podstawowe konstrukcje

Bardziej szczegółowo

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci Rozwiązywanie nazw w sieci Identyfikowanie komputerów w sieci Protokół TCP/IP identyfikuje komputery źródłowe i docelowe poprzez ich adresy IP. Jednakże użytkownicy łatwiej zapamiętają słowa niż numery.

Bardziej szczegółowo

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Temat: Funkcje. Własności ogólne A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Kody kolorów: pojęcie zwraca uwagę * materiał nieobowiązkowy A n n a R a

Bardziej szczegółowo

Wytyczne Województwa Dolnoœl¹skiego

Wytyczne Województwa Dolnoœl¹skiego 2. Wytyczne Województwa Dolnoœl¹skiego Projekt wspó³finansowany przez Uniê Europejsk¹ ze œrodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego dla Województwa

Bardziej szczegółowo