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

Podobne dokumenty
INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne

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

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

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

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

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

Wielowersyjne metody synchronizacji transakcji

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Właściwości transakcji

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

Zarządzanie transakcjami

Bazy danych 2. Wykład 6 Transakcje

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

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

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

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

Bazy danych. Dr inż. Paweł Kasprowski

Tadeusz Pankowski

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

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

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

Bazy danych w sterowaniu

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

Tadeusz Pankowski

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

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

Ćwiczenie 9 współbieŝność

Bazy danych Transakcje

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

Bazy danych 9. SQL Klucze obce Transakcje

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

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

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Transakcje. Bazy danych 155

Oracle PL/SQL. Paweł Rajba.

Wykład 8. SQL praca z tabelami 5

Recovery Transakcyjne odtwarzanie bazy danych po awarii

Transakcje jednocześnie ACID

Wykład I. Wprowadzenie do baz danych

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

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

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

Rozproszone bazy danych 2

PODSTAWY BAZ DANYCH Wykład 9

Dazy Banych. Michał Rusnarczyk

Transakcje Wykład z bazy danych dla studen

Rozproszone i obiektowe systemy baz danych

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

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

Hbase, Hive i BigSQL

Relacje. Zdania opisujące stosunki dwuczłonowe mają ogólny wzór budowy: xry, co czytamy: x pozostaje w relacji R do y.

Adam Cankudis IFP UAM

:11 BD_1_W9

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

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

Sortowanie topologiczne skierowanych grafów acyklicznych

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

Teoria automatów i języków formalnych. Określenie relacji

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

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

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

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

Bazy danych 9. Klucze obce Transakcje

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

Podstawy języka SQL - dokończenie TRANSAKCJE 1

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Złożona struktura transakcji

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

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

Informatyka (7-8) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Informatyka (6) Widoki. Indeksy

miejsca przejścia, łuki i żetony

Przechowywanie danych

Czym jest baza danych?

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Zbiory, relacje i funkcje

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Sieci Petriego. Sieć Petriego

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Archiwizacja i odtwarzanie bazy danych

Proces rozproszony. Plan wykładu. Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński. Proces rozproszony. Zbiór stanów globalnych (1)

Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga

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

Systemy GIS Systemy baz danych

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

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

Bazy danych i usługi sieciowe

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

Technologia informacyjna

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

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Transkrypt:

1 Wprowadzenie (1) 2 Baza danych jest abstrakcyjnym odzwierciedleniem wybranego fragmentu rzeczywistości (ang. miniworld) Przetwarzanie transakcyjne świat rzeczywisty miniworld' DB świat wirtualny miniworld' DB Baza danych jest spójna jeŝeli jej stan odpowiada stanowi świata rzeczywistego Wprowadzenie (2) 3 Problemy przygotowania aplikacji 4 Zmiany zachodzące w świecie rzeczywistym muszą być zakodowane w postaci programu, który będzie transformował bazę danych z jednego stanu spójnego do innego stanu spójnego Niebezpieczeństwa związane z realizacją programu transformującego bazę danych awaryjność środowiska sprzętowo-programowego współbieŝny dostęp do danych rozproszenie baz danych Przykład: Napisać aplikację przelewu kwoty N z konta A na konto B problem 1 awaria systemu Po pobraniu kwoty N z konta A, i zapisaniu tej aktualizacji do bazy danych, wystąpiła awaria systemu. W wyniku awarii systemu wykonana została jedynie część operacji składających się na daną aplikację problem 2 współbieŝny dostęp do danych Operacje współbieŝnie wykonywanych transakcji mogą naruszać spójność bazy danych, lub generować niepoprawne wyniki problem 3 - utrata danych w wyniku awarii Wyniki zakończonych aplikacji, buforowane w pamięci operacyjnej, mogą zostać utracone w wyniku awarii systemu

Transakcja 5 Przykład transakcji 6 Rozwiązaniem problemu awaryjności, rozproszenia i wielodostępności środowiska systemu bazy danych koncepcja transakcji BEGIN UPDATE konta SET stan = stan N WHERE id_konta = A; Transakcja 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. Typy operacji na bazie danych obejmują: odczyt i zapis danych oraz zakończenie i akceptację (zatwierdzenie), lub wycofanie transakcji SAVEPOINT s; UPDATE konta SET stan = stan + N WHERE id_konta = B; INSERT INTO log VALUES (A,B,N,SYSTIMESTAMP); COMMIT; Własności transakcji (1) 7 Własności transakcji (2) 8 A(tomicity) C(onsistency) I(solation) D(urability) Izolacja (I) Atomowość (A) Zbiór operacji wchodzących w skład transakcji jest niepodzielny: albo zostaną wykonane wszystkie operacje transakcji albo Ŝadna. Dotyczy to równieŝ wszystkich operacji transakcji wykonywanych na obiektach rzeczywistych (tak zwane akcje rzeczywiste) np. wypłata gotówki z bankomatu Spójność (C) Transakcja przeprowadza bazę danych z jednego stanu spójnego do innego stanu spójnego. W trakcie wykonywania transakcji baza danych moŝe być przejściowo niespójna. Transakcja nie moŝe naruszać ograniczeń integralnościowych Transakcje są od siebie logicznie odseparowane. Transakcje oddziałują na siebie poprzez dane. Mimo współbieŝnego wykonywania, transakcje widzą stan bazy danych tak, jak gdyby były wykonywane w sposób sekwencyjny Trwałość (D) Wyniki zatwierdzonych transakcji nie mogą zostać utracone w wyniku wystąpienia awarii systemu. Zatwierdzone dane w bazie danych, w przypadku awarii, muszą być odtwarzalne

Analiza cech transakcji 9 Diagram stanów transakcji 10 Transakcja jest: atomowa: jeŝeli pieniądze zostaną poprawnie przetransferowane z konta A do B spójna: jeŝeli kwota odjęta z konta A jest równa kwocie dodanej do konta B izolowana: jeŝeli inne transakcje wykonywane współbieŝnie, czytające i modyfikujące konta A i B, nie mają wpływu na transakcję trwała: jeŝeli po zakończeniu transakcji, baza danych trwale odzwierciedla nowe stany kont A i B Read Write Begin End Transaction Transaction Commit Active Partially committed Committed Abort Abort Faild Terminated begin transaction: początek transakcji. read, write: operacje odczytu i zapisu danych w bazie danych. end transaction: koniec transakcji: commit: zatwierdzenie (akceptacja) wyników transakcji. rollback: wycofanie wyników transakcji Zakończenie transakcji 11 12 Transakcja logiczna a transakcja fizyczna end transaction: koniec transakcji oznacza, ze wszystkie operacje odczytu i/lub zapisu transakcji zostały wykonane. W tym momencie, zachodzi konieczność podjęcia decyzji, czy zmiany wprowadzone przez transakcję mają być wprowadzone do bazy danych (zatwierdzenie transakcji) czy teŝ mają być wycofane z bazy danych commit: zatwierdzenie (akceptacja transakcji) oznacza pomyślne zakończenie transakcji - zmiany wprowadzone przez transakcję mają być wprowadzone do bazy danych rollback: wycofanie transakcji oznacza niepoprawne zakończenie transakcji i konieczność wycofania z bazy danych wszystkich ewentualnych zmian wprowadzonych przez transakcję transakcja logiczna UPDATE employees SET salary = 1.15 * salary WHERE work_period > 5;... COMMIT; transakcja fizyczna read (A); write (A);... read (Z); write (Z); commit;

Model transakcji (1) 13 Model transakcji (2) 14 Transakcją T i nazywamy uporządkowaną parę: T i T j = ( T i, < T j ) = { o j : 1 j n i }, zbiór operacji na bazie danych: { R-odczyt, W-zapis, C zatwierdzenie, A-wycofanie} KaŜda transakcja moŝe być reprezentowana przez graf skierowany: G = (V,E), gdzie: V jest zbiorem węzłów odpowiadających operacjom transakcji T i E jest zbiorem krawędzi reprezentujących porządek na zbiorze operacji <T j jest relacją częściowego porządku na zbiorze T i Przykład: Przyjmiemy następującą notację: r i (x) lub r i (x, wartość) w i (x) lub w i (x, wartość) c i lub a i a) r 1 (x) w 1 (x) r 2 (y) w 2 (y) b) r 1 (x) w 1 (x) w 2 (y) r 2 (y) c 1 c 1 Klasyfikacja transakcji 15 Realizacje transakcji (1) 16 Ze względu na porządek operacji transakcja sekwencyjna transakcja współbieŝna Ze względu na zaleŝność operacji transakcja zaleŝna od danych transakcja niezaleŝna od danych Ze względu na typy operacji transakcja odczytu (read read-only) transakcja aktualizująca (read read-write) Częściowo uporządkowaną sekwencją operacji naleŝących do zbioru współbieŝnie wykonywanych transakcji nazywamy realizacją (historią). Realizacja modeluje, formalnie, współbieŝne wykonanie zbioru transakcji Formalnie, realizacją S realizacją S zbioru n transakcji T 1, T 2,..., T n nazywamy takie uporządkowanie operacji współbieŝnie wykonywanych transakcji, w którym, dla kaŝdej transakcji T i w realizacji S, porządek wykonania operacji transakcji T i jest taki sam jak porządek <T i

Realizacje transakcji (2) 17 Realizacje transakcji (3) 18 S( τ) = ( T r ( τ), < r) Realizacja zawierająca tylko operacje zatwierdzonych transakcji nazywana jest zaakceptowaną projekcją gdzie: 1. T r(τ) zbiór operacji wszystkich transakcji naleŝących do zbioru τ 2. < r relacja częściowego porządku na zbiorze T r (τ), 3. Dla dowolnej pary operacji o i, o j T r (τ), takich, Ŝe Ŝądają one dostępu do tej samej danej i co najmniej jedna z nich jest operacją zapisu, zachodzi o i <r o j lub o j <r o i Przykład: S(τ): w 0 (x), w 0 (y), c 0, r 1 (x), r 2 (x), w 1 (x), r 1 (y), w 2 (x), c 2, w 1 (y), c 1, r f (x), r f (y), c f ; Realizacje transakcji (4) 19 Realizacje sekwencyjne i współbieŝne 20 Dowolną realizację moŝna przedstawić w postaci grafu skierowanego, nazywanego grafem realizacji, GR(S(τ)) = (V,E). Węzły grafu odpowiadają operacjom ze zbioru T r (τ), natomiast krawędzie grafu reprezentują relację częściowego porządku <r Przykład: Mówimy, Ŝe dana realizacja jest sekwencyjna jeŝeli, dla kaŝdych dwóch transakcji, wszystkie operacje jednej z nich poprzedzają wszystkie operacje drugiej W przeciwnym wypadku realizacja jest współbieŝna c 1 w 0 (x) r 1 (x) w 1 (x) r 1 (y) w 1 (y) r f (y) c 0 w 0 (y) r 2 (x) w 2 (x) c 2 cf r f (x)

Stan i obraz bazy danych 21 Uszeregowalność realizacji (1) 22 Stan bazy danych zbiór wartości wszystkich danych w bazie danych ZałoŜenie 1: Obraz bazy danych widziany przez transakcję T i KaŜda realizacja sekwencyjna jest poprawna ZałoŜenie 2: zbiór wartości danych odczytywanych przez transakcję Ti KaŜda realizacja współbieŝna równowaŝna dowolnej realizacji sekwencyjnej tego samego zbioru transakcji jest równieŝ poprawna Uszeregowalność realizacji (2) 23 Uszregowalność realizacji (3) 24 Przykład: Realizacja sekwencyjna transakcji T 1 i T 2 : dane (początkowe wartości): A=50, B=50 transakcja T 1 : sumuje konta A i B transakcja T 2 : przelewa 30 PLN z konta A na konto B przykładowa realizacja zbioru τ = {T 1,T 2 } S(τ) : r 1 (A,20) r 1 (B,50) c 1 r 2 (A,50) w 2 (A,20) r 2 (B,50) w 2 (B,80) c 2 końcowy stan bazy danych: A = 20, B= 80 obraz bazy danych widziany przez T 2 : A = 50, B = 50 obraz bazy danych widziany przez T 1 : A = 50, B = 50 S(τ) : r 2 (A,50) w 2 (A,20) r 1 (A,20) r 1 (B,50) r 2 (B,50) w 2 (B,80) c 1 c 2 Czy powyŝsza realizacja jest poprawna?

Konflikt (1) 25 Konflikt (2) 26 Dwie operacje o i (x), o j (y) współbieŝnej realizacji są konfliktowe, wtedy i tylko wtedy, gdy są spełnione następujące trzy warunki: x = y: operacje na róŝnych danych nie są konfliktowe i j : operacje konfliktowe naleŝą do róŝnych transakcji jedna z operacji o i lub o j musi być operacją zapisu Transakcje T i i T j są konfliktowe, jeŝeli zawierają wzajemnie konfliktowe operacje Mówimy, Ŝe operacja o i (x) poprzedza operację o j (y) w realizacji S(τ), τ co zapisujemy jako o i (x) o j (y), jeŝeli operacje te są konfliktowe i o i (x) <r o j (y) Następujące pary operacji mogą znajdować się w konflikcie: r i (x) w j (x) w i (x) r j (x) w i (x) w j (x) Konfliktowa równowaŝność 27 28 Kryterium konfliktowej uszeregowalności Kryterium konfliktowej uszeregowalności Mówimy, Ŝe transakcja T i poprzedza transakcję T j w realizacji S(τ), co zapisujemy jako T i T j, jeŝeli transakcje T i i T j zawierają odpowiednio operacje o i(x) i o j(x), między którymi zachodzi związek poprzedzania Mówimy, Ŝe dwie realizacje S(τ) = (T r (τ), <r ) i S'(τ) = (T r (τ), <r' ) są konfliktowo równowaŝne, jeŝeli dla kaŝdej pary operacji o i (x) i o j (y) w realizacji S(τ), takich, Ŝe o i (x) o j (x), zachodzi równieŝ o i (x) o j (y) w realizacji S'(τ) Realizacja S(τ) zbioru transakcji τ jest konfliktowo uszeregowalna wtedy i tylko wtedy, gdy jest ona konfliktowo równowaŝna dowolnej sekwencyjnej realizacji zbioru transakcji τ Graf konfliktowej uszeregowalności realizacji S(τ) Graf konfliktowej uszeregowalności realizacji S(τ) τ to skierowany graf CSRG(S(τ)) = (V,E), taki, w którym wierzchołki v V odpowiadają transakcjom ze zbioru τ, natomiast zbiór krawędzi E = {(T i, T j ) : T i T j } Twierdzenie o konfliktowej uszeregowalności Realizacja S(τ) zbioru transakcji jest konfliktowouszeregowalna wtedy i tylko wtedy, gdy jej graf konfliktowej uszeregowalności CSRG(S(τ)) jest acykliczny

Przykład 29 Realizacje odtwarzalne (1) 30 Dla poniŝszych realizacji narysuj graf uszeregowalności konfliktowej i, na podstawie cech grafu, określ, czy dana realizacja jest konfliktowo uszeregowalna. Jeśli jest, podaj równowaŝną jej realizację sekwencyjną. r 1 (x) r 2 (z) r 1 (z) r 3 (x) r 3 (y) w 1 (x) w 3 (y) r 2 (y) w 2 (z) w 2 (y) c 1 c 2 c 3 r 1 (x) r 2 (z) r 3 (x) r 1 (z) r 2 (y) r 3 (y) w 1 (x) w 2 (z) w 3 (y) w 2 (y) c 1 c 2 c 3 Czy własność uszeregowalności gwarantuje wolność od anomalii? Przykład: H = r 1 (x) w 1 (x) r 1 (y) r 2 (x) w 1 (y) r 2 (y) c 2 r 1 (z) w 1 (z) crash c 1 Historia H jest uszeregowalna, ale nie jest wolna od anomalii (brudny odczyt). Po restarcie systemu transakcja T 2 nie zostanie poprawnie odtworzona Definicje 31 Realizacje odtwarzalne (2) 32 Mówimy, Ŝe transakcja T i czyta daną x z transakcji T j w realizacji H jeŝeli: w j (x) < r i (x) a j < r i(x) jeŝeli istnieje operacja w k (x) taka, Ŝe w j (x) < w k (x) < r i (x), wówczas a k < r i (x) Mówimy, Ŝe transakcja T i czyta z transakcji T j w realizacji H, jeŝeli T i czyta jakąś daną z transakcji T j w realizacji H Realizacja H jest odtwarzalna (ang. recoverable) (RC) wówczas, jeśli gdy transakcja T i czyta z transakcji T j (i j) w realizacji H i c i H, to c j <c i Realizacja H unika kaskadowych wycofań (ang. avoids cascading aborts) (ACA) wówczas, jeśli gdy transakcja T i czyta z transakcji T j (i j), to c j <r i (x) Realizacja H jest ścisła (ang. strict) (ST) wówczas, jeśli gdy w j (x)<o i (x) (i j), zachodzi a j <o i (x) lub c j <o i (x), gdzie o i (x) jest jedną z operacji r i [x] lub w i [x]

Realizacje odtwarzalne (3) 33 ZaleŜności między zbiorami realizacji RC, ACA i ST 34 Przykład: ST ACA RC T 1 = w 1 [x] w 1 [y] w 1 [z] c 1 T 2 = r 2 [u] w 2 [x] r 2 [y] w 2 [y] c 2 H 1 = w 1 [x] w 1 [y] r 2 [u] w 2 [x] r 2 [y] w 2 [y] c 2 w 1 [z] c 1 H 2 = w 1 [x] w 1 [y] r 2 [u] w 2 [x] r 2 [y] w 2 [y] w 1 [z] c 1 c 2 H 3 = w 1 [x] w 1 [y] r 2 [u] w 2 [x] w 1 [z] c 1 r 2 [y] w 2 [y] c 2 H 4 = w 1 [x] w 1 [y] r 2 [u] w 1 [z] c 1 w 2 [x] r 2 [y] w 2 [y] c 2 wszystkie RC ACA ST SR sekwencyjne Realizacje uszeregowalne 35 Graf uszergowalności (1) 36 Realizacja S(τ) zbioru transakcji τ jest poprawna (uszeregowalna) jeŝeli jest ona obrazowo i stanowo równowaŝna jakiejkolwiek sekwencyjnej realizacji tego zbioru transakcji. Realizację taką nazywamy realizacją uszeregowalną (SR) Grafem uszeregowalności realizacji S(τ) nazywamy skierowany graf SG(S(τ)) = (V,E), taki, w którym wierzchołki v V odpowiadają transakcjom ze zbioru τ, natomiast zbiór krawędzi jest zdefiniowany następująco: jeŝeli istnieje dana x, i operacje r i (x) w j (x) S(τ), takie, Ŝe r i (x) czyta wartość danej x zapisanej przez operację w j (x), to (T j, T i ) E jeŝeli T j T 0, T i T f i istnieje operacja w k (x) S(τ), T k T 0, to (T k, T j ) E lub (T i, T k ) E jeŝeli T j T 0, to (T 0,T j ) E jeŝeli T j =T 0, T i T f i istnieje operacja w k (x) S(τ), T k T 0, to (Ti, T k ) E jeŝeli T i =T f, i istnieje w k (x) S(τ), to (T k, T j ) E

Graf uszeregowalności (2) 37 38 Uszeregowalność transakcji - klasyfikacja Dana realizacja S(τ) jest uszeregowalna wtedy i tylko wtedy, gdy moŝna skonstruować dla niej acykliczny skierowany graf uszeregowlaności SG(S(τ)) τ wszystkie RC ACA ST SR CSR sekwencyjne