sciaga.doc

(74 KB) Pobierz
1

 

1. Scharakteryzować model obiektowej bazy danych

  

Model danych, w którym wykorzystano cechy obiektowości tj.: pojęcie klasy i obiektów klasy, enkapsulacja, mechanizm identyfikacji obiektów , dziedziczenie , przeciążanie funkcji.

Model obiektowy – kolekcja obiektów, do rekordów danych dołączane są mechanizmy obsługujące dane, obiekt jest pakietem danych i procedur, dane są trzymane w atrybutach obiektu, procedury są definiowane za pomocą metod obiektu, metody są uaktywniane przez komunikaty przekazywane między obiektami.

Np. ORION, INIS

Cechy podstawowe

              obiekt w bazie reprezentuje obiekt w świecie zewnętrznym

              typ obiektowy (klasa):

              definicja złożonego typu danych (może zawierać inne typy obiektowe lub ich kolekcje)

              procedury (metody) i operatory do manipulowania tymi danymi

              tożsamość obiektu jest niezależna od zawartości danych

              dziedziczenie (inheritance):

              strukturalne: potomek dziedziczy strukturę danych

              behawioralne: potomek dziedziczy metody i operatory

 

 

2. Co rozumie się pod pojęciem „logiczny model danych”

 

Model logiczny danych – opis kolekcji danych przechowywanych w BD niezależnie od fizycznej realizacji, np.: rekord, tabela, tablica rekordów, obiekt z definicją metod obsługi obiektu, lista, drzewo itp.. Model koncepcyjny jest to inaczej obraz danych postrzeganych przez użytkownika (sposób wykorzystania, interpretacji danych).

 

3. Co rozumie się pod pojęciem „fizyczny model danych”

 

Model fizyczny danych – sposób fizycznej realizacji modelu logicznego

 

4.  Jakie modele logiczne danych wyróżnia się w systemach baz danych

 

-hierarhiczny

-oparty na rekordach

-sieciowy

-relacyjny

 

5. Scharakteryzuj model sieciowy bazy danych.

 

-dane są reprezentowane przez rekordy

-związki miedzy danymi są reprezentowane przez wskazania

- w modelu tym możemy zdefiniowac relacje typu wiele –wiele

- rekordy lub paczki rekordów w postaci sieci albo listy jedno lub dwukierunkowej zamkniętej w pierścień.

Cechy podstawowe

              struktura danych ma postać grafu (sieci)

              wierzchołki grafu - typy obiektów

              łuki w grafie - wiązania między typami

              opis obiektu (rekord) zbudowany z pól zawierających dane opisujące obiekt

              reprezentacja wiązań (wskaźniki):

              odesłanie bezpośrednie (jednowart.)

              odesłanie inwersyjne (wielowart.)

 

 

6. Scharakteryzuj model relacyjny bazy danych

 

-dane w tym modelu reprezentowane są przez rekordy umieszczone w tabelach

-każda tabela przechowuje rekordy tego samego typu

-każda tabela ma określoną stałą ilość kolumn o unikalnych nazwach

-elementy tabeli (atrybuty) są wypełnione atomowymi wartościami

-każda krotka tabeli musi być jednoznacznie określona przez wartość klucza tabeli

 

7. Scharakteryzuj model hierarchiczny bazy danych

 

-rekordy są zorganizowane w drzewa

Model hierarchiczny był pierwszym modelem baz danych skonstruowanym na bazie rekordów, dzięki hierarchii szybsze wyszukiwanie, rekordy zmiennej długości o specjalnym znaczniku końca, najczęściej w formie drzew zrównoważonych, poruszanie się w dwóch kierunkach drzewa, Np. IMS

Cechy podstawowe

              struktura danych ma postać drzewa

              węzły - typy opisywanych obiektów

              łuki - związki typu ojciec-syn

              drzewo jest uporządkowane, tj. na każdym poziomie kolejność węzłów jest określona

              opis obiektu (rekord) zbudowany z pól zawierających dane opisujące obiekt

              związki zrealizowane jako wskaźniki

 

8. co to są więzy integralności w BD

 

Jest to system reguł zapewniających poprawność związków miedzy krotkami tabel o ile te tabele są powiązane relacja wynikającą z istnienia kluczy obcych i głównych. Są to takie reguły które są za każdym razem sprawdzane gdy w bazie dokonujemy jakichkolwiek zmian.

Mamy następujące więzy integralności

a) jednoznaczności

b) integralności referencyjnej

c) dziedziczone lub domenowe

d) globalne

 

9. Wyjaśnić pojęcie perspektywy w relacyjnych bazach danych.

 

Perspektywy są traktowane przez SBD jak tabele, z wierszami i kolumnami, nie posiadaja jednak wlasnych danych. Wszystkie dane w perspektywie są danymi zawartymi w jednej lub wielu tabelach. Stos się w celu: ogran dostępu do tabel w BD, uproszczenia zapytan kierowanych do systemu, zapewnienia niezależności danych wewn aplikacji

 

10. Na czym polega dostęp do bazy danych w architekturze klient-serwer?

 

Istnieją dwa sposoby realizacji dostępu do bazy danych w architekturze klinet-serwer: rozwiązanie oparte na serwerze plików oraz na serwerze SQL. Pierwsze ma wiele wad (brak gwarancji jednolitego systemu zarządzania np. współbieżnością, szybkością dostępu), natomiast drugie wspiera optymalizację zapytań, współbieżność oraz standardowe odwołania do systemu zarządzania (SQL). System posiada dwa rodzaje aplikacji: jedną na komputerach klienckich, drugą na serwerach. W tej architekturze aplikacje mogą być dzielone na moduły i odpowiednie moduły (np. formularz) są przesyłane do odpowiednich klientów. Dodatkowo mechanizmy internetu wykorzystuje się w sieciach wewnętrznych firm (intranety). Do tych celów opracowano trójwarstwowy model zarządzania, gdzie poszczególne warstwy odbierają dane i dokonują na nich ściśle określonych działań, a w przypadku błędu komunikat o nim przesyłają do źródła danych. Żadna z warstw nie powiela pracy innych. Wyróżnia się 3 warstwy /logiczne części aplikacji rozdzielone funkcjami/: dolną, środkową i górną.

 

11. Opisać metodę blokowania dwufazowego transakcji w bazie danych.

 

Polega on na tym, że każda transakcja przebiega w dwóch fazach: zablokowania i odblokowania, więc nie ma oddzielnego odblokowania. Moment założenia wszystkich blokad nazywa się punktem akceptacji. Zapis realizuje się dopiero w fazie odblokowania, a jednostka zostaje odczytana w fazie blokady. Można dodatkowo założyć, że jednostka zablokowana i zwolniona, może mieć nową blokadę dopiero po jakimś czasie. Inaczej wygląda harmonogram szeregowalności, graf będzie multigrafem, gdzie niektóre ścieżki mogą być traktowane wariantowo. Algorytm jest podobny do poprzednich. Ta metoda jest najczęściej implementowana w SZBD. Jest połączona z wypełnieniem i realizacją dziennika transakcji.

 

12. Omówić metodę węzła pierwotnego w dostępie do bazy danych.

 

Podejście w którym odpowiedzialność blokowania konkretnej jednostki spoczywa na jednym konkretnym węźle .Dla każdej jednostki może to być inny węzeł albo w systemie jest jeden węzeł którym zarządza się blokadami wszystkich kopii. Występuje tablica z adresami kopii pierwotnych. Za pomocą tej tablicy dostajemy się do danego węzła i blokujemy i uzyskujemy informacje ze nie można założyć blokady. Metoda jest efektywna ale niezbyt bezpieczna przy awariach.

 

13. Omówić metodę żetonu kopii pierwotnej w dostępie do bazy danych

 

Modyfikacja metody węzła pierwotnego, która dodatkowo w węźle pierwotnym wydaje żetony (odczytu i zapisu). Są to inaczej uprawnienia przyznawane określonym węzłom sieci. Dla dowolnej jednostki A może istnieć jeden żeton zapisu i wiele żetonów odczytu. Żetony te są przekazywane z węzła do węzła. Posiadanie przez węzeł żetonu zapisu A może zapewnić transakcji wykonywanie w tym węźle zablokowania całkowitego lub zapisu. Jeżeli węzeł ma żeton odczytu jednostki A, to może zapewnić blokowanie jej zapisu transakcji, która jest w tym węźle, ale nie zapewnia blokowania całkowitego. Metoda ta  wymaga większej ilości przesłanych komunikatów. Główną zaletą jest to, że jeżeli w danym węźle wykonuje się większość transakcji dotyczących danej jednostki, to z reguły żeton zapisu znajduje się w tym węźle.

 

14. Omówić metodę węzła centralnego w dostępie do bazy danych

 

Metoda ta polega na przypisaniu odpowiedzialności za blokowanie jednemu węzłowi. Węzłem pierwotnym jest tylko jeden węzeł-centralny. Nie musi zawierać kopii jednostki którą należy blokować. Blokada zapisu: do węzła centralnego przesyłane jest żądanie blokady zapisu. Jeżeli blokada nie może być zapewniona to do źródła wysyła się odpowiedni komunikat. Żeby sprawdzić czy blokada jest założona węzeł centralny wysyła komunikaty do węzłów z kopiami. Jeżeli blokada może być założona to węzeł z kopią wysyła wartość do węzła żądającego blokady. Często jest potrzebny dodatkowy komunikat do węzła z kopią o konieczności przesłania żądanej wartości. Na podobnych zasadach odbywa się blokowanie całkowite dla modyfikowania jednostki. Węzeł żądający blokady wysyła na koniec żądanie zdjęcia blokady. Jej wadą jest to, że większość komunikatów jest przesyłana od/do węzła centralnego, a zatem węzeł centralny jest wąskim gardłem przy komunikacji. Dodatkowo metoda ta nie jest bezpieczna – szczególnie w przypadku awarii węzła centralnego cały mechanizm obsługi staje się bezużyteczny.

 

 

 

 

15. Opisać metodę blokowania hierarchicznego transakcji w bazie danych.

 

W niektórych bazach danych można zakładać blokady na całe relacje, krotki, wybrane elementy. Jeżeli weźmiemy zbyt małe jednostki do blokowania, to możemy otrzymać niespójność bazy danych. Ważne jest jaką jednostką dysponujemy. Całą bazę możemy rozpatrywać jako hierarchię drzewiastą: korzeń to baza danych, a kolejne wierzchołki to relacje. Dla relacji można wyznaczać kolejne jednostki, które możemy blokować.
Metodę hierarchiczną opracował Grey. Oparta jest ona na większej ilości blokad:

1)              współdzielna i wyłączna (S i X),

2)              intencjonalna blokada współdzielna (IS),

3)              intencjonalna blokada wyłączna (IX),

4)              blokada mieszana (SIX), która jest połączeniem S i IX.

 

16. Wymienić zasady optymalizacji czasowej zapytań do bazy danych

 

1. selekcję wykonuje się tak szybko jak to możliwe – selekcja wpływa znacznie na czas wykonywania zapytań rzędy wielkości, gdyż ma tendencję do zawężania pośrednich wyników obliczeń wielokrokowych

2. niektóre selekcje można łączyć z poprzedzającym je iloczynem kartezjańskim w celu utworzenia złączeń – złączenie lub równozłączenie jest efektywniejsze od iloczynu kartezjańskiego

3. można łączyć ciągi operacji jednoargumentowych, jak selekcje lub rzuty, w jedną operację wieloargumentową

4. wyszukiwanie wspólnych podwyrażeń – jeżeli wynik wspólnego podwyrażenia (pojawiającego się więcej niż jeden raz) nie jest dużą relacją i można go odczytać z pamięci pomocniczej szybciej niż ponownie obliczyć, to korzystnie jest wcześniej go wyliczyć.

5. wstępne operacje na plikach – sortowanie i tworzenie plików indeksowych ułatwia efektywne kojarzenie wartości z różnych plików. Stałe utrzymywanie indeksów i plików posortowanych może nie być ekonomiczne, ale celowe może być chwilowe tworzenie indeksu lub sortowanie w celu zrealizowania zapytania

Większość tych reguł opiera się na przekształceniach wyrażeń algebraicznych

 

17. Scharakteryzować rozproszone bazy danych z replikacją danych.

 

W tym systemie postrzegalne tabele znajdują się w wersji oryginału i kopii. Występuje tam n węzłów i każdy z nich może zawierać m kopii dowolnej tabeli bazy danych .W n węzłach znajduje się po 1 oryginale każdej tabeli. Przy aktualizacji musimy zapewnić żeby kopie były identyczne z oryginałami. Musimy zablokować jednostki bazy danych do wykonania operacji. Często mamy do czynienia z sytuacja ze gdy modyfikujemy bazy danych to oprócz blokowania bazy blokujemy również kopie.

 

18. Scharakteryzować zastosowania obiektowych baz danych.

 

Obiektowe bazy danych są wykorzystywane przede wszystkim w systemach z dużą liczbą użytkowników oraz olbrzymią pojemnością danych. Niektóre aplikacje zawierają do 1 TB danych. Główne branże, w których zastosowanie mają obiektowe bazy danych to: Transport i Komunikacja, Produkcja, Rozwój oprogramowania, Finanse i bankowość, Consulting, badania naukowe, wydawnictwo, lotnictwo, zdrowie i medycyna.

 

Przykłady projektów wykorzystujących obiektowe bazy danych: System łączności bezprzewodowej, System rezerwacji lotniczej, Komputerowy system symulacji chorób PhysioLabs/ENTELOS, DLR- komputerowy system analizy danych klimatycznych, System łączności telefonii komórkowej IRRIDIUM/Motorola, Rozproszony system obsługi klientów, Systemy informacji przestrzennej

 

 

19. standard ODBC (Open DataBase Connectivity)

 

Standardowy sterownik stosowany do dostępu do baz danych prod. Microsoftu.

Umieszcza się on pomiędzy bazą danych a aplikacją. Dla różnych systemów baz danych są różne sterowniki ODBC, przy czym można wyróżnić 2 architektury:

1. zorientowana na klienta (najpopularniejsza): sterownik ODBC jest umieszczany na komputerze klienta (PC+Windows); każdy sterownik używa specjalnego oprogramowania sieciowego do połączenia się z serwerem; aplikacja korzysta z menedżera sterowników ODBC, wybierającego odpowiedni sterownik dla odpowiedniego systemu b.d.

2. zorientowana na klienta: tu do komunikacji wystarczy standardowy sterownik komunikacji sieciowej, zaś sterowniki ODBC znajdują się na serwerze ODBC (który może lecz nie musi być związany bezpośrednio z jednym serwerem b.d.); maszyna klienta potrzebuje tylko „ogólnego” sterownika ODBC; serwer wymaga jednego sterownika dla każdego systemu b.d.

 

19A. Standard JDBC (Java DataBase Connectivity)

Jest to Javowy odpowiednik ODBC, podobnie jak ODBC ten sterownik działa przekazując wywołania sterownikowi JDBC. Używa 2 różnych architektur współpracy z serwerem danych:

1. sterownik JDBC komunikuje się bezpośrednio z serwerem danych i tłumaczy instrukcje JDBC na wywołania rozpoznawane przez daną bazę

2. sterownik JDBC wymienia dane ze sterownikiem ODBC na serwerze i tłumaczy instrukcje JDBC na wywołania ODBC, a dopiero zadaniem sterownika ODBC lub serwera jest komunikacja z serwerem danych

 

 

20. Strategia dwufazowego wypełniania

 

Służy do określenia czy dana transakcja została wypełniona, czy nie.  Definiujemy ją następująco:

q       Transakcja nie może zapisywać danych do BD dopóty, dopóki nie zostanie wypełniona.

q       Transakcja nie może być wypełniona dopóty, dopóki nie zapisze w dzienniku wszystkich dokonywanych przez siebie zmian elementarnych.

Z powyższych uwarunkowań wynika, ze pierwsza faza wypełnienia, to zapis danych do dziennika, a faza druga to zapis danych do BD. Jeżeli dodatkowo transakcje przestrzegają protokołu dwufazowego i odblokowanie odbywa się po wypełnieniu (zapis do dziennika i zapis do BD)  to żadna transakcja nie może odczytywać z BD wartości zapisanej przez transakcję nie wypełnioną. Gdy w systemie wystąpi awaria, to możliwe jest badanie dziennika i powtórzenie wszystkich wypełnionych transakcji zapisanych w dzienniku, które nie mogły zapisać zmian do BD.

 

21. Metody usuwania impasu:

 

Sytuacja, w której każdy element zbioru S dwóch lub większej ilości transakcji czeka na blokadę jednostki właśnie zablokowanej przez pewną transakcję ze zbioru S nazywa się impasem (deadlock). Istnieje kilka sposobów na pokonanie tego problemu:

 

1. Każda transakcja zgłasza od razu swoje żądania blokowania zaś system albo przydzielała je wszystkie albo w przypadku gdy jedna lub więcej blokad cząstkowych jest już nałożona przez inne transakcje, nie przydziela takiej blokady i powoduje, że cała taka transakcja oczekuje na blokadę.

2. Przypisuje się jednostkom pewne arbitralne uporządkowanie i wymaga się by wszystkie żądały blokad w tej kolejności.

3. Nie robi się nic by zapobiegać impasom, ale bada się okresowo żądania blokowania i sprawdza, czy impas występuje. Stosuje się tu zazwyczaj metodę opartą na rysowaniu grafu oczekiwań. Wierzchołkami takiego grafu są transakcje, a jego krawędzie oznaczają, że transakcja T1 czeka na zablokowanie jednostki która jest zablokowana przez T2. Jeżeli taki graf oczekiwań zostanie utworzony i w grafie tym będą występowały cykle to mamy wówczas dowód na istnienie impasu. Jeżeli taki impas został wykryty, to trzeba zacząć ponownie wykonywać jedną z powodujących ten impas transakcję, a wyniki dotychczasowego działania tej transakcji muszą być usunięte z BD. Taki proces ponownego startu przy impasie może być i często jest skomplikowany jeśli nie opracowano specjalnego sposobu zapisu zmian w BD.

 

22. Rozproszone (distributed) systemy baz danych.

 

BD, które są przechowywane w wielu oddalonych od siebie miejscach. Rozmaite komputery sterują dostępem do różnych porcji danych oraz służą do pośredniczenia pomiędzy b.d. a użytkownikami w wielu miejscach. Czasami funkcje sterowania dostępem i pośredniczenie pomiędzy b.d. a użytkownikiem są wykonywane przez ten sam komputer. Komputery w środowisku rozproszonym współpracują w obsłudze b.d. przy pomocy łączy komunikacyjnych. Transmisja przez łącza komunikacyjne jest „wąskim gardłem” takich BD.

Rozproszona BD składa się z pewnej liczby węzłów. Każdy węzeł to komputer ze środkami do przechowywania danych. Każdy węzeł zawiera zazwyczaj system obsługi transakcji do aktualizacji i przetwarzania zapytań wprowadzonych przez użytkownika oraz system obsługi plików sterujący dostępem do danych. Możliwe, że jedna z funkcji jest pominięta (obie funkcje realizuje jeden system). Zakładamy również, że b.d. składa się z jednostek – porcji danych nadających się do indywidualnego blokowania. Pewne jednostki mogą być powielane (pojawiają się w dwóch lub więcej różnych węzłach). Takie powielenie stosuje się najczęściej, gdy z określonych fragmentów b.d. użytkownicy tylko czytają dane (po to, aby przyspieszyć działania na tych jednostkach). Wówczas jednostka jest dostępna w tym węźle, który czyta. Ponadto nadmiarowe zapamiętywanie danych zmniejsza prawdopodobieństwo ich utraty na skutek awarii. Ceną płaconą za powielanie jest konieczność przesyłania większej liczby komunikatów podczas aktualizacji lub blokowanie jednostki powielonej w więcej niż jednym węźle.

 

23. Pojęcie transakcji

 

Transakcja (współbieżność) jest to pewien ciąg czynności wykonywanych na BD. Może być zapisana z poziomu programu lub w trybie konwersacyjnym. Umożliwia zachowanie spójności w sytuacji współbieżnego dostępu do BD bez potrzeby umawiania się. Nie można mylić jej z procedurą.

 

24. Właściwości transakcji (ACID)

 

A (atomicity-atomowość) – w ramach jednej transakcji wykonują się albo wszystkie operacje albo żadna

C (consistency-spójność) – o ile transakcja zastała BD w spójnym stanie, po jej zakończeniu stan jest również spójny (w międzyczasie stan może być niespójny)

I (isolation-izolacja) – transakcja nic nie wie o innych transakcjach i nie musi uwzględniać ich działania. Czynności wykonane przez daną transakcję są niewidoczne dla innych transakcji aż do czasu jej zakończenia

D (durability-trwałość) – po zakończeniu transakcji jej skutki są trwale zapamiętywane w BD i nie mogą być odwrócone przez zdarzenia losowe jak np. wyłączenie zasilania

 

25. Całkowite blokowanie wszystkich – blokada zapisu jednej (rozposzone. BD)

 

Zakładamy, że cała rozproszona baza danych znajduje się w określonej ilości węzłów i określona jednostka znajduje się w określonej ilości węzłów. Transakcja blokuje zapis jednostki A, gdy blokuje ona zapis dowolnej kopii tej jednostki. Transakcja całkowicie blokuje jednostki A, gdy całkowicie blokuje wszystkie jej kopie. Blokowanie zapisu można zapewnić dotąd, aż żadna transakcja nie blokuje całkowicie jednostki. Jednostka A nie może być jednocześnie blokowana całkowicie i blokadą zapisu. Wprowadzamy oznaczenia:  n – liczba węzłów w bazie danych; dla każdej jednostki bazy danych jest n kopii jednostki. Rozważmy przepływ komunikatów w rozproszonej sieci. Gdy zakładamy blokadę na jednostkę A nie wiemy ile jest jej kopii. Aby wykonać WLOCK A musi być wysłana blokada zapisu do jednej kopii. Jeżeli ma być blokada całkowita, to trzeba wysłać komunikat do wszystkich węzłów zawierających jednostkę. Trzeba następnie czekać na odpowiedź z węzłów, że jest to możliwe. Potem przesyłamy nową wartość i komunikat o odblokowaniu. Komunikat przesyłający nową wartość będzie komunikatem długim. W rezultacie – przy blokowaniu całkowitym wysyłamy 3n komunikatów krótkich i n komunikatów długich. Jeżeli do komunikatu długiego dołączymy komunikat o odblokowaniu jednostki, to zaoszczędzimy 1n komunikatów krótkich (czyli będzie 2n komunikatów krótkich).Jeżeli żądanie blokady zapisu zostało odrzucone, to nie szukamy następnej kopii jednostki w bazie danych.

 

26. Metoda blokowania większości (rozposzone. BD)

 

Transakcja zablokowała zapis jednostki A jeżeli zablokowała zapis większości jej kopii. Transakcja zablokowała jednostkę A jeżeli zablokowała całkowicie większość jej kopii.

Szacowanie ilości komunikatów:

Aby założyć blokadę trzeba przesłać (n+1)/2 komunikatów o zablokowaniu. Wysyłamy n komunikatów z nową wartością i n+1 komunikatów o założeniu blokady i uzyskaniu odpowiedzi. Sam długi komunikat może zawierać informację o odblokowaniu. Przy odczycie mamy (n+1)/2 komunikatów o zablokowaniu i tyle samo musi być odpowiedzi o założeniu blokady. Jeżeli transakcja wykonuje się w węźle z kopią, to przy odczycie długiego komunikatu nie musi być przesłany komunikat krótki o potrzebie zablokowania tej jednostki. Mamy n- komunikatów krótkich i 0 komunikatów długich. Ale przesyłamy n komunikatów o odblokowaniu. Metoda większościowa jest efektywniejsza przy zapisie, natomiast jest ona bardziej kosztowna. Inna zaleta tej metody ujawnia się gdy transakcje często chcą blokować tę samą jednostkę. Gdy pojawiają się 2 transakcje w tym samym czasie i chcą zablokować co najmniej dwie kopie jednostki, to może się pojawić impas, bo dopiero po zablokowaniu wszystkich jednostek można działać

 

27. Harmonogram i szeregowalność

 

Harmonogram – kolejność wykonywania transakcji z dokładnością do elementarnych operacji wykonywanych przez transakcję, tj. blokowania, czytania, odblokowania, zapisu, itp. Harmonogram jest sekwencyjny, jeżeli wszystkie operacje każdej transakcji występują kolejno po sobie. Harmonogram jest szeregowalny (dający się uszeregować), jeżeli wynik działania tego harmonogramu jest równoważny wynikowi otrzymanemu za pomocą pewnego harmonogramu sekwencyjnego. Jeżeli w momencie pojawienia się harmonogramu okaże się że jest on szeregowalny, to transakcja może być wykonywana w systemie bazodanowym. W module zarządzania blokadami sprawdza się czy harmonogram jest szeregowalny. Nie każdy harmonogram jest sprawdzany przy realizacji w implementacjach BD. Większość harmonogramów jest sprawdzana z punktu widzenia operacji zapisu, odczytu, zablokowania, odblokowania. Poprzez program sprawdzający szeregowalność harmonogramu można osiągnąć rozwiązanie problemu impasu. Dla wszystkich   jednostek bazy danych wprowadza się jeden lub więcej  protokołów  przestrzeganych  przez wszystkie transakcje

 

28. Bezpieczeństwo przy awarii na tle metod blokowania transakcji:

 

System musi mieć dodatkowe mechanizmy zabezpieczenia przed awariami. Dotyczy to tylko scentralizowanych baz danych. Inne metody dotyczą systemów rozproszonych. Mówimy o awarii powodujących błędną interpretację danych i są odwracalne (do naprawy przez SZBD).

Aby zabezpieczyć system baz danych stosuje się metody:

1. Okresowe sporządzanie kopii BD bez wiedzy użytkowników,

2. Stworzenie kopii jest realizowanie jako odrębna transakcja na danych. Może być realizowane planowo lub tworzy się sama po upływie jakiegoś czasu.

3. Mechanizmy dzienników: Dziennik BD obejmuje identyfikator transakcji powodującej zmianę w BD, starą i nową modyfikowanej jednostki danych. Mogą być też zapisywane dodatkowe informacje, np. czy wypełniono transakcję do końca

 

29. Ograniczanie zapytań do BD

 

metody ograniczania zapytań: ograniczenie rozmiaru zbioru zapytań, ograniczenie pokrycie zbiorów danych, księgowanie zapytań (ekspert kontroli), partycjonowanie zwane również metodą atomizacji, blokowanie komórek, metody zakłócania danych: zakłócenia ustalone, niezależne, rekurencyjne.

 

 

 

Zgłoś jeśli naruszono regulamin