Materiały pomocnicze do przedmiotu
BAZY DANYCH
LITERATURA do przedmiotu "Bazy danych" (podstawowa)
J. Kisielnicki, H. Sroka :Systemy informacyjne biznesu. Metody projektowania i wdrażania systemów. Agencja wydawnicza PLACET. Warszawa 1999.
Paul Beynon-Davies. Systemy baz danych. WNT. Warszawa 1998.
J. Martin. Organizacja baz danych. Warszawa 1983
WSTĘP
Dane - wartości przechowywane w bazie, niezrozumiałe bez odpowiedniej interpretacji (wiek? czy waga?)
Informacje - dane przetworzone, zrozumiałe dla użytkownika
Bazy danych dynamiczne - operacyjne - wykorzystywane w codziennym funkcjonowaniu firm, tam gdzie mamy do czynienia z gromadzeniem, przechowywaniem i modyfikowaniem danych.
Dane są dynamiczne, bo ulegają ciągłym zmianom i odzwierciedlają aktualny stan jakiegoś obiektu. (obsługi pacjentów, zamówień, prenumeratorów).
Bazy danych statyczne - analityczne - wykorzystywane do przechowywania danych historycznych (do analizy zmian zjawisk w czasie ).
Dane są statyczne, co oznacza, że rzadko się zmieniają, odzwierciedlają stan obiektu w określonym momencie czasu (próbki, dane statystyczne).
Krótka historia
Dane są elementem majątku organizacji.
Dane od zawsze były gromadzone w organizacjach w postaci różnego rodzaju kartotek. Dawniej były one obsługiwane ręcznie lub automatycznie, obecnie w większości przypadków wykorzystuje się w tym celu sprzęt komputerowy.
Etapy rozwoju systemów baz danych - (rozwój systemów baz danych był związany z ogólnym rozwojem technologii komputerowych)
Etap pierwszy - tradycyjny
Systemy obsługiwały problemy zrutynizowane
Dane były gromadzone dla każdego programu osobno
Programy działały niezależnie ( języki programowania - COBOL, FORTRAN)
Dane się powielały
Etap drugi - uwarunkowany rozwojem sprzętu, zwłaszcza pamięci o dostępie bezpośrednim
Powstało specjalne oprogramowanie zwane Systemem Zarządzania Danymi SZD
Oddzielono dane od programów
Wielu użytkowników mogło korzystać z e wspólnych zbiorów danych
Nadal występowała redundancja danych (powielanie się danych)
Etap trzeci - powstanie SZBD (System Zarządzania Bazą Danych)
Oprogramowanie wchodzące w skład bazy danych, a więc SZBD, umożliwia przeorganizowanie bazy bez wpływu na programy użytkowe
Etap czwarty- wyodrębnienie:
Systemu Zarządzania Bazą Danych
Systemu Zarządzania Bazą Modeli (opisu)
Systemu Zarządzania Bazą Wiedzy
Obecnie są wykorzystywane głównie technologie, które można zaliczyć w większości do etapu trzeciego, a czasem do czwartego.
Na tym etapie wykładu celowym wydaje się zdefiniowanie pojęcia - „baza danych”.
W literaturze spotykamy się z różnym rozumieniem tego pojęcia:
Wg. Komitetu CODASYL - baza danych - jest to zestaw zbiorów (kolekcja) utrzymywanych w określony sposób przez użytkowników w procesach zakładania, aktualizacji i obsługi zapytań.
Wg. C. J. Date - baza danych - jest zbiorem danych operacyjnych wykorzystywanych przez systemy użytkowe organizacji. Oprogramowanie wchodzące w skład bazy danych, a więc SZBD umożliwia przeorganizowanie bazy bez wpływu na programy użytkowe.
Administrowanie danymi a administrowanie bazą danych
Administrowanie danymi jest funkcją, związaną z zarządzaniem, planowaniem i dokumentowaniem zasobów danych organizacji. Kluczową ideą koncepcji administrowania danymi jest spostrzeżenie, że dane, podobnie jak kapitał, kadry powinny być traktowane jako zasoby wymagające zarządzania. W tym sensie funkcja administrowania danymi jest widziana jako podstawowa część strategii zarządzania informacjami organizacji.
Zbiór czynności, za które jest odpowiedzialny administrator danych:
Konsultacja - na temat wszystkich aspektów związanych z metadanymi organizacji (dane na temat danych)
Zbiorowa świadomość - informowanie na temat znaczenia danych, dostępu do nich, i celu dla jakiego są przechowywane
Wymagania dotyczące danych - tworzenie ogólnej architektury danych w organizacji.
Analiza danych - -używanie metodyki analizy danych do tworzenia biznesowych modeli danych
Kontrola danych - implementowanie standardów zapewniających kontrolę dostępu do danych
Definicja danych - standardy
Integralność danych
Prywatność danych - czuwanie nad tym aby organizacja działała zgodnie z prawem dotyczącym państwowych przepisów na temat danych
Współdzielenie danych - między aplikacje.
Potrzeba administrowania danymi:
W tej samej organizacji jest tworzonych wiele aplikacji, które używają różnych definicji tych samych danych
Dane trzymane przez wiele różnych aplikacji są niespójne
Osoby podejmujące decyzje w organizacji otrzymują niezgodne między sobą dane pochodzące z różnych źródeł tej samej organizacji.
Osoby podejmujące decyzje w organizacji dane za późno, aby móc je użyć
Osoby podejmujące decyzje w organizacji za dużo nieistotnych danych
Istnieją zauważalne braki w danych zebranych w organizacji
Działy w organizacji nie mają jasnego wyobrażenia, po co zbierają pewne dane.
Trudności w administrowaniu danymi
W środowisku istnieją wcześniejsze systemy aplikacji
Administrowanie musi pogodzić dane zebrane w różnych obszarach organizacji
Opinie działów co do wymagań dotyczących danych znacznie się często różnią
Miejsce funkcji administrowania danymi w organizacji. Zwykle w dziale systemów informacyjnych, ponieważ jest zadaniem związanym z przetwarzaniem danych
Administrowanie bazą danych:
techniczna implementacja systemów baz danych
zarządzanie systemami baz danych
opracowywanie zasad ich użycia
sprawowanie kontroli.
Podstawowe funkcje administratora bazy danych:
Archiwowanie danych (strategia archiwowania)
Tworzenie kopii zapasowych i odtwarzanie danych (np.: w wypadku awarii sprzętu)
Kontrola danych (grupy, hasła, dostęp)
Standardy danych
Szacowanie wpływu zmian na użycie danych trzymanych w systemie baz danych
Monitorowanie na bieżąco działania systemu
Projektowanie fizyczne bazy
Zapewnienie prywatności, bezpieczeństwa i integralności danych na poziomie fizycznym
Szkolenie użytkowników
Wymagania stawiane systemom z bazą danych:
Kontrolowana redundancja (świadoma)
Różnorodne korzystanie z bazy (różni użytkownicy)
Możliwość szybkiej pracy konwersacyjnej
Łatwość rozwoju i reorganizacji
Dostępność i wydajność (różny stopień)
Tajność (różny stopień)
Zabezpieczenie przed zgubieniem danych
Szybka odnowa po awariach
Fizyczna i logiczna niezależność danych - zmiany w sprzęci i metodach są niezależne od zmian w ilości danych i strukturze danych)
RELACYJNE BAZY DANYCH
Historyczny rozwój logicznych modeli baz danych
Model hierarchiczny
Najstarszy
Struktura drzewiasta, jeden rekord główny (korzeń). Każdy rekord musiał być podrzędny tylko wobec jednego rekordu, ale sam mógł mieć dowolną ilość rekordów podrzędnych.
Dostęp do danych zawsze od korzenia. Użytkownik musiał znać strukturę przechowywanych danych.
Model sieciowy
Każda tabela mogła uczestniczyć w wielu relacjach
Należało znać strukturędanych żeby znaleźć odpowiedź, ale poszukiwanie można było zaczynać od dowolnego miejsca.
Zmiana bazy wymagała zmiany programu
Model relacyjny - cechy podstawowe
Fizyczna kolejność rekordów i pól w tabeli jest bez znaczenia dla użytkownika
Użytkownik nie musi znać fizycznego miejsca przechowywania rekordów
Dostęp poprzez język zapytań (np. SQL)
Model obiektowy
Obiekt - gromadzi strukturę i procedurę obsługi, oraz posiada właściwość dziedziczenia
Polecane w aplikacjach niestandardowych, np.: geograficznych
Relacyjne bazy danych - pojęcia podstawowe
Tabela INWENTARZ
Kod części Opis Ilość Cena hurtowa Cena detaliczna
|
Gwóźdź |
47 |
0,52 |
1,35 |
|
Gniazdo nr 4 |
3 |
16,73 |
26,98 |
|
Kosz |
5 |
9,38 |
14,95 |
|
Śruba nr 4 |
62 |
0,12 |
0,67 |
|
Śruba nr 5 |
38 |
0,08 |
0,21 |
|
Wkręt okrągły |
4 |
7,88 |
15,00 |
Pola Rekordy
Pole - (atrybut) - najmniejsza wyróżniona struktura w logicznej bazie danych. (Nazwy pól nigdy nie są częścią danych, służą jedynie jako etykiety pól.)
Rekord - (krotka) - reprezentuje pojedynczą instancję. Rekord zawiera pełny opis wszystkich pól.
Tabela - składa się z logicznej kombinacji pól i rekordów, których kolejność jest obojętna. Tabela może dotyczyć:
Obiektu - reprezentuje wówczas cechy osoby, miejsca, itp.
Zdarzenia - cechy spotkania, wizyt, transakcji, ...
Relacja - logiczne powiązanie między tabelami, realizowane poprzez klucze lub tabele łączące.
Klucz - pole zawierające dla każdego rekordu unikatową wartość (np. Kod części)
Informacje na temat tabeli:
Nazwy przypisywane tabelom powinny spełniać pewne kryteria:
Unikatowe i zrozumiałe
Czytelnie opisujące temat (części_silnika a nie tylko części)
Nie używać skrótów i zlepków liter
Nie wykorzystywać nazw własnych
Używać liczby mnogiej
Każda tabela powinna być określona przez trzy parametry:
Nazwa tabeli |
Typ tabeli |
Opis tabeli |
|
W zależności od pełnionej przez tabele funkcji mogą wystąpić poniższe typy (na tym etapie projektowania bazy danych będzie występował tylko pierwszy typ „dane”, kolejne pojawią się pózniej:
|
|
Informacje na temat pól:
Każde pole należy poddać analizie, czy spełnia kryteria stawiane „polu doskonałemu”
Reprezentuje cechę tematu tabeli
Nie zawiera wartości będącej wynikiem połączenia albo operacji matematycznej na wartościach innych pół (stwarzałoby to problemy w przypadku aktualizacji)
Jest unikatowe w zakresie całej struktury bazy danych (powtarzają się tylko te pola, które są niezbędna do stworzenia relacji między tabelami)
Zachowuje identyczne atrybuty we wszystkich tabelach, w których występuje.
Zawiera pojedynczą wartość
Jeżeli tak nie jest, należy wykonać poniższe czynności:
Usuwanie pól wielowartościowych- (kilka wystąpień tego samego rodzaju danych)
Należy stworzyć z tego pola odrębną tabelę i poprzez wybrane pole powiązać ją z tabelą macierzystą
Było:
Prowadzący
Imię i nazwisko prowadzącego |
Adres prowadzącego |
Telefon domowy prowadzącego |
Prowadzone kursy |
Jan Kowalski |
42-512 Sosnowiec ul. BBBbbb 47/21 |
266-55-55 |
CK, DK, WR |
Jest:
Prowadzący
Imię i nazwisko prowadzącego |
Adres prowadzącego |
Telefon domowy prowadzącego |
Jan Kowalski |
42-512 Sosnowiec ul. BBBbbb 47/21 |
266-55-55 |
Kursy_prowadzących
Imię i nazwisko prowadzącego |
Prowadzony kurs |
Jan Kowalski |
CK |
Jan Kowalski |
DK |
Jan Kowalski |
WR |
Nie można go rozłożyć na części składowe
Usuwanie pól segmentowych - (więcej danych różnego typu)
Było:
Prowadzący
Imię i nazwisko prowadzącego |
Adres prowadzącego |
Telefon domowy prowadzącego |
Jan Kowalski |
42-512 Sosnowiec ul. BBBbbb 47/21 |
266-55-55 |
Jest:
Prowadzący
Imię prowadzącego |
Nazwisko prowadzącego |
Kod prowadzącego |
Miasto prowadzą cego |
Ulica prowadzą cego |
Numer_domu prowadzącego |
Telefon domowy prowadzącego |
Jan |
Kowalski |
42-512 |
Sosnowiec |
BBBbbb |
47/21 |
266-55-55 |
Informacje na temat kluczy:
Klucze:
Umożliwiają identyfikację każdego rekordu
Umożliwiają definiowanie relacji
Umożliwiają wprowadzenie i egzekwowanie różnych rodzajów integralności tabel
Rodzaje kluczy:
Kandydujące - tworzy się zbiór kluczy kandydujących (KK), z których potem wybrany zostanie jeden podstawowy (KP).
Klucz kandydujący powinien spełniać pewne warunki:
Musi jednoznacznie identyfikować każdy rekord w tabeli do której należy (może to być jedno pole lub zespół pól)
Musi zawierać unikatowe wartości
Nie może zawierać wartości zerowych
Składa się z minimalnej liczby pól niezbędnej do uzyskania niepowtarzalności
Jego wartość nie może być opcjonalna
Każde pole w tabeli musi być funkcyjnie zależne od wartości klucza kandydującego
Jego wartości powinno modyfikować się jedynie w wyjątkowych przypadkach
Czasem tworzy się sztuczne klucze kandydujące (dołącza się pole do tabeli np.: ID_procownika)
Podstawowe - dla każdej tabeli ze zbioru kluczy kandydujących wybiera się jeden klucz podstawowy (najlepszy - możliwie prosty)
Wszystkie klucze podstawowe w bazie muszą się różnić (wyjątek - podzbiory)
Obce - występują w przypadku tworzenia relacji jeden_do_jeden i jeden_do_wielu.
Informacje na temat relacji:
Rodzaje relacji
Jeden - do jeden - pojedynczemu rekordowi z tabeli A odpowiada dokładnie jeden rekord z tabeli B, a pojedynczemu rekordowi z tabeli B dokładnie jeden rekord z tabeli A.
Jeden - do wielu - pojedynczemu rekordowi z tabeli A odpowiada jeden lub więcej rekordów z tabeli B, a pojedynczemu rekordowi z tabeli B odpowiada dokładnie jeden rekord z tabeli A.
Wiele - do - wiele - pojedynczemu rekordowi z tabeli A odpowiada jeden lub więcej rekordów z tabeli B, a pojedynczemu rekordowi z tabeli B odpowiada jeden lub więcej rekordów z tabeli A.
Definiowanie relacji - Tworzenie połączeń między dwiema tabelami pomiędzy którymi istnieje relacja
Jeden-do jeden - poprzez klucz obcy. Do tabeli podporządkowanej dołącza się kopię klucza podstawowego z tabeli głównej.
Przykładem takiej relacji jest powiązanie:
DZIAŁY KIEROWNICY
Jeden- do - wielu - poprzez klucz obcy. Do tabeli leżącej po stronie „wiele” dołącza się kopię klucza podstawowego z tabeli „jeden”.
Jest to najczęściej występująca relacja
Przykładem takiej relacji może być:
MATKI DZIECI
BUDYNKI POMIESZCZENIA
Wiele - do - wielu - poprzez tabelę łączącą, która rozbija relację „wiele_do_wiele” na dwie relacje „jeden_do_wiele”. Tabela łącząca posiada „złożony klucz podstawowy”, który zawiera w sobie klucze podstawowe z tabel głównych.
Przykładem takiej relacji jest:
STUDENCI WYKŁADY
ZAMÓWIENIA PRODUKTY
Istneje możliwość dołączania do tabeli łączącej jeszcze innych pól, co zmniejsza powtórzenia w tabelach.
Definiowanie cech relacji:
Reguły usuwania - dotyczą rekordów w tabeli głównej z relacji „jeden_do_jeden” oraz w tabeli leżącej po stronie „jeden” w relacji „jeden_do_wielu”.
Reguła restrykcyjna (R) - rekord nie może zostać skasowany, jeśli istnieją powiązane z nim rekordy podporządkowane. Muszą one być skasowane wcześniej.
Reguła kaskadowa (C) - żądany rekord zostanie skasowany razem z powiązanymi z nim rekordami.
Typy uczestnictwa - określają, czy do wprowadzenia rekordu do tabeli leżącej po drugiej stronie relacji wymagane jest istnienie jakiegoś rekordu w tabeli analizowanej.
Uczestnictwo obowiązkowe - w rozpatrywanej tabeli musi istnieć przynajmniej jeden rekord zanim zaczniemy wprowadzać rekordy do drugiej z nich.
Uczestnictwo opcjonalne - dana tabela może być pusta przy przystępowaniu do umieszczania rekordów w drugiej tabeli.
Stopień uczestnictwa - określa ile rekordów w jednej z tabel może być powiązanych z pojedynczym rekordem w drugiej tabeli.
Proces projektowania bazy danych
System zarządzania relacyjnymi bazami danych musi dawać możliwość:
Tworzenia relacyjnej bazy danych
Modyfikowania relacyjnej bazy danych
Generowania aplikacji z której będzie korzystał użytkownik
Znajomość metodologii projektowania systemów ogranicza ilość błędów. (przestrzeganie zbioru procedur).
Tworzenie systemów baz danych można sprowadzić do następujących etapów:
Świat rzeczywisty
Analiza wymagań
Modelowanie koncepcyjne
Modelowanie logiczne
Modelowanie fizyczne
SYSTEM BAZY DANYCH
Proces projektowania bazy danych
Analiza wymagań
Ocena funkcjonowania organizacji
Ocena wymagań informacyjnych
Ocena przepływu informacji
Modelowanie danych
Tworzenie struktury nowej bazy danych
Tworzenie diagramów związków
Analiza zależności
Normalizacja
Rozkład dużych tabel na mniejsze w celu uniknięcia redundancji, oraz problemów z modyfikowaniem i usuwaniem rekordów.
Sprawdzenie struktur baz danych z "postaciami normalnymi" (zestaw kryteriów, które musi spełniać dana tabela, aby mogła być uznana za poprawną i nie przyczyniała się do powstawania błędów).
Formułowanie celu i założeń wstępnych systemu
Definicja celu powinna być krótka i zwięzła, nie powinna opisywać konkretnych zadań. Powinna opisywać ogólny cel bazy danych w sposób zrozumiały dla twórców bazy i jej przyszłych użytkowników.
np.: „celem bazy danych jest przechowywanie danych wykorzystywanych w obsłudze sprzedaży detalicznej oraz usług serwisowych świadczonych klientom”
Założenia wstępne to ogólne zadania, jakie mają spełniać dane przechowywane w projektowanej bazie (każde założenie powinno być reprezentowane przez pojedyncze zdanie).
Poprawnie sformułowane założenia wstępne ułatwią definiowanie pól, tabel, relacji,...
np.:„Chcemy przechowywać informacje o zawieranych przez nas umowach.
Chcemy przechowywać informacje o klientach.”
Analiza istniejącej bazy danych
Etapy analizy istniejącej bazy danych
Analiza sposobu gromadzenia danych
Zebrać przykładowe egzemplarze formularzy
Wydrukować ekrany z programów obsługi danych
Analiza sposobu prezentowania informacji
Zebrać wszystkie przykładowe raporty (np.: stan magazynu)
Przeprowadzenie wywiadów z pracownikami i kierownictwem
Jak organizacja wykorzystuje swoje dane (wyodrębnić obiekty, zdarzenia, cechy, później będzie to wykorzystane przy definiowaniu tabel i pól)
Skąd pochodzą dane do raportów (później ma to znaczenie przy definiowaniu relacji)
Informacje których brakuje w raportach (a pracownicy odczuwają potrzebę ich posiadania)
Przewidzieć możliwy, najbliższy rozwój organizacji
Nowe kierunki rozwoju baz danych
Właściwości nowych baz danych:
Rozproszenie (danych i zarządzania)
Dane złożone (zarządzanie danymi o strukturze hierarchicznej (dziedziczenie))
Multimedia (przechowywanie tekstów, grafiki, obrazów, animacji, dźwięku, video).
Systemy rozproszone - takie, w których występuje rozłożenie danych przez ich fragmentaryzację (podział) lub replikację do różnych konfiguracji sprzętowych i programistycznych na ogół rozmieszczonych w różnych (geograficznie) miejscach organizacji.
Fragment danych stanowi pewien podzbiór wszystkich danych całej bazy danych.
Replikacja danych stanowi kopię całości lub jakiejś części danych przechowywanych w innej części całej bazy danych.
Przykład : Dane reprezentują zarządzanie kadrami w przedsiębiorstwie. Każdy region przechowywany jest u siebie, od czasu do czasu rozważamy je razem.
Zasadniczym celem rozproszonej bazy danych jest to, aby dla użytkownika wyglądała ona jak jedna, scentralizowana baza danych. Trzy rodzaje przezroczystości:
Geograficzna - użytkownicy nie muszą wiedzieć, w którym dokładnie miejscu są przechowywane dane.
Fragmentaryzacji - użytkownicy nie muszą wiedzieć, w jaki sposób dane są podzielone.
Replikacji - użytkownicy nie muszą wiedzieć, w jaki sposób dane są powtarzane.
(W każdej bazie jest przechowywana kopia informacji o strukturze firmy)
Powody tworzenia rozproszonych baz danych
Jeżeli istotne jest odwzorowanie w systemie geograficznego podziału organizacji. (departamenty, oddziały)
Większą kontrolę nad danymi możemy uzyskać przechowując je w miejscu, gdzie są one potrzebne.
(Aktualizacji może dokonywać tylko oddział odpowiadający za ten fragment bazy)
Utrzymywanie replikacji danych zwiększa niezawodność systemu. (przechowywanie wiernej kopii danych na wypadek awarii, kiedy zatrzymanie pracy organizacji jest niemożliwe).
Działanie systemu może się istotnie poprawić, jeśli dokonane będzie prawidłowe rozproszenie danych. (przyspieszenie dostępu do danych przy operacjach wyszukiwania i aktualizacji, jeśli są one kierowane do lokalnej bazy danych zamiast do dużej scentralizowanej bazy danych)
Inteligencja - sztuczna inteligencja i jej implementacja w kontekście baz danych.
Relacyjne bazy danych reprezentują fakty. Integralność i funkcje modyfikacji implementowane są w programach użytkowych, na zewnątrz relacyjnej bazy danych.
Dedukcyjne bazy danych (inteligentne) reprezentują fakty, więzy integralności, zapytań i funkcje modyfikacji. Mają aktywny charakter, przechowują reguły.
Inteligentne bazy danych oferują możliwość przechowywania więzów integralności centralnie w samej bazie danych. Co oznacza, że:
Kopiowanie kodu jest zmniejszone;
Systemy są mniejsze, łatwiejsze do konserwowania;
Lepsza wydajność w środowisku przetwarzania.
Systemy hipermedialne - systemy informacyjne mające postać węzłów różnych rodzajów mediów połączonych w jedną całość siecią asocjacyjnych powiązań. (np.: systemy hipertekstowe)
Brak wewnętrznej struktury danych. Struktura zapytań jest trudna do zrealizowania. Nieukierunkowane wyszukiwanie.
Np.: The National Gallery System - użytkownik może uzyskać dostęp do informacji jedną z wielu dróg:
Przez nazwisko artysty
Obszar historyczny
Okres artystyczny
GIS - geograficzne systemy informacyjne - Dane przestrzenne
Systemy te opierają się na założeniu, że każdy obiekt w przestrzeni można opisać punktami, którym można przypisać współrzędne w przestrzeni euklidesowej.
Trzy aspekty systemów GIS:
Mapa (aspekt kartograficzny)
Analiza przestrzenna (analiza i modelowanie danych)
Baza danych
Pytania do takiego systemu mogą mieć charakter:
Atrybutowy
Przykład:
Pytanie: Wymień wszystkich właścicieli gruntów, w których glebie znajduje się żelazo?
Odpowiedź: łączy dane o właścicielach gruntów z własnościami mineralnymi działek ziemi.
Analityczny - wymagające analizy przestrzennej
Przykład:
Pytanie: Dlaczego na tym odcinku rzeki występują okresowe powodzie?
Techniczne aspekty przechowywania i przetwarzania danych
Przyczyny utraty danych:
Niemożliwe do wyeliminowania (awarie zasilania, czynniki pogodowe)
Awarie sprzętu
Środków łączności
Urządzeń klimatyzacyjnych
Oprogramowania
Dwie podstawowe metody zabezpieczania przed utratą danych:
Zastosowanie bezpiecznego przetwarzania informacji - transakcyjnego
(Gdyby nie było przetwarzania transakcyjnego.
Np.: Przelew z jednego konta na drugie. W czasie awarii zmiana mogłaby się zdążyć wykonać w pierwszym rekordzie, a w drugim nie.
Transakcja - procedura posiadająca wyraźny koniec i początek. Zastosowanie flag, precyzyjnie określających stopień zaawansowania transakcji.
Jedna flaga - stan transakcji.
Druga flaga - stan modyfikacji danych.
Przebieg procedury transakcyjnej:
Rozpoczęcie transakcji - ustawienie flagi 1
Przepisanie obu rekordów do wewnętrznego bufora
Ustawienie flagi2
Modyfikacja rekordu1
Modyfikacja rekordu 2
Aktualizacja obu rekordów w bazie
Zgaszenie flagi2
Zakończenie transakcji - zgaszenie flagi 1.
Zastosowanie redundancji najważniejszych zasobów:
Elementów przetwarzania informacji
Zasilania systemu komputerowego
Przechowywanych informacji
3