Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. UŁ. Tadeusz Antczak. Transakcje

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

Download "Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. UŁ. Tadeusz Antczak. Transakcje"

Transkrypt

1 Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu, jak i pojęcia odtwarzalności bazy danych. Transakcja jest to wykonywany program lub proces, na który składa się jeden lub więcej operacji dostępu do danych (takich jak np. odczytywanie danych, aktualizacja danych, itp.). Transakcja jest logiczną jednostką pracy w bazie danych. Transakcja może składać się z: pojedynczej operacji wykonywanej na bazie danych (np. polecenia wstawienia nowego rekordu danych poleceniem INSERT), dowolnej liczby operacji wykonywanych na bazie danych, całego programu aplikacji (dotyczącego działań wykonywanych w bazie) lub pewnej jego części. Uwaga. Z punktu widzenia bazy danych, wykonanie programu aplikacji można uważać za ciąg transakcji przeplatanych operacjami nie związanymi z bazą danych. Przykłady transakcji Przykład 1. Przykładem prostej transakcji w rozważanym przykładzie sprzedaży produktów w hurtowni może być podwyżka ceny jednostkowej o 5% produktu o wskazanym numerze. W języku abstrakcyjnym możemy ją zapisać w postaci READ(nrproduktu = X, cenajednostkowa) nowa_cenajednostkowa = cenajednostkowa*1,05 WRITE(nrproduktu = X, nowa_cenajednostkowa) gdzie: READ(X) odczyt jednostki danych X, WRITE(X) zapis jednostki danych X, READ(nrproduktu = X, cena jednostkowa) oznacza odczyt atrybutu cenajednostkowa krotki o wartości klucza głównego równej X. W rozważanym przypadku mamy do czynienia z transakcją składającą się z dwóch instrukcji dostępu do bazy danych (READ i WRITE), oraz instrukcji operacyjnej, czyli nie wykonywanej na bazie danych, tj. instrukcji nowa_cenajednostkowa = cenajednostkowa*1,05 Przykład 2. Przykładem nieco bardziej skomplikowanej transakcji w rozważanym przykładzie sprzedaży produktów w hurtowni może być usunięcie klienta o wskazanym numerze X. delete(kod_klienta = X) for all Zamówienia records, nrzam begin READ(nr_zamówienia = nrzam, kod_klienta) 1

2 if(kod_klienta = X) then begin for all Opisy_zamówień records begin READ(nr_zamówienia = nrzam, nr_zamówienia) DELETE(nr_zamówienia) end DELETE(nr_zamówienia = nrzam) end end W rozważanym przypadku, oprócz usunięcia krotki relacji Klienci, musimy także odnaleźć wszystkie krotki relacji Zamówienia, które zawierają zamówienia złożone przez danego klienta, aby je usunąć z tej relacji. Ale, aby usunąć krotki relacji Zamówienia, musimy najpierw usunąć krotki relacji Opisy_zamówień, które opisują zamówienia złożone przez klienta przeznaczonego do usunięcia. Własności transakcji Gdybyśmy nie wykonali powyższych modyfikacji, to wtedy baza danych utraciłaby integralność referencyjną i znalazłaby się w stanie niespójnym zawierałaby zamówienia, które nie byłyby przypisane żadnemu klientowi oraz zawierałaby opisy zamówień, których już nie byłoby w bazie. Transakcja powinna zawsze przeprowadzać bazę danych ze stanu spójnego w stan spójny, choć w trakcie jej trwania dopuszczalna jest możliwość naruszenia spójności. Przykładowo, rozważmy przypadek gdy któryś z pracowników zachoruje i wszystkie rozpoczęte przez niego zamówienia, a jeszcze niezakończone musi przejąć inny pracownik. Wówczas podczas wykonywania transakcji dotyczącej realizacji tej sytuacji może wystąpić moment, gdy jedna krotka relacji Zamówienia nową wartość kodu_pracownika, a druga nadal starą wartość kodu_pracownika. Jednak po zakończeniu transakcji, wszystkie krotki, których dotyczy modyfikacja w ramach tej transakcji, powinny mieć wpisaną nową wartość kodu_pracownika Rodzaje transakcji w oparciu o ich wynik Transakcja może zakończyć się na jeden z dwóch sposobów i związku z tym mówimy, że: transakcja została zatwierdzona, inaczej wypełniona (ang. commited) jeśli transakcja zakończy się sukcesem, transakcja została odrzucona (ang. aborted), inaczej wycofana (ang. rolled back) jeśli transakcja nie może być wykonana do końca z powodzeniem. Transakcji wypełnionej nie wolno wycofywać. W przypadku stwierdzenia, iż wykonanie transakcji było błędem, należy wykonać inną transakcję, tzw. transakcję kompensacyjną, która pozwoli odwrócić efekty błędnej transakcji. Transakcję wycofaną można powtórnie uruchamiać, i w zależności od powodu wycofania za pierwszym razem, za drugim uruchomieniem może udać się jej wykonanie do samego końca. 2

3 SZBD a określenie transakcji SZBD samodzielnie nie posiada możliwości określenia, które operacje powinny częścią składową jednej logicznej transakcji. Z tego powodu to sam użytkownik musi być wyposażony w sposób określania granic transakcji. W języku SQL istnieją następujące instrukcje dotyczące działań na transakcjach: BEGIN TRANSACTION inicjowanie nowej transakcji, COMMIT kończenie transakcji przez zatwierdzenie wszystkich działań wykonanych podczas transakcji, ROLLBACK kończenie transakcji przez wycofanie wszystkich działań wykonanych podczas transakcji. Uwaga. Jeśli w programie nie występują powyższe instrukcje, to zazwyczaj traktuje się go jako pojedynczą transakcję i w takim przypadku automatycznie jest wykonywana przez system operacja zatwierdzania COMMIT, gdy kończy się ona powodzeniem, natomiast w przypadku przeciwnym, automatycznie jest wykonywana operacja wycofania ROLLBACK. Wielodostęp w bazach danych Zasadniczy sposób wykorzystania baz danych polega na umożliwieniu wielu użytkownikom jednoczesnego dostępu do baz danych. Jak wskazuje sama nazwa, wielodostępny system zarządzania bazą danych umożliwia wielu użytkownikom jednoczesny dostęp do bazy danych. Ta właściwość ma znaczenie, jeśli z pojedynczą bazą danych chcemy zintegrować wiele aplikacji. System zarządzania bazą danych musi zawierać wtedy oprogramowanie sterowania współbieżnego (ang. concurrency control). Jedną z jego podstawowych własności jest zapewnienie wielu użytkownikom w kontrolowany sposób możliwość podejmowania prób aktualizacji tych samych danych oraz zagwarantowanie, iż efekt tych działań nie spowoduje niespójności bazy danych. Przykładowo, jeśli wiele biur podróży spowoduje jednocześnie zarezerwować miejsce na wycieczce dla swoich klientów, system zarządzania bazą danych powinien zagwarantować dostępność każdego miejsca (np. w wycieczkowym autobusie) tylko dla jednego klienta obsługiwanego przez jedno z biur. Tego typu zastosowania są określane ogólnym mianem rozwiązań z przetwarzaniem transakcji na bieżąco ( ang. Online Transaction Processing OLTP). Własności transakcji SZBD jest zaopatrzony w pewien mechanizm, który wymusza wiele własności transakcji (właściwie to za zagwarantowanie poszczególnych własności transakcji są odpowiedzialne wyodrębnione składniki SZBD). Transakcja, którą można traktować jako zespół operacji wykonywanych na bazie danych (SELECT, INSERT, UPDATE, DELETE ), charakteryzuje się następującymi własnościami: niepodzielność (atomicity) spójność stanu (consistency) wyłączność (isolation) trwałość (durability) szeregowalność (serializability) własność niepodzielności (atomowość) (ang. atomicity) gwarantuje, iż albo wszystkie operacje przeprowadzane na danych przechowywanych w bazie danych w ramach pojedynczej transakcji zostaną 3

4 wykonane, albo żadna z nich nie zostanie przeprowadzona za zapewnienie tej własności odpowiada system odtwarzania SZBD. własność spójności (ang. consistency) gwarantuje, iż każda transakcja musi przekształcać bazę danych z jednego stanu spójnego w inny stan spójny zapewnienie tej własności leży zarówno po stronie SZBD, jak i po stronie użytkownika. własność izolacji (wyłączności) (ang. isolation) gwarantuje, iż każda transakcja zostanie wykonana w ten sposób, iż będzie odseparowana od pozostałych transakcji. własność trwałości (ang. durability) gwarantuje, iż rezultaty zakończonej z powodzeniem transakcji są na trwale zapisane w bazie danych i nie mogą być utracone w wyniku jakiegoś późniejszej awarii za zapewnienie tej własności odpowiada podsystem odtwarzania SZBD. własność szeregowalności (ang. serializability) efekt wykonania kilku transakcji jednocześnie (z przełączaniem zadań) musi być równoważny oddzielnemu wykonaniu każdej z nich w pewnej ustalonej kolejności. Wówczas transakcje takie nazywamy szeregowalnymi. Stan spójny bazy danych Stan spójny (consistent state) bazy danych spełnia więzy określone w jej schemacie, jak również wszelkie inne więzy, które powinny być zachowane. Można w pewnym uproszczeniu powiedzieć także, iż stan spójny bazy danych to stan, w którym wszelkie istniejące powiązania pomiędzy obiektami tworzą logiczną całość tzn. np. nie ma odwołań do obiektów nie istniejących w bazie. Z tego punktu widzenia program bazodanowy powinien być zatem napisany w sposób gwarantujący, iż jeżeli baza danych znajduje się w stanie spójnym przed wykonaniem transakcji, to będzie również w stanie spójnym po zakończeniu wykonywania transakcji, przy założeniu, iż nie występują żadne kolizje z innym transakcjami. Przyczyny powodujące załamanie procesu wykonania transakcji błędy systemu komputerowego (system crash) awarie związane z oprogramowaniem lub sprzętem, zaistniałe podczas wykonywania transakcji; prawie zawsze związane są z utratą zawartości pamięci operacyjnej komputera. błędy transakcji lub systemu zarządzania baza danych (SZBD) załamanie wykonania może być spowodowane np. próbą wykonania przez transakcję operacji dzielenia przez zero, przekroczeniem zakresu typu danych, niewłaściwą wartością parametru lub poleceniem BREAK wydanym przez operatora. błędy lokalne i wyjątki wykryte przez transakcje przykładem okoliczności zmuszających do przerwania transakcji jest np. w bankowej bazie danych, niewystarczający stan konta, uniemożliwiający wykonanie operacji przelewu pieniędzy. Transakcja sama powinna obsłużyć sytuację, wykonując operację ABORT. awarie dysku błędy zapisu lub odczytu danych z powierzchni dyskowych podczas wykonywania transakcji. kontrola współbieżności procesy bazy odpowiedzialne za kontrolę dostępu równoległego mogą zadecydować o konieczności przerwania transakcji i jej późniejszym restarcie; przyczyną może być niespełnienie warunku szeregowalności czy też wykrycie stanu zakleszczenia. przyczyny zewnętrzne wynikające z zaniku napięcia, przypadkowego lub celowego zamazania danych przez operatora, pożaru, powodzi, kradzieży, itp. 4

5 Podstawowe operacje należące do transakcji Aby wyjaśnić pojęcia dotyczące przetwarzania transakcji w bazach danych, przyjmuje się pewien uproszczony model bazy danych, w którym baza danych jest zasadniczo reprezentowana jako zbiór nazwanych elementów danych (mogą nimi być pole, rekord, a nawet cały blok dyskowy). W przypadku wykorzystania uproszczonego modelu bazy danych za podstawowe operacje dostępu do bazy danych przyjmuje się: READ(X) odczytuje element bazy danych o nazwie X do zmiennej programowej (w celu uproszczenia przyjętej notacji zakłada się, iż zmienna programowa również nosi nazwę X; WRITE(X) zapisuje wartość zmiennej programowej X w elemencie bazy danych o nazwie X. Omówione teraz zostaną problemy, z jakimi mamy do czynienia w przypadku wykonywania transakcji w sposób niekontrolowany. Problem utraconej aktualizacji Problem utraconej aktualizacji występuje w przypadku, gdy dwie transakcje uzyskujące dostęp do tych samych elementów bazy danych są związane z przeplotem ich operacji w taki sposób, iż wartości pewnych elementów bazy danych stają się błędne. Przykład. Rozpatrzmy przykład dwóch transakcji, dla których podczas ich wykonania mamy do czynienia z problemem utraconej aktualizacji. Problem aktualizacji tymczasowej Problem aktualizacji tymczasowej występuje w przypadku, gdy jedna transakcja aktualizuje element bazy danych, a następnie transakcja ta z pewnego powodu kończy się niepowodzeniem. Jest on konsekwencją tego, iż do zaktualizowanego elementu dostęp uzyskuje inna transakcja, zanim zostanie on zmieniony na swoją oryginalną wartość. Przykład. Rozpatrzmy przykład dwóch transakcji, dla których podczas ich wykonania mamy do czynienia z problemem aktualizacji tymczasowej. 5

6 Problem błędnej sumy Problem błędnej sumy występuje w przypadku, gdy jedna transakcja oblicza wartość funkcji agregującej podsumowania na wielu rekordach, podczas gdy inna transakcja aktualizuje niektóre z tych rekordów. W takim przypadku funkcja agregująca może uwzględnić w obliczeniach pewne wartości przed ich aktualizacją, a inne już po ich zaktualizowaniu. Przykład. Rozpatrzmy przykład dwóch transakcji, dla których podczas ich wykonania mamy do czynienia z problemem błędnej sumy. Problem odczytu niepowtarzalnego Problem odczytu niepowtarzalnego (unrepeatable READ) występuje w przypadku, gdy jedna transakcja T 1 odczytuje element dwukrotnie, przy czym element ten zostaje zmieniony przez inną transakcję T 2 pomiędzy tymi dwoma odczytami transakcji T 1. Przykład. Rozpatrzmy przykład dwóch transakcji, dla których podczas ich wykonania mamy do czynienia z problemem odczytu niepowtarzalnego. Harmonogram Kolejność wykonywania operacji związanych (blokowanie, odczyt, zapis, itp.) z różnymi transakcjami w przypadku, gdy transakcje są wykonywane współbieżnie w technice przeplotu określa się mianem harmonogramu (schedule) zbioru transakcji (w skrócie, hamonogramem) albo historii. Harmonogram S, inaczej historia, zbioru n transakcji T 1, T 2,, T n jest uporządkowaniem operacji transakcji podlegającym ograniczeniu, które określa, że dla każdej transakcji T i należącej do harmonogramu S, operacje tej transakcji w S muszą występować w tej samej kolejności, w jakiej występują w T i. Należy jednak podkreślić fakt, iż operacje związane z innymi transakcjami T j mogą się przeplatać z operacjami transakcji T i. 6

7 Operacje konfliktowe Lp. T 1 T 2 1. READ(X) 2. READ(X) 3. X = X WRITE(X) 5. X = X WRITE(X) Mówimy, iż dwie operacje w harmonogramie są w stanie konfliktu, gdy spełniają następujące trzy warunki: należą do różnych transakcji, uzyskują dostęp do tego samego elementu X, przynajmniej jedna z operacji jest operacją WRITE(X). Przykład. Rozpatrzmy harmonogram w skróconej notacji opisu rozpatrzony na slajdzie dotyczącym przedstawienia problemu utraconej aktualizacji: S: READ 1 (X); READ 2 (X); WRITE 1 (X); READ 1 (Y); WRITE 2 (X); WRITE 1 (Y); Przykładowo, w harmonogramie S operacje READ 1 (X) oraz WRITE 2 (X) są w konflikcie, podobnie jak operacje READ 2 (X) i WRITE 1 (X), a także operacje WRITE 1 (X) i WRITE 2 (X). Natomiast operacje READ 1 (X) i READ 2 (X) nie są w konflikcie, ponieważ obie są operacjami odczytu. Także i operacje WRITE 2 (X) i WRITE 1 (Y) nie są w konflikcie, gdyż operują na odrębnych elementach bazy danych. Z kolei operacje READ 1 (X) i WRITE 1 (X) nie są w konflikcie, gdyż stanowią część składowej tej samej transakcji. Harmonogram sekwencyjny i szeregowalny Definicja. Harmonogram zbioru transakcji nazywamy sekwencyjnym (serial), jeśli wszystkie operacje każdej transakcji występują kolejno po sobie. Lp. T 1 T 2 1. READ(X) 2. X = X WRITE(X) 4. READ(X) 5. X = X WRITE(X) Definicja. Harmonogram transakcji nazywamy szeregowalnym (seriazable), jeśli jego wynik jest równoważny wynikowi otrzymanemu za pomocą pewnego harmonogramu sekwencyjnego. Przykład ilustrujący różne typy harmonogramów Przykład. W poniższym przykładzie zilustrujemy różnice pomiędzy różnymi typami harmonogramów. W tym celu rozważmy dwie transakcje przelewu pewnych kwot pieniężnych z konta na konto. T 1 : READ(A), A = A - 100, WRITE(A); READ(B), B = B + 100, WRITE(B); T 2 : READ(B), B = B - 200, WRITE(B); READ(C), C = C + 200, WRITE(C); każdy harmonogram sekwencyjny powyższych transakcji ma własność zachowania sumy, tj. A + B + C; 7

8 przestawienia kolejności wykonywania pojedynczych operacji wewnątrz transakcji mogą doprowadzić do stworzenia następujących harmonogramów: niesekwencyjnych, ale szeregowalnych (sytuacja pożądana); albo nieszeregowalnych (sytuacja niepożądana). Przykład harmonogramu sekwencyjnego Przykład harmonogramu szeregowalnego, niesekwencyjnego Przykład harmonogramu nieszeregowalnego 8

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu,

Bardziej szczegółowo

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu,

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać

Bardziej szczegółowo

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące

Bardziej szczegółowo

Zarządzanie transakcjami

Zarządzanie transakcjami Zarządzanie transakcjami Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami powinny posiadać właściwości ACID: Atomowość (atomicity) każda transakcja stanowi pojedynczą

Bardziej szczegółowo

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3 Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład 9

PODSTAWY BAZ DANYCH Wykład 9 PODSTAWY BAZ DANYCH Wykład 9 7. Transakcje Podstawy teoretyczne 2005/2006 Wykład "Podstawy baz danych" 1 Zbiór cech transakcji Transakcja jest to zespół operacji na bazie danych (INSERT, UPDATE, DELETE

Bardziej szczegółowo

Bazy danych wykład dziewiaty Transakcje. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Bazy danych wykład dziewiaty Transakcje. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa) Bazy danych wykład dziewiaty Transakcje Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dziewiaty Transakcje 1 / 42 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów

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

przykłady problemów; realizacja dostaw części od producenta do klienta:

przykłady problemów; realizacja dostaw części od producenta do klienta: Przetwarzanie transakcyjne Transakcja zestaw operacji pod szczególną kontrolą transakcja to sekwencja operacji, która musi zakończyć się sukcesem w całości - w przeciwnym wypadku musi powrócić stan początkowy

Bardziej szczegółowo

Właściwości transakcji

Właściwości transakcji Transakcje Właściwości transakcji Transakcja jednostka operowania na bazie danych podlegająca kontroli i sterowaniu System zarządzania transakcjami ma za zadanie takie sterowanie operacjami na bazie danych,

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 11. Transakcje. 2009/ Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 11. Transakcje. 2009/ Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 11. Transakcje 1 Zbiór cech transakcji Transakcja jest to zespół operacji na bazie danych (INSERT, UPDATE, DELETE) charakteryzujący się następującymi własnościami: Niepodzielność (Atomicity)

Bardziej szczegółowo

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

BAZY DANYCH. Transakcje. opracowanie: Michał Lech BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji

Bardziej szczegółowo

Bazy danych 2. Wykład 6 Transakcje

Bazy danych 2. Wykład 6 Transakcje Bazy danych 2 Wykład 6 Transakcje Transakcje Def. Transakcjami nazywamy logiczne jednostki pracy które wprowadzają zmiany do bazy danych lub które wyszukują dane O transakcjach mówimy w kontekście: aktualizacji

Bardziej szczegółowo

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca

Bardziej szczegółowo

070 TRANSAKCJE. Prof. dr hab. Marek Wisła

070 TRANSAKCJE. Prof. dr hab. Marek Wisła 070 TRANSAKCJE Prof. dr hab. Marek Wisła Transakcja - definicja Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, przeprowadzających bazę danych z jednego stanu spójnego w inny

Bardziej szczegółowo

Wprowadzenie (1) Przetwarzanie transakcyjne. Wprowadzenie (2) Problemy przygotowania aplikacji

Wprowadzenie (1) Przetwarzanie transakcyjne. Wprowadzenie (2) Problemy przygotowania aplikacji 1 Wprowadzenie (1) 2 Baza danych jest abstrakcyjnym odzwierciedleniem wybranego fragmentu rzeczywistości (ang. miniworld) Przetwarzanie transakcyjne świat rzeczywisty miniworld' DB świat wirtualny miniworld'

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Transakcje i ich właściwości Transakcje Tadeusz Pankowski wwwputpoznanpl/~tadeuszpankowski W SZBD stosuje się pojęcie transakcji jako jednostki operowania na bazie danych podlegającej sterowaniu i kontroli

Bardziej szczegółowo

Przechowywanie danych

Przechowywanie danych Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego i proste rozwiązanie polegające na przechowywaniu każdej tabeli w jednym pliku, informacji o

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

Bazy danych. Plan wykładu. Czynniki wpływające na fizyczny projekt bazy danych. bazy danych

Bazy danych. Plan wykładu. Czynniki wpływające na fizyczny projekt bazy danych. bazy danych Plan wykładu Bazy danych Wykład 13: Praktyczne projektowanie i strojenie baz danych. Wstęp do transakcji. Budowa fizycznego projektu bazy danych Strojenie bazy danych Transakcje Małgorzata Krętowska e-mail:

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 7 Dynamiczny SQL i PL/SQL Pierwotny dynamiczny SQL Pierwotny dynamiczny DDL Pierwotny dynamiczny DML i SELECT Pakiet DBMS_SQL Transakcje

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?

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

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia). POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane

Bardziej szczegółowo

I. Techniki wielowersyjne sterowania współbieżnością

I. Techniki wielowersyjne sterowania współbieżnością I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane

Bardziej szczegółowo

Czym jest baza danych?

Czym jest baza danych? Czym jest baza danych? Dane = znane fakty. Baza danych to zbiór powiązanych ze sobą danych, które można w jakiś sposób zarejestrować i które mają konkretne znaczenie. Przykład: książka adresowa. Jan Kowalski

Bardziej szczegółowo

Bazy danych w sterowaniu

Bazy danych w sterowaniu Bazy danych w sterowaniu systemy transakcyjne sterowanie dostępem współbieżnym Stan spójny bazy danych zgodność z możliwym stanem reprezentowanego fragmentu świata rzeczywistego; spełnione są wszystkie

Bardziej szczegółowo

Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii

Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii Podstawy teoretyczne baz danych Recovery Transakcyjne odtwarzanie bazy danych po awarii Cel odtwarzania Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego

Bardziej szczegółowo

Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych Plan ćwiczenia Rozdział 17 Zarządzanie współbieżnością Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy

Bardziej szczegółowo

Bazy danych 9. SQL Klucze obce Transakcje

Bazy danych 9. SQL Klucze obce Transakcje Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna

Bardziej szczegółowo

Wielowersyjne metody synchronizacji transakcji

Wielowersyjne metody synchronizacji transakcji Wielowersyjne metody synchronizacji transakcji Jednowersyjne algorytmy synchronizacji Wszystkie modyfikacje danych polegają na zniszczeniu starej wartości danych i wpisaniu w jej miejsce nowej wartości.

Bardziej szczegółowo

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. Temat: Wyzwalacze (triggery). Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę a następnie trigger

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

2014-06-30 21:11 BD_1_W9

2014-06-30 21:11 BD_1_W9 Wykład 9 Niezawodność bazy danych Odtwarzanie spójnego stanu bazy Odtwarzanie stanu bazy na podstawie dziennika transakcji Odtwarzanie nośników 1 Bardzo ważną funkcją systemu zarządzania bazą danych jest

Bardziej szczegółowo

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC

Bardziej szczegółowo

Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF

Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF 1 Cel odtwarzania 2 Transakcyjne odtwarzanie bazy danych Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego stanu bazy danych Definicja odtwarzania

Bardziej szczegółowo

Transakcje jednocześnie ACID

Transakcje jednocześnie ACID Transakcje Transakcja to zbiór operacji (u nas - instrukcji języka SQL), które mogą być wykonane jedynie wszystkie lub żadna. Nazwa takiego ciągu instrukcji pochodzi od operacji bankowych - przelew musi

Bardziej szczegółowo

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne Przetwarzanie transakcyjne Wprowadzenie (1) Baza danych jest abstrakcyjnym odzwierciedleniem wybranego fragmentu rzeczywistości (ang. miniworld) Baza danych jest spójna jeżeli jej stan odpowiada stanowi

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa Wprowadzenie do projektowania i wykorzystania baz danych Katarzyna Klessa POWTÓRKA Z PIERWSZYCH ZAJĘĆ Lista słówek - do zapamiętania na początek Z podstaw SQL: CREATE - Tworzenie tabeli, czyli Coś czego

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE

Bardziej szczegółowo

Rozproszone i obiektowe systemy baz danych

Rozproszone i obiektowe systemy baz danych Rozproszone i obiektowe systemy baz danych Dr inż. Robert Wójcik Wykład 7. Transakcje i zapytania rozproszone 7.1. Transakcje rozproszone 7.2. Zapytania rozproszone 7.1. Transakcje rozproszone W systemach

Bardziej szczegółowo

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail. Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,

Bardziej szczegółowo

Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny

Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny Zarządzanie współbieżnością transakcji Definicja transakcji Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan

Bardziej szczegółowo

OLTP Przetwarzanie Transakcyjne

OLTP Przetwarzanie Transakcyjne ZTB: OLTP Przetwarzanie Transakcyjne 1 Zaawansowane Technologie Bazodanowe Wykład p.t. OLTP Przetwarzanie Transakcyjne ZTB: OLTP Przetwarzanie Transakcyjne 2 Pojęcie transakcji w bazach danych Transakcje

Bardziej szczegółowo

Wyzwalacze (triggery) Przykład

Wyzwalacze (triggery) Przykład Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany

Bardziej szczegółowo

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach

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

Transakcje Wykład z bazy danych dla studen

Transakcje Wykład z bazy danych dla studen Transakcje Wykład z bazy danych dla studentów matematyki 19 kwietnia 2015 Transakcje Jedno z podstawowych pojęć współczesnych systemów baz danych. Umożliwiaja współbieżny dostęp do baz danych dostarczajac

Bardziej szczegółowo

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I Wykład przygotował: Tadeusz Morzy BD wykład 9 Celem wykładu jest przedstawienie i omówienie podstawowych algorytmów zarządzania współbieżnym

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa

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

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II Wykład przygotował: Tadeusz Morzy BD wykład 9 Kontynuujemy prezentację i omówienie algorytmów zarządzania współbieżnym wykonywaniem transakcji.

Bardziej szczegółowo

Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych Plan ćwiczenia Rozdział 17 Zarządzanie współbieżnością Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy

Bardziej szczegółowo

Inżynieria oprogramowania. Faza implmentacji. wykład 7

Inżynieria oprogramowania. Faza implmentacji. wykład 7 Inżynieria oprogramowania Faza implmentacji wykład 7 Charakterystyka fazy implementacji Faza określenia wymagań: CO system ma robić? Faza analizy: JAK system ma działać? Faza projektowania: JAK system

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

Rozdział 17. Zarządzanie współbieżnością zadania

Rozdział 17. Zarządzanie współbieżnością zadania Rozdział 17. Zarządzanie współbieżnością zadania Transakcja DML 1. Uruchom narzędzie Oracle SQL Developer i przyłącz się do bazy danych. Następnie rozpocznij nową transakcję, zmieniając pracownikowi o

Bardziej szczegółowo

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych 2005/2006 Wykład "Podstawy baz danych" 1 Statyczny model pamiętania bazy danych 1. Dane przechowywane są w pamięci zewnętrznej podzielonej

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Recovery Transakcyjne odtwarzanie bazy danych po awarii

Recovery Transakcyjne odtwarzanie bazy danych po awarii Recovery Transakcyjne odtwarzanie bazy danych po awarii Wykład przygotował: Tadeusz Morzy BD wykład 11 Tematem wykładu jest problem odtwarzania spójnego stanu bazy danych po awarii. Rozpoczniemy od krótkiego

Bardziej szczegółowo

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka

Bardziej szczegółowo

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

Bazy danych 9. Klucze obce Transakcje. P. F. Góra Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób

Bardziej szczegółowo

Adam Cankudis IFP UAM

Adam Cankudis IFP UAM W s t ę p d o r e l a c y j n y c h b a z d a n y c h Adam Cankudis IFP UAM B i b l i o g r a f i a T. Morzy i in., Bazy danych, [w:] Studia Informatyczne, Pierwszy stopie ń, http://wazniak.mimuw.edu.pl/

Bardziej szczegółowo

Bazy danych 6a. Transakcje. P. F. Góra

Bazy danych 6a. Transakcje. P. F. Góra Bazy danych 6a. Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Transakcje Pojedynczy użytkownik ochrona szczególnie wrażliwych fragmentów. Transakcja wykonuje się albo w całości, albo

Bardziej szczegółowo

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna

Bardziej szczegółowo

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ Wykład 4 Katedra Inżynierii Komputerowej Jakub Romanowski jakub.romanowski@kik.pcz.pl Operacje na tabelach C/AL Poniższe funkcje odpowiadają za operacje modyfikacji

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

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

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

UPDATE konta /* dodaj do konta B kwotę N */ UPDATE konta /* odejmij kwotę N z konta A */ WHERE id_konta = B; SET stan = stan + N

UPDATE konta /* dodaj do konta B kwotę N */ UPDATE konta /* odejmij kwotę N z konta A */ WHERE id_konta = B; SET stan = stan + N Definicja transakcji Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny Stan spójny bazy danych Stan spójny

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

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

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Rozproszone bazy danych Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Scentralizowana baza danych Dane są przechowywane w jednym węźle sieci Można

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

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

Tadeusz Pankowski

Tadeusz Pankowski Planista (scheduler) Transakcje Blokowanie Dwufazowe (B2F) Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Zarządzaniem transakcjami zajmuje się wyspecjalizowany moduł planisty. Planista związany

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE Poznań 2011 Spis treści 1. Zamawianie i rezerwowanie definicja pojęć...3 2. Zasada działania systemu...4 3. Zamawianie

Bardziej szczegółowo

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem

Bardziej szczegółowo

Doc. dr inż. Maria Chałon. Ochrona i bezpieczeństwo danych

Doc. dr inż. Maria Chałon. Ochrona i bezpieczeństwo danych Doc. dr inż. Maria Chałon Ochrona i bezpieczeństwo danych Integralność baz danych Integralność (ang.data integrity) to formalna poprawność bazy danych, jej fizycznej organizacji, zgodność ze schematem

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

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

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

Typy tabel serwera MySQL

Typy tabel serwera MySQL Typy tabel serwera MySQL Kopie zapasowe baz danych Zabezpieczanie serwera MySQL Zakładanie konta użytkownika z określonymi uprawnieniami Zarządzanie kontem i bazą danych Kilka kolejnych informacji na temat

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

Bazy danych 7. Klucze obce Transakcje. P. F. Góra

Bazy danych 7. Klucze obce Transakcje. P. F. Góra Bazy danych 7. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób

Bardziej szczegółowo

Izolacje transakcji oraz anomalie. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Izolacje transakcji oraz anomalie. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Izolacje transakcji oraz anomalie Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW SZBD (DBMS) a transakcji Przetwarzanie transakcyjne wymaga znaczącego

Bardziej szczegółowo

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database

Bardziej szczegółowo

Wstęp do programowania 2

Wstęp do programowania 2 Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia

Bardziej szczegółowo

TECHNIKI STEROWANIA WSPÓŁBIEŻNOŚCIĄ. I. Wybrane problemy współbieżności. Utracona aktualizacja (lost update)

TECHNIKI STEROWANIA WSPÓŁBIEŻNOŚCIĄ. I. Wybrane problemy współbieżności. Utracona aktualizacja (lost update) TECHNIKI STEROWANIA WSPÓŁBIEŻNOŚCIĄ I. Wybrane problemy współbieżności Utracona aktualizacja (lost update) Przykład: Mąż wybiera 300 zł (ze wspólnego z żoną konta) w bankomacie A, w tym samym czasie żona

Bardziej szczegółowo

Podstawy Systemów Zarządzania Baz Danych

Podstawy Systemów Zarządzania Baz Danych Podstawy Systemów Zarządzania Baz Danych 1. System Zarządzania Bazą Danych (SZBD) System Zarządzania Bazą Danych to zorganizowany zbiorem narzędzi umożliwiających definiowanie i konstruowanie bazy danych,

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Ćwiczenie 9 współbieŝność

Ćwiczenie 9 współbieŝność Bazy Danych Ćwiczenie 9 współbieŝność Zarządzanie współbieŝnością Ćwiczenie 9 współbieŝność Niniejsze ćwiczenie zaprezentuje zagadnienia związane z problemami wynikającymi ze współbieŝnego dostępu uŝytkowników

Bardziej szczegółowo