Tadeusz Pankowski

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

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

Transkrypt

1 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 Celem systemu zarządzania transakcjami jest takie sterowanie operacjami w bazie danych, aby były one wykonywane z możliwie wysokim współczynnikiem współbieżności i aby przeciwdziałać naruszeniu spójności bazy danych Cele zarządzania transakcjami zostały osiągnięte za pomocą odpowiednich protokołów zarządzania transakcjami (c) T Pankowski, Transakcje 1 (c) T Pankowski, Transakcje 2 Transakcje i ich właściwości Transakcją T nazywamy ciąg ntępujących operacji na wspólnej bazie danych: r T [x] czytanie (read) danej x przez transakcję T, w T [x] zapisanie (write) (aktualizacja) danej x przez transakcję T, a T odrzucenie (abort, rollback) (wycofanie) transakcji T, c T zatwierdzenie () transakcji T Mówiąc o danej x mamy na myśli jednostki danych na różnych poziomach granulacji może to być dana elementarna, krotka (rekord), zbiór krotek wyznaczony przez warunek ϕ, tabela bazy danych, itp create procedure money int if not exists(select * from PKO where NrRach return -1 else update PKO set Saldo = Saldo where NrRach return create trigger IC_PKO on PKO for UPDATE money = PKOSaldo from PKO, deleted d where PKONrRach = dnrrach < 0 rollback Definiowanie transakcji - przykład create procedure money int if not exists(select * from WBK where NrRach return -1 else update WBK set Saldo = Saldo where NrRach return (c) T Pankowski, Transakcje 3

2 Definiowanie transakcji przykład (cd) Transakcja przykład (cd) create procedure money int return rollback (c) T Pankowski, Transakcje 5 create procedure money int return rollback T: exec PRZELEW_PKO_WBK '11-11', 11', '22-22', 22', 100 r T [ ], 11 ], w T [11-11 ], 11 ], r T [ ], 22 ], w T [ ], 22 ], c T (c) T Pankowski, Transakcje 6 Transakcja przykład (cd) Transakcja przykład (cd) create procedure char(5, T: exec PRZELEW_PKO_WBK '11-12', 12', '22-22',100 money r T [ ], 12 ], a T int return rollback (c) T Pankowski, Transakcje 7 create procedure char(5, T: exec PRZELEW_PKO_WBK '11-11', 11', '22-22',1000 money r T [ ], 11 ], w T [ ], 11 ], a T int return rollback (c) T Pankowski, Transakcje 8

3 Transakcja przykład (cd) Przykład - podsumowanie create procedure char(5, T: exec PRZELEW_PKO_WBK '11-11', 11', '22-23',10 money r T [ ], 11 ], w T [ ], 11 ], r T [ ], 23 ], a T int return rollback (c) T Pankowski, Transakcje 9 Każde wykonywanie programu PRZELEW_PKO_WBK powoduje utworzenie nowej transakcji Przykłady takich transakcji: r T [ ], w T [ ], r T [ ], w T [ ], c T r T [ ], a T r T [ ], w T [ ], a T r T [ ], w T [ ], r T [ ], a T W ogólności w systemie, w którym istnieje wiele stanowisk komputerowych może być tworzonym bardzo wiele transakcji, z których duża liczba może być współbieżnych Współbieżność transakcji oznacza, że przed zakończeniem jednej transakcji rozpoczynana jest ntępna (inicjowana na przykład z inne stanowiska komputerowe) W stosowanym zapisie transakcji abstrahujemy zarówno od konkretnych wartości, jak i od operacji wykonywanych poza bazą danych (operacje w pamięci operacyjnej, obszarze roboczym, interakcja z użytkownikiem lub z innymi systemami) (c) T Pankowski, Transakcje 10 Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami muszą posiadać właściwość ACID wyrażoną przez ntępujące cztery postulaty: Atomowość (atomicity) każda transakcja stanowi pojedynczą i niepodzielną jednostkę przetwarzania (a także odtwarzania) w transakcji nie ma więc podtransakcji Każda transakcja jest bądź wykonana w całości, bądź też żaden jej efekt nie jest widoczny w bazie danych Spójność (consistency) transakcja rozpoczynając się w spójnym stanie bazy danych pozostawia bazę danych w stanie spójnym (tym samym lub innym) Jeśli transakcja narusza warunki spójności bazy danych, to zostaje odrzucona Odizolowanie (isolation) zmiany wykonywane przez transakcję nie zatwierdzoną nie są widziane przez inne transakcje (chyba, że przyjęty poziom izolacji na to zezwala) Trwałość (duration) zmiany w bazie danych dokonane przez transakcję zatwierdzoną są trwałe w bazie danych, tzn nawet w przypadku awarii systemu musi istnieć możliwość ich odtworzenia (c) T Pankowski, Transakcje 11 Właściwości ACID (cd) W w niektórych koncepcjach systemów zarządzania bazami danych (systemy obiektowe, systemy wspomagające pracę grupową, systemy kooperacyjne), postulaty ACID są modyfikowane Na przykład w przypadku tzw transakcji dłutrwałych wprowadza się pojęcie podtransakcji i transakcji zagnieżdżonych Uwaga: pojęcie podtransakcji istnieje również w Transact-SQL, jednak ich rozumienie jest inne niż w przypadku transakcji wspomnianych powyżej transakcji zagnieżdżonych Postulat odizolowania transakcji jest najczęściej osłabiany przez jawne określanie poziomu izolacji Celem obniżenia poziomu izolacji jest zwiększenie współbieżności transakcji, wiąże się to jednak z ryzykiem powstawania pewnych anomalii (patrz dalej) (c) T Pankowski, Transakcje 12

4 Właściwości ACID - przykład Atomowość oznacza, że transakcję T i = (r i [Konto1], w i [Konto1], r i [Konto2], w i [Konto2], c i ), musimy traktować jako niepodzielną całość Nie można więc przyjąć, że na przykład system utrwala wykonanie w bazie danych dwóch pierwszych operacji zakładając, że po jakimś czie zrealizuje dwie ntępne operacje Byłaby to koncepcja wyróżniania podtransakcji, co w tradycyjnych systemach baz danych jest niedopuszczalne Jeśli więc z jakieś powodu wykonanie transakcji ulegnie przerwaniu (na przykład w wyniku awarii) po dwóch pierwszych operacjach, to system musi zapewnić wycofanie dokonanych zmian Właściwości ACID - przykład Spójność oznacza, że system nie dopuści do zatwierdzenia transakcji, która naruszy jakikolwiek warunek spójności bazy danych W rozważanym przypadku warunkiem spójności może być wymaganie, aby stan rachunku bankowe był zawsze większy od zera (statyczny warunek spójności) lub aby suma stanów kont po wykonaniu transakcji była taka sama jak przed jej wykonaniem (dynamiczny warunek spójności, tzn odwołujący się do kilku różnych stanów bazy danych) (c) T Pankowski, Transakcje 13 (c) T Pankowski, Transakcje 14 Właściwości ACID - przykład Odizolowanie oznacza, że zmiany wykonane przez jedną transakcję nie są widoczne dla innych transakcji dopóty, dopóki transakcja ta nie zostanie zatwierdzona Rozważmy jednak ntępujący ciąg operacji: r 1 [Konto1], w 1 [Konto1], r 1 [Konto2], r 2 [Konto2], c 2, w 1 [Konto2], c 1, gdzie T 1 jest transakcją przelewu, a T 2 odczytuje stan konta Konto2, zanim jeszcze transakcja zmieniająca ten stan została zatwierdzona Naruszony jest więc ryrystyczny warunek odizolowania Często jednak sytuacja taka jest dopuszczalna (zwłzcza wtedy gdy odczytana wartość nie będzie wykorzystana do aktualizacji bazy danych) Właściwości ACID - przykład Trwałość oznacza, że zmiany wprowadzone do bazy danych przez transakcję, która została zatwierdzona są w tej bazie danych trwałe Oznacza to, że również w przypadku różnorodnych awarii (z wyłączeniem fizyczne zniszczenia nośnika danych) musi istnieć mechanizm ich odtwarzania Automatycznie jest wówcz odtwarzany ostatni poprawny (spójny) stan bazy danych Tak rozumiane odtwarzania nie należy mylić z odtwarzaniem bazy danych z archiwum (c) T Pankowski, Transakcje 15 (c) T Pankowski, Transakcje 16

5 Historie przetwarzania transakcji Z punktu widzenia analizy poprawności protokołów (alrytmów) zarządzania transakcjami istotne jest analizowanie historii przetwarzania transakcji Historia taka znana jest oczywiście dopiero po wykonaniu dane zbioru transakcji W analizie poprawności historii przetwarzania chodzi o sformułowanie wymagań dotyczących cech, jakie powinny posiadać historie dopuszczalne generowane przez protokoły Jeśli jesteśmy w stanie stwierdzić, że stosując określony protokół zawsze otrzymamy przetwarzanie, które historia posiada pożądane cechy, to możemy orzec, że protokół ten jest właściwy Historie przetwarzania transakcji Definicja Niech Σ = {T 1, T 2,, T n } będzie zbiorem transakcji Ciąg H = (o 1, o 2,, o m ) operacji pochodzących z transakcji należących do zbioru Σ nazywamy historią przetwarzania transakcji ze zbioru Σ Jeśli operacja o poprzedza operację o w historii H, to stosować będziemy zapis o < o Definicja Mówimy, że transakcja T czyta z transakcji T daną x, jeśli T jest transakcją aktywną, która zapisała x Definicja Mówimy, że transakcja T zapisuje w transakcji T daną x, jeśli T jest transakcją aktywną, która odczytała x (c) T Pankowski, Transakcje 17 (c) T Pankowski, Transakcje 18 Nieodtwarzalne historie przetwarzania scenariusz Nieodtwarzalne historie przetwarzania przykład Przypuśćmy, że transakcja T zmieniła wartość danej x Ntępnie transakcja T wczytała x i na postawie jej wartości zmieniła wartość danej y w bazie danych (T czyta z T) Przypuśćmy dalej, że transakcja T została zatwierdzona, a po tym zdarzeniu powstała konieczność odrzucenia transakcji T Należy więc wycofać wszystkie zmiany, jakie wprowadziła w bazie danych transakcja T, a także wszystkie konsekwencje tych zmian w szczególności więc zmianę wartości danej y Ta ostatnia operacja jest jednak niemożliwa, gdyż transakcja T, która zmianę tę wykonała, jest już zatwierdzona Zaistniała sytuacja, w której baza danych jest nieodtwarzalna(!) Rozważmy historię przetwarzania H 1 : w 1 [x] r 2 [x] w 2 [y] c 2 w 1 [z] a 1 H 1 opisuje przetwarzanie nieodtwarzalne Transakcja T 2 czyta z transakcji T 1, w 1 [x] < r 2 [x], i T 2 jest zatwierdzana przed odrzuceniem T 2, c 2 < a 1 Operacja w 2 [y] może oznaczać zapis wartości danej y wyznaczonej na podstawie wartości danej x Zmiany dokonanej przez operację w 2 [y] nie można jednak wycofać (podcz wycofywania konsekwencji transakcji T 1 ), gdyż transakcja T 2 została wcześniej zatwierdzona (c) T Pankowski, Transakcje 19 (c) T Pankowski, Transakcje 20

6 Nieodtwarzalne historie przetwarzania przyczyna i unikanie anomalii Rozważmy nieodtwarzalną historię przetwarzania H 1 : w 1 [x] r 2 [x] w 2 [y] c 2 w 1 [z] a 1 Powodem anomalii braku odtwarzalności jest to, że transakcja czytająca dane z innej transakcji, T 2, została zatwierdzona w czie aktywności transakcji, T 1, z której czytała Aby sytuacji takiej uniknąć, należałoby czekać z zatwierdzeniem transakcji T 2 do czu, aż zostanie zatwierdzona transakcja T 1 Definicja (zada odtwarzalności) Historia H przetwarzania transakcji opisuje przetwarzanie odtwarzalne, jeśli każda transakcja jest zatwierdzana po zatwierdzeniu wszystkich transakcji, z których czyta Historie przetwarzania z kkadą odrzuceń scenariusz Przestrzeganie zady odtwarzalności nie jest wystarczające Mimo jej przestrzegania może dojść do sytuacji, gdy odrzucenie jednej transakcji pociągnie za sobą konieczność odrzucenia zależnej od niej (w jakimś sensie) innej transakcji, odrzucenie tej drugiej może spowodować konieczność odrzucenia trzeciej itd, co może prowadzić do kkady odrzuceń Niech na przykład transakcja T wczyta dane zmienione przez nie zatwierdzoną jeszcze transakcję T Przypuśćmy, że transakcja T zostaje po tym zdarzeniu odrzucona Konsekwencją te jest także konieczność odrzucenia transakcji T Może to spowodować konieczność kkadowe odrzucanie wielu transakcji (c) T Pankowski, Transakcje 21 (c) T Pankowski, Transakcje 22 Historie przetwarzania z kkadą odrzuceń przykład Rozważmy ntępującą historię H 2 powstałą z historii H 1 : H 2 : w 1 [x] r 2 [x] w 2 [u] a 1 H 2 opisuje przetwarzanie odtwarzalne Jednak wykonanie operacji a 1 powoduje odrzucenie (wycofanie) transakcji T 1 i w konsekwencji kkadowe odrzucenie transakcji T 2 Historie przetwarzania z kkadą odrzuceń przyczyna i unikanie anomalii Rozważmy historię przetwarzania z kkadą odrzuceń: H 2 : w 1 [x] r 2 [x] w 2 [u] a 1 Powodem występowania kkady odrzuceń jest to, że dopuszczalne jest czytanie z nie zatwierdzonych transakcji Anomalię tę można wyeliminować zakładając, że czytanie danych zmienionych przez transakcję jest dopuszczalne dopiero wtedy, gdy transakcja ta została już zatwierdzone (eliminacja tzw brudne czytania) Definicja (zada zapobiegania kkadzie odrzuceń) Historia H opisuje przetwarzanie bez kkady odrzuceń, jeśli żadna z transakcji wchodząca w skład H nie czyta z transakcji nie zatwierdzonych (c) T Pankowski, Transakcje 23 (c) T Pankowski, Transakcje 24

7 Historie przetwarzania z anomalią powtórne czytania scenariusz Przypuśćmy, że transakcja T czyta daną x, a ntępnie transakcja T zapisuje nową wartość danej x i jest zatwierdzana Jeśli teraz transakcja T ponownie przeczyta daną x, to może się okazać, że dana ta ma inną wartość Transakcja T dysponuje więc dwiema różnymi wartościami tej samej danej Może zdarzyć się też sytuacja, że transakcja T usunie daną x Wówcz przy próbie ponowne czytania, transakcja T ma informację, że danej x nie ma w bazie danych Opisaną anomalię nazywamy anomalią powtórne czytania Historie przetwarzania z anomalią powtórne czytania przykład Rozważmy ntępującą historię przetwarzania transakcji: H 3 : r 1 [y] w 2 [y] c 2 r 1 [y] c 1 W H 3 występuje anomalia powtórne czytania, gdyż między dwoma wystąpieniami operacji czytania, r 1 [y], wystąpiła operacja zapisu w 2 [y], czyli r 1 [y] < w 2 [y] < r 1 [y] Wartość danej y przy pierwszym wystąpieniu operacji r 1 [y] może być różna niż przy drugim wykonaniu tej operacji Uwaga: zauważmy, że drugie wystąpienie operacji r 1 [y] poprzedzone jest operacją zatwierdzenia transakcji T 2 Zakładamy bowiem, że zabronione jest czytanie z nie zatwierdzonych transakcji Możliwe jest natomit zapisywanie w nie zatwierdzonych transakcjach (operacja w 2 [y]) (c) T Pankowski, Transakcje 25 (c) T Pankowski, Transakcje 26 Historie przetwarzania z anomalią powtórne czytania przyczyna i unikanie anomalii Historie przetwarzania z fantomami scenariusz Rozważmy historię przetwarzania z anomalią powtórne czytania: H 3 : r 1 [y] w 2 [y] c 2 r 1 [y] c 1 Powodem występowania anomalii powtórne czytania jest to, że dopuszczalne jest zapisywanie w nie zatwierdzonych transakcjach Anomalię tę można wyeliminować zakładając, że zapisywanie danych wczytanych przez transakcję jest dopuszczalne dopiero wtedy, gdy transakcja ta została już zatwierdzona Definicja (zada zapobiegania anomalii powtórne czytania) Historia H opisuje przetwarzanie bez anomalii powtórne czytania (tj z powtarzalnym czytaniem), jeśli żadna z transakcji wchodząca w skład H nie zapisuje w transakcjach nie zatwierdzonych Przypuśćmy, że transakcja T wczytała z tabeli R zbiór rekordów spełniających warunek ϕ Ntępnie inna transakcja, T, dołączyła do R nowy rekord r spełniający warunek ϕ i została zatwierdzona Jeśli T ponownie odwoła się do rekordów tabeli R spełniających warunek ϕ, to okaże się, że tym razem zbiór ten jest inny Podobna sytuacja wystąpi, jeśli transakcja T dokona takiej modyfikacji rekordu r nie spełniające warunku ϕ, że po jej wykonaniu rekord r warunek ten będzie spełniał Ten nowy rekord pojawiający się w obszarze zainteresowań transakcji T nazywany jest fantomem lub zjawą (c) T Pankowski, Transakcje 27 (c) T Pankowski, Transakcje 28

8 Historie przetwarzania z fantomami przykład Rozważmy ntępującą historię przetwarzania transakcji: H 4 : r 1 [u] w 2 [z] c 1 r 1 [u] c 2 W historii H 4 może wystąpić zjawisko fantomów Jeśli bowiem operacja r 1 [u] wczytuje zbiór rekordów spełniających warunek ϕ, a operacja w 2 [z] spowoduje, że zbiór takich rekordów ulegnie zmianie (na przykład tak zostaną zmienione pola rekordu z, że po zmianie rekord z będzie spełniał warunek ϕ), to powtórne wykonanie operacji r 1 [u] zwróci inny zbiór rekordów Anomalia ta jest podobna do anomalii powtórne czytania Tym razem jednak transakcja T nie zmienia danych wczytanych przez nie zatwierdzoną transakcję T, ale dołącza nowe dane do zbioru, na którym T operuje (lub usuwa dane z te zbioru) Historie przetwarzania z fantomami przyczyna i unikanie anomalii Rozważmy historię przetwarzania z fantomami: H 4 : r 1 [u] w 2 [z] c 1 r 1 [u] c 2 Powodem pojawienia się fantomów jest to, że dopuszczalna jest zmiana zbioru danych, na którym operuje transakcja T 1 Konflikt między T 1 i T 2 nie jest więc bezpośredni, jak miało to miejsce przy anomalii powtórne czytania Pojawianiu się fantomów można zapobiec zakładając, że zmiany wykonywane przez transakcję T 2 (dołączanie, usuwanie, aktualizacja) są takie, że nie powodują zmiany zbioru danych, na których operuje T 1 Należy więc uwzględniać formuły definiujące zbiory danych, na których działają transakcje Definicja (zada zapobiegania pojawianiu się fantomów) Historia H opisuje przetwarzanie bez fantomów, jeśli żadna z transakcji wchodząca w skład H nie zmienia zbioru danych, na których działa jakakolwiek transakcja nie zatwierdzona (c) T Pankowski, Transakcje 29 (c) T Pankowski, Transakcje 30 Historie przetwarzania podsumowanie Rozważając historie przetwarzania transakcji zidentyfikowaliśmy cztery ich kly, związane z nimi anomalie i sposoby ich unikania W dalszym ciągu pokażemy, w jaki sposób można sterować poziomami izolacji transakcji Pokażemy, jaki jest związek między wybranym poziomem izolacji, a właściwą mu klą historii przetwarzania i tym samym, z jakimi anomaliami należy się wówcz liczyć Do określenia poziomów izolacji konieczne jest sprecyzowanie pojęcia konfliktowości między operacjami tworzącymi historię przetwarzania i tym samym między transakcjami, z których te operacje pochodzą Konfliktowość operacji Z punktu widzenia stosowane protokołów (alrytmów) zarządzania transakcjami istotne jest przyjęcia pojęcia konfliktowości operacji, tzn przyjęcia, jakie operacje są konfliktowe, a jakie nie Z góry można określić, jakie operacje nigdy nie będą konfliktowe Operacje o i [x] i p j [y] nie są konfliktowe, jeśli zachodzi co najmniej jeden z poniższych warunków: i = j, tj pochodzą z tej samej transakcji, x y, tj dotyczą różnych danych (lub rozłącznych zbiorów danych), żadna z operacji nie jest operacją zapisu, co najmniej jedna z operacji pochodzi od transakcji, która w chwili wydania drugiej została już zakończona (zatwierdzona lub odrzucona) (c) T Pankowski, Transakcje 31 (c) T Pankowski, Transakcje 32

9 Konfliktowość operacji (cd) Konfliktowość operacji (cd) Operacji o i [x] i p j [y] mogą być konfliktowe (warunek konieczny, ale nie dostateczny) wtedy, gdy: i j operacje pochodzą z dwóch różnych transakcji, co najmniej jedna z tych operacji jest operacją zapisu, x = y operacje dotyczą tej samej danej (lub przecinających się zbiorów danych); obydwie transakcji, z których pochodzą rozważane operacje są aktywne; druga z operacji (p j [y]) powoduje zmianę zbioru danych x (wyznaczone przez pewną formułę ϕ), na których działa pierwsza operacja (o i [x]) Definiowanie konfliktowości zależy ponadto od intencji użytkownika co do poziomu wzajemne odizolowania transakcji od siebie Użytkownik ma więc w istocie wpływ na interpretację cechy odizolowania wchodzącej w skład właściwości ACID Wyróżnia się cztery poziomy izolacji, a tym samym cztery poziomy konfliktowości operacji: poziom 0, poziom 1, poziom 2, poziom 3 Im wyższy poziom izolacji transakcji (konfliktowości) tym niższa współbieżność, a więc dłuższy cz wykonywania transakcji, ale jednocześnie tym większa niezawodność przetwarzania oraz je bezpieczeństwo z punktu widzenia zachowania spójności bazy danych Dalej rozważymy problemy, jakie wiążą się z przetwarzaniem na różnych poziomach izolacji Mówiąc o współbieżnym wykonywaniu operacji mamy na myśli wykonywanie operacji pochodzących z różnych transakcji i to w czie, gdy obydwie te transakcje są aktywne Transakcje, których operacje wykonywane są współbieżnie, nazywamy transakcjami współbieżnymi (c) T Pankowski, Transakcje 33 (c) T Pankowski, Transakcje 34 Przetwarzanie transakcji na różnych poziomach izolacji Wyróżniamy cztery poziomy izolacji transakcji: najniższy (0) zapewnia największą współbieżność, ale wiąże się z największym ryzykiem (mogą wystąpić anomalie omawiane poprzednio); najwyższy (3) pozwala uniknąć wszelkich anomalii, ale jest najbardziej kosztowny (często ponoszenie tych kosztów jest niepotrzebne) Przyjęcie konkretne poziomu izolacji wiąże się z określonymi problemami zbyt niski poziom zapewni nam zwiększenie współczynnika współbieżności, ale może doprowadzić do niekorzystnych cech związanych z zachowaniem spójności bazy danych Poziom zbyt wysoki może powodować nieuzadnione opóźnianie transakcji W dalszym ciągu omówimy problemy związane z przyjęciem poszczególnych poziomów izolacji Poziom izolacji 0 (READ UNCOMMITTED) Poziom izolacji 0 dopuszcza czytanie przez transakcję danych nie zatwierdzonych (unted), tj danych które zostały zmienione przez transakcję jeszcze nie zatwierdzoną Za operacje konfliktowe uważa się tylko parę operacji zapisu, a dwie operacje, z których jedna jest operacją odczytu nie są operacjami konfliktowymi W standardzie SQL2 (a także w MS SQL Server) ten poziom izolacji nazywany jest także READ UNCOMMITED, a popularnie określany jest jako dirty read ( brudne czytanie ) (c) T Pankowski, Transakcje 35 (c) T Pankowski, Transakcje 36

10 Poziom izolacji 0 (READ UNCOMMITTED) (cd) Reguły współbieżności dla te poziomu izolacji przedstawiono poniższej w tablicy (T oznacza, że operacje mogą być wykonywane współbieżnie, czyli nie są konfliktowe, N oznacza brak współbieżności, a więc konfliktowość) Przyjęcie te rodzaju współbieżności operacji może doprowadzić do braku odtwarzalności, kkady odrzuceń, anomalii powtórne czytania oraz do pojawiania się fantomów Zaletą te poziomu izolacji jest jednak to, że uzyskujemy wysoki współczynnik współbieżność transakcji Ten poziom izolacji nale y wybierać dla tych transakcji, które nie wykorzystają wczytanych danych do modyfikacji bazy danych Poziom izolacji 1 (READ COMMITTED) Poziom izolacji 1 wprowadza zakaz czytania danych z transakcji niezatwierdzonych, a więc czytać można tylko dane zatwierdzone (ted) Poziom ten w standardzie SQL2 określany jest także jako READ COMMITED Przy tym poziomie izolacji dopuszczalne jest jednak zapisywanie danych w transakcjach nie zatwierdzonych Jest to domyślny poziom izolacji w MS SQL server 2000 Za konfliktowe uważa się wówcz takie pary operacji, gdzie pierwsza jest operacją zapisu, a druga czytania, lub obydwie są operacjami zapisu Dwie operacje, z których pierwsza jest operacją czytania, a druga operacją zapisu nie są więc konfliktowe (c) T Pankowski, Transakcje 37 (c) T Pankowski, Transakcje 38 Poziom izolacji 1 (READ UNCOMMITTED) (cd) Reguły współbieżności dla poziomu izolacji READ COMMITTED przedstawiono poniższej w tablicy (T oznacza, że operacje mogą być wykonywane współbieżnie, czyli nie są konfliktowe, N oznacza brak współbieżności, a więc konfliktowość) Przyjęcie te rodzaju współbieżności operacji eliminuje brak odtwarzalności oraz kkadę odrzuceń Na tym poziomie izolacji mogą jednak wystąpić zarówno anomalia powtórne czytania, jak i zjawisko fantomów Poziom izolacji 2 (REPEATABLE READ) Poziom izolacji 2 wprowadza zakaz zapisywania w transakcjach nie zatwierdzonych Jeśli więc transakcja nie zatwierdzona przeczytała jakąś daną, to dana ta może być tylko czytana przez inną transakcję Jeśli natomit transakcja nie zatwierdzona zapisała jakąś daną, to nie można jej ani odczytać ani tym bardziej zapisać dopóty, dopóki transakcja ta nie zostanie zatwierdzona Za konfliktowe uważa się takie pary operacji, gdzie co najmniej jedna jest operacją zapisu Za niekonfliktowe uważa się tylko operacje czytania W standardzie SQL2 ten poziom izolacji określa się jako REPEATABLE READ, gdyż eliminuje anomalię powtórne czytania (c) T Pankowski, Transakcje 39 (c) T Pankowski, Transakcje 40

11 Poziom izolacji 2 (REPEATABLE READ) (cd) Reguły współbieżności dla poziomu izolacji REPEATABLE READ przedstawiono poniższej w tablicy (T oznacza, że operacje mogą być wykonywane współbieżnie, czyli nie są konfliktowe, N oznacza brak współbieżności, a więc konfliktowość) Przyjęcie te rodzaju współbieżności operacji eliminuje brak odtwarzalności, kkadę odrzuceń oraz anomalię powtórne czytania Na tym poziomie izolacji mogą pojawiać się fantomy Przy tym poziomie izolacji współbieżność transakcji jest mniejsza niż przy READ COMMITTED Należy więc stosować tylko wtedy, gdy jest to naprawdę konieczne Poziom izolacji 3 (SERIALIZABLE) Poziom izolacji 3 rozwiązuje problem fantomów Wymaga to poszerzenia rozważanych dotychcz pojęć współbieżności i konfliktowości o formuły (predykaty) definiujące zbiory danych, na których działają transakcje Za niekonfliktowe uważa się takie operację, gdy działanie jednej z nich nie powoduje zmiany zbiory danych, na których działa druga SERIALIZABLE oznacza, że historia przetwarzania transakcji jest szerewalna, a więc jest równoważna pewnej historii szerewej (tj takiej, gdzie wszystkie operacje jednej transakcji poprzedzają wszystkie operacje innej transakcji) (c) T Pankowski, Transakcje 41 (c) T Pankowski, Transakcje 42 Poziom izolacji 3 (SERIALIZABLE) (cd) Poziom izolacji 3 (SERIALIZABLE) (cd) Niech dane będą operacje o[ϕ] i p[ψ] pochodzące z dwóch różnych i aktywnych transakcji (ϕ i ψ są formułami określającymi zbiory danych, na których działa operacja) oraz niech operacja o poprzedza operację p, tzn o[ϕ] < p[ψ] Przyjmijmy oznaczenia: X = {x ϕ(x)} zbiór danych spełniających warunek ϕ bezpośrednio przed wykonaniem operacji p[ψ], Y = {y ψ(x)} zbiór danych spełniających warunek ψ bezpośrednio przed wykonaniem operacji p[ψ], X = {x ϕ(x)} zbiór danych spełniających warunek ϕ bezpośrednio po wykonaniu operacji p[ψ] Pojęcie współbieżności operacji rozszerzamy obecnie ntępująco: 1 Dwie operacje Read[ϕ] i Read[ψ] są zawsze współbieżne 2 Operacje, o[ϕ] i Write[ψ] są współbieżne, jeśli zbiór na którym działa druga z tych operacji jest rozłączny ze zbiorem związanym z wykonaniem pierwszej z nich oraz wykonanie drugiej operacji nie zmieni zbioru związane z wykonywaniem pierwszej Formalnie: X Y = oraz X = X 3 Operacje, Write[ϕ] i Read[ψ] są współbieżne, jeśli zbiór na którym działa druga z tych operacji jest rozłączny ze zbiorem związanym z wykonaniem pierwszej z nich Formalnie: X Y = (c) T Pankowski, Transakcje 43 (c) T Pankowski, Transakcje 44

12 Poziom izolacji 3 (SERIALIZABLE) (cd) Reguły współbieżności dla poziomu izolacji SERIALIZABLE przedstawiono poniższej w tablicy (T oznacza, że operacje mogą być wykonywane współbieżnie, czyli nie są konfliktowe, N oznacza brak współbieżności, a więc konfliktowość) Poziomy izolacji przetwarzania transakcji podsumowanie Przyjęcie określone poziomu izolacji może być źródłem problemów (anomalii) omówionych przy okazji historii przetwarzania transakcji Może też eliminować te problemy W poniższej tablicy symbol T oznacza, że dany problem występuje przy rozważanym poziomie izolacji, N że nie występuje Przyjęcie te rodzaju współbieżności operacji eliminuje wszystkie anomalię, w tym problem fantomów Przy tym poziomie izolacji współbieżność transakcji jest najmniejsza, a efektywność przetwarzania bardzo niska Należy więc stosować tylko wtedy, gdy jest to naprawdę konieczne (c) T Pankowski, Transakcje 45 (c) T Pankowski, Transakcje 46 Przetwarzanie transakcji na różnych poziomach izolacji przykład Problemy związane z przetwarzaniem bazy danych przy różnych poziomach izolacji zilustrujemy teraz przykładami z MS SQL Server 2000 Przypuśćmy, że w bazie danych istnieje tabela Procesor o ntępującej postaci: Poziom izolacji READ UNCOMMITTED przykład Przy poziomie izolacji 0 możliwe jest czytanie danych zmienionych przez transakcje jeszcze nie zatwierdzone Mówi się wówcz o brudnym czytaniu Dopuszczenie takie czytania bardzo zwiększa współbieżność przetwarzania, ale jednocześnie może doprowadzić do udostępniania nieprawdziwych danych z bazy danych, co ilustruje poniższy przykład Na tabeli tej będą współbieżnie operowały dwie transakcje Pierwsza z tych transakcji ma stały poziom izolacji, tj domyślny READ COMMITTED, a poziom izolacji drugiej z nich ustalany jest za pomocą komy SET TRANSACTION ISOLATION LEVEL (c) T Pankowski, Transakcje 47 (c) T Pankowski, Transakcje 48

13 Poziom izolacji READ UNCOMMITTED przykład Historia przetwarzania transakcji na poziomie izolacji READ UNCOMMITTED: zapis odczyt Transakcja T1: Transakcja T2: set transaction isolation level read ted set transaction isolation level read unted Poziom izolacji READ COMMITTED przykład Historia przetwarzania transakcji na poziomie izolacji READ COMMITTED: odczyt zapis: Transakcja T1: Transakcja T2: set transaction isolation level read ed set transaction isolation level read ted update Procesor set Cena = 300 where Nazwa = '200MMX' T1 zmienia cenę rollback T1 wycofuje zmianę select Cena from Procesor where Nazwa = '200MMX' T2 czyta zmienioną cenę (300) T2 ma niepoprawną informację o cenie (300 zamit 320) (c) T Pankowski, Transakcje 49 select Cena, Stan from Procesor where Nazwa = '200MMX T1 czyta cenę i stan towaru (320, 20) update Procesor set Cena = 310 where Nazwa = '200MMX' T2 zmienia cenę wczytaną przez T1 select sum(cena*stan) from Procesor where Nazwa = '200MMX T1 czeka na zakończenie T2 Wykonanie oczekującej operacji select dla T1 Wynik sprzeczny z poprzednią operacją select (zwracana wartość: 310*20 = 6200) (c) T Pankowski, Transakcje 50 Poziom izolacji REPEATABLE READ przykład Przy poziomie izolacji REPEATABLE READ mamy zagwarantowane, że przy ponownym odwołaniu się do tych samych danych, dostajemy identyczne informacje Uzyskuje się to przez uniemożliwienie aktualizowania danych wczytanych przez transakcję, która nie została jeszcze zakończona Przetwarzanie transakcji dyskutowane w poprzednim przykładzie będzie obecnie miało historię przedstawioną na ntępnym slajdzie Poziom izolacji REPEATABLE READ przykład Historia przetwarzania transakcji na poziomie izolacji REPEATABLE READ: odczyt zapis odczyt: Transakcja T1: Transakcja T2: set transaction isolation level repeatable read set transaction isolation level repeatable read select Cena, Stan from Procesor where Nazwa = '200MMX T1 czyta cenę i stan towaru (320, 20) update Procesor set Cena = 310 where Nazwa = '200MMX' T2 czeka na zakończenie T1 select sum(cena*stan) from Procesor where Nazwa = '200MMX T1 oblicza wartość towaru (320*20 = 6400) Wykonanie oczekującej operacji update dla T2 (c) T Pankowski, Transakcje 51 (c) T Pankowski, Transakcje 52

14 Poziom izolacji REPEATABLE READ przykład Historia przetwarzania transakcji na poziomie izolacji REPEATABLE READ: odczyt dołączanie odczyt: Transakcja T1: Transakcja T2: set transaction isolation level repeatable read set transaction isolation level repeatable read Poziom izolacji SERIALIZABLE przykład Historia przetwarzania transakcji na poziomie izolacji SERIALIZABLE: odczyt dołączanie odczyt: Transakcja T1: Transakcja T2: set transaction isolation level serializable set transaction isolation level repeatable read select Cena, Stan from Procesor where Nazwa = '200MMX T1 czyta cenę i stan towaru (320, 20) select sum(cena*stan) from Procesor where Nazwa = '200MMX T1 oblicza wartość towaru ( ) insert into Procesor values('200mmx', 250, 10) T2 dołącza nową krotkę, fantom select Cena, Stan from Procesor where Nazwa = '200MMX T1 czyta cenę i stan towaru (320, 20) select sum(cena*stan) from Procesor where Nazwa = '200MMX T1 oblicza wartość towaru (6400) insert into Procesor values('200mmx', 250, 10) T2 czeka na zakończenie T1 Wykonanie insert przez T2 (c) T Pankowski, Transakcje 53 (c) T Pankowski, Transakcje 54 Przykład: transakcja T1 Przykład: transakcja T (c) T Pankowski, Transakcje 55 (c) T Pankowski, Transakcje 56

15 Przykład: transakcja T3 300 (c) T Pankowski, Transakcje 57

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

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

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

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

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

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

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

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

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

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

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL

Obsługa błędów w SQL i transakcje. Obsługa błędów w SQL Obsługa błędów w SQL i transakcje Zacznijmy od najprostszego przykładu: CREATE PROCEDURE podziel1 Obsługa błędów w SQL Powyższa procedura w większości przypadków zadziała prawidłowo, lecz na przykład poniższe

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

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

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

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

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

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. UŁ. 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

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

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

Tadeusz Pankowski

Tadeusz Pankowski Problem odtwarzania bazy danych Odtwarzanie bazy danych (recovery) Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski System bazy danych musi być w stanie odtworzyć swój poprawny stan w sposób automatyczny,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Transakcje i blokady Wprowadzenie do transakcji, rodzaje transakcji Punkty zapisu, odzyskiwanie

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

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

Ć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

BAZY DANYCH Cz III. Transakcje, Triggery

BAZY DANYCH Cz III. Transakcje, Triggery BAZY DANYCH Cz III Transakcje, Triggery Transakcje Definicja: Zbiór operacji (modyfikacja danych, usuwanie, wstawianie, tworzenie obiektów bazodanowych), które albo wszystkie kończone są sukcesem, albo

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

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

Bazy danych Transakcje

Bazy danych Transakcje Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

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

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

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

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe SQL dokończenie Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk (Wydział Fizyki) BDiUS w. V Jesień 2016 1 / 39 Data Manipulation Language Zapytania klauzula SELECT Wstawianie

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

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do Na dotychczasowych zajęciach zapoznaliście się Państwo z poleceniem SELECT pozwalającym ą na wykonywanie zapytań ń do bazy danych i odczytywanie danych zawartych w relacjach. Celem tego ćwiczenia jest

Bardziej szczegółowo

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Szpieg 2.0 Instrukcja użytkownika

Szpieg 2.0 Instrukcja użytkownika Szpieg 2.0 Instrukcja użytkownika Spis treści: Wstęp: 1. Informacje o programie 2. Wymagania techniczne Ustawienia: 3. Połączenie z bazą danych 4. Konfiguracja email 5. Administracja Funkcje programu:

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

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

Bardziej szczegółowo

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

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015 Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015 Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs.

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

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

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

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

Instrukcja instalacji i obsługi programu Szpieg 3

Instrukcja instalacji i obsługi programu Szpieg 3 COMPUTER SERVICE CENTER 43-300 Bielsko-Biała ul. Cieszyńska 52 tel. +48 (33) 819 35 86, 819 35 87, 601 550 625 Instrukcja instalacji i obsługi programu Szpieg 3 wersja 0.0.2 123 SERWIS Sp. z o. o. ul.

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

Integralność bazy danych

Integralność bazy danych Integralność bazy danych Integralność (ang. integrity) łączy w sobie formalną poprawność bazy danych i procesów przetwarzania, poprawność fizycznej organizacji danych, zgodność ze schematem bazy danych,

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

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

SQL Server. Odtwarzanie baz danych.

SQL Server. Odtwarzanie baz danych. SQL Server. Odtwarzanie baz danych. Utwórz bazę danych CW. Utwórz w niej tabelę T1(p1 INT PRIMARY KEY, p2 INT) i wpisz wiersz (1,100). Sprawdź ścieżkę dostępu do plików bazy (np. we właściwościach bazy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

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

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

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

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

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

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

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Programowanie po stronie serwera w SZBD Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Programowanie SZBD (DBMS) Procedury serwera Procedury składowane

Bardziej szczegółowo

Uprawnienia, role, synonimy

Uprawnienia, role, synonimy Uprawnienia, role, synonimy Schemat, użytkownicy, autoryzacja użytkowników, uprawnienia systemowe i obiektowe, nadawanie i odbieranie uprawnień, tworzenie ról, przywileje, synonimy Schematy i użytkownicy

Bardziej szczegółowo

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

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

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

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl)

z przedmiotu: Techniki Informatyczne Stanisław Flaga (stanislaw.flaga@agh.edu.pl) mysql relacyjna baza danych wstęp Materiały pomocnicze do laboratorium z przedmiotu: Techniki Informatyczne Stanisław Flaga () Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów

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

Kursor jawny. Rozdział 10a Kursory. Deklarowanie kursora (1) Deklarowanie kursora (2)

Kursor jawny. Rozdział 10a Kursory. Deklarowanie kursora (1) Deklarowanie kursora (2) Kursor jawny Każde zapytanie SQL umieszczone w programie PL/SQL może zwrócić zero, jedną bądź wiele krotek. Aby efektywnie przetworzyć krotkizwrócone przez zapytanie korzystamy z kursorów. Kursor jest

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych i usługi sieciowe

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

Bardziej szczegółowo

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która

Bardziej szczegółowo

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

Struktura drzewa w MySQL. Michał Tyszczenko

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

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

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

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

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

Bardziej szczegółowo

Relacyjne bazy danych a XML

Relacyjne bazy danych a XML Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Imię i Nazwisko Data Ocena. Laboratorium 7

Imię i Nazwisko Data Ocena. Laboratorium 7 Imię i Nazwisko Data Ocena Laboratorium 7 Celem tego ćwiczenia jest pokazanie, że w MoscowML można pisać aplikacje użytkowe, np. prosty interpreter języka SQL (MLSQL) Listy i krotki Różnica pomiędzy krotkami

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

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

Systemy GIS Tworzenie zapytań w bazach danych

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

Bardziej szczegółowo

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

Technologia informacyjna

Technologia informacyjna Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,

Bardziej szczegółowo

Bazy danych 3. Normalizacja baz danych

Bazy danych 3. Normalizacja baz danych Bazy danych 3. Normalizacja baz danych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 Pierwsza postać normalna Tabela jest w pierwszej postaci normalnej (1PN), jeżeli 1. Tabela posiada klucz.

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

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo