2.3. Relační databáze

2.3.1. Tabulkové vyjádření relace a její vlastnosti

Na osobních počítačích se dnes provozují prakticky výhradně SŘBD s relační architekturou, proto jí budeme věnovat větší pozornost.

Relací druhého stupně rozumíme kartézský součin dvou neprázdných množin. Znázorníme jej formou tabulky, která má m řádků a n sloupců. V komerčně používaných SŘBD se místo pojmu relace používa pojem tabulka (Table), aby došlo k odlišení od matematického aparátu.

Je nezbytné, aby každá tabulka v databázi měla své jedinečné jméno. Záznam (Record) jako souhrn údajů o daném objektu je v tabulce reprezentován jedním řádkem tabulky. Sloupec tabulky definuje jednu položku (pole, Field). Jak již bylo řečeno, každé pole musí mít svůj název a musí být určitého datového typu.

Primární klíč je taková podmnožina položek, která má nezávisle na čase tu vlastnost, že jednoznačně identifikuje každý záznam relace. Z toho je zřejmé, že primární klíč relace je neredundandní. V tabulce vždy existuje alespoň jeden primární klíč, který je v nejhorším případě tvořen všemi položkami dané tabulky. Řada SŘBD umožňuje vytvořit zvláštní položku, která nabývá hodnot pořadových čísel záznamů, v některých případech je tato položka vhodná jako primární klíč.

Z popisu tabulkového vyjádření relace vyplývají tyto vlastnosti:

1. Homogenita sloupců - v každém sloupci jsou všechny položky stejného typu.

2. V relaci neexistují dva stejné řádky.

3. Pořadí řádků je nevýznamné, protože jednotlivé řádky jsou identifikovatelné pomocí primárního klíče.

4. Pořadí sloupců (položek) je nevýznamné, protože sloupce jsou označeny názvem položky.

 

2.3.2. Relační algebra

Relační algebra je nejzákladnějším prostředkem pro práci s relacemi. Mezi základní operace patří projekce, selekce a spojení (JOIN). Tyto operace lze definovat takto:

Projekce relace R s atributy A na množinu atributů B, kde BA

-vytvoří relaci se schématem B a prvky, které vzniknou z původní relace odstraněním hodnot atributů A-B. Odstraněny jsou i eventuelně duplicitní záznamy.

-značení : R[B]

Selekce relace R s atributy A podle logické podmínky :

-vytvoří relaci s týmž schématem a ponechá ty prvky z původní relace, které spňují F. Podmínka F je logický výraz, jehož atomické formule (tj. formule nad jednoduchými atributy relace) mají tvar , kde , jsou jména atributů, konstanty nebo výrazy.

-značení: R()

Spojení relací R a S se schématy A a B:

-vytvoří minimální relaci se schématem AČB a s prvky, jejichž projekce na A je z relace R a projekce na B je z relace S.

-značení: R * S

U spojení pracujeme s několika možnými případy. Nejčastější je spojení přes rovnost nebo také přirozené spojení. Výsledná relace obsahuje jen ty záznamy z obou zdrojových relací, které se shodují v položkách, přes které se spojení provádí. Pokud některý záznam z jedné relace nemá odpovídající záznam v relaci druhé, ve výsledné relaci se neobjeví.

Takový postup se nám však ve všech případech nehodí, proto je nutno používat další typy spojení, levé -polospojení a pravé -polospojení, které z určené relace (stojící v operaci jako levý či pravý argument) připojí všechny záznamy, bez ohledu na to, zda mají odpovídající záznam v druhé zdrojové relaci. Použití polospojení je důležité tam, kde není programově zajištěna plná integrita dat, případně pokud nemáme jistotu, že nemůže být porušena.

Popsané operace ukážeme na příkladu s použitím tabulek STUDENTI a HODNOCENI:

STUDENTI

Č.studenta

Jméno

Adresa

Č.oboru

1223

Novák

Brno

456

1224

Kopecký

Mikulov

422

1225

Černý

Jihlava

358

 

HODNOCENI

Č.studenta

Č.předmětu

Hodnocení

1223

48

1

1223

63

1

1223

112

2

1225

23

3

1225

45

2

1225

51

2

 

Projekce STUDENTI[Jméno, Adresa]

Jméno

Adresa

Novák

Brno

Kopecký

Mikulov

Černý

Jihlava

 

Selekce HODNOCENI(Hodnocení=1 or Hodnocení=2)[Číslo_studenta, Číslo_předmětu,
Hodnocení]

Č.studenta

Č.předmětu

Hodnocení

1223

48

1

1223

63

1

1223

112

2

1225

45

2

1225

51

2

 

Spojení (přes rovnost) STUDENTI*HODNOCENI přes sloupec Číslo_studenta

Č.studenta

Č.předmětu

Hodnocení

Jméno

Adresa

Č.oboru

1223

48

1

Novák

Brno

456

1223

63

1

Novák

Brno

456

1223

112

2

Novák

Brno

456

1225

23

3

Černý

Jihlava

358

1225

45

2

Černý

Jihlava

358

1225

51

2

Černý

Jihlava

358

 

Je zřejmé, že operace projekce vybírá sloupce, operace selekce vybírá řádky (záznamy) a operace spojení provádí spojení dvou tabulek (relací) přes zvolenou položku nebo skupinu položek. Systémy s těmito základními operacemi nazýváme minimálně relační.

Existují však i další operace, jako je součin, průnik, sjednocení a rozdíl relací. Jejich definice je stejná, jako v teorii množin. Dotazovací jazyk, který umožňuje realizovat všechny operace relační algebry, se nazývá relačně úplný.

 

2.3.3. Normalizace a její význam

Normalizace nám poskytuje metodiku návrhu uspořádání informací v databázi, abychom se vyhnuli zbytečné duplicitě uložení údajů a přitom zachovali možnost jejich vhodného spojování do podoby potřebné pro jejich zpracování. Dříve než definujeme jednotlivé normální formy, zavedeme nové pojmy :

 

Klíč K relace R je podmnožina atributů relace R s těmito vlastnostmi:

-Jednoznačná identifikace, tj. každá n-tice relace je hodnotami atributů tvořících K jednoznačně identifikovatelná.

-Neredundance, tj. žádný atribut z K nemůže být vynechán, aniž by přestalo platit první pravidlo.

(Je zřejmé, že primární klíč je právě jedním z klíčů relace).

 

Nech A, B jsou atributy relace R. Pak atribut B je funkčně závislý na atributu A, pokud v čase existuje ke každé hodnotě atributu B nejvýše jedna hodnota atributu A. Funkční závislost atributu B na atributu A budeme zapisovat AB.

 

Atribut B je silně funkčně závislý na atributu A, když je na něm funkčně závislý a zároveň neexistuje žádná podmnožina A´ složeného atributu A taková, že B funkčně závisí na A´.

 

Nech A, B, C jsou atributy relace R. Pokud B je funkčně závislý na A a C je funkčně závislý na B a zároveň platí, že A funkčně nezávisí na B, pak C je tranzitivně závislý na A.

 

Nyní můžeme definovat 1. až. 3. normální formu:

 

Relace je v první normální formě, pokud její položky jsou jednoduché (atomické), tj. nejsou opět relacemi. Nepřipouští se tedy vzájemné zahnízdění relací.

 

Relace R je v druhé normální formě, když je v první normální formě a když každý atribut, který nepatří k žádnému klíči relace R, silně funkčné závisí od každého klíče relace R.

 

Relace je v třetí normální formě, když je v druhé normální formě a žádný atribut, který není složkou některého klíče relace R, není tranzitivně závislý na žádném klíči relace R. (Neboli každý atribut, který není složkou klíče relace, závisí silně na klíči, ale nezávísí na něm tranzitivně.)

 

Definici čtvrté normální formy si nebudeme uvádět, protože ve většině případů je dosažení třetí normální formy dostačující. Třetí normální forma zajišuje, že data budou uložena bez zbytečných redundancí, rovněž operace aktualizace, vkládání a rušení dat probíhají bez obtíží, což lze ukázat na příkladu.

 

Příklad : Mějme bázi dat, ve které chceme evidovat informace o studentech (jméno, adresa, katedra) a jejich hodnocení z jednotlivých předmětů. Dále potřebujeme informaci o fakultě, na které student studuje. Tato informace je jednoznačně závislá na oboru, který si student zvolil. Všechny potřebné informace jsou zachyceny v TABULCE1. (Tučně vytištěné názvy položek jsou primární klíče dané tabulky.)

 

TABULKA1

Č.stud.

Č.před.

Hodnocení

Jméno

Adresa

Č.oboru

Fakulta

1223

47

1

Novák

Brno

456

strojní

1223

63

1

Novák

Brno

456

strojní

1223

65

2

Novák

Brno

456

stroní

1224

12

1

Kopecký

Mikulov

456

strojní

1224

44

2

Černý

Jihlava

358

geologická

1225

65

3

Černy

Jihlava

358

geologická

 

 

TABULKA1 je v první normální formě. Na první pohled zde vidíme redundanci řady údajů. Např. jméno i adresa studenta je zaznamenána tolikrát, kolik zkoušek student vykonal. Do tabulky ale nelze zaznamenat studenta, který nesložil alespoň jednu zkoušku. Pokud bychom z databáze vyřadili všechny studenty, kteří studují určitý obor, pak bychom ztratili informaci o příslušnosti oboru k určité fakultě. (V daném konkrétním případě je zrušení všech studentů jednoho oboru nepravděpodobné, obecně však nelze připustit, aby rušení údajů jedné položky mohlo vyvolat ztrátu údajů jiné položky.) Proto převedeme tabulku do druhé normální formy - tj. odstraníme vyznačenou funkční závislost položek Jméno, Adresa, Katedra na podmnožině klíče relace, tj. položce Č_studenta. To provedeme projekcí. Tím nám vzniknou dvě nové tabulky - TABULKA2 a HODNOCENI.

 

 

TABULKA2

Č.stud.

Jméno

Adresa

Č.oboru

Fakulta

1223

Novák

Brno

456

strojní

1224

Kopecký

Mikulov

456

strojní

1225

Černy

Jihlava

358

geologická

 

HODNOCENI

Č.studenta

Č.předmětu

Hodnocení

1223

47

1

1223

63

1

1223

65

2

1224

12

1

1224

44

2

1225

65

3

 

 

Avšak v TABULCE2 jsou údaje o fakultě redundandní. Fakulta, na které student studuje, je totiž závislá na oboru, který si zvolil. Atribut Fakulta je tedy tranzitivně závislý (přes atribut Č_oboru) na klíčí Č_studenta. Dále je zřejmé, že nelze zaznamenat obor, pokud na něm nestuduje alespoň jeden student (např. nově zřízený obor). Tyto problémy odstraňuje převedení tabulky do třetí normální formy.

 

STUDENTI

Č.studenta

Jméno

Adresa

Č.oboru

1223

Novák

Brno

456

1224

Kopecký

Mikulov

456

1225

Černý

Jihlava

358

 

OBORY

Č.oboru

Fakulta

456

strojní

358

geologická

 

HODNOCENI

Č.studenta

Č.předmětu

Hodnocení

1223

47

1

1223

63

1

1223

65

2

1224

12

1

1224

44

2

1225

65

3

 

Přechod od nižší normální formy k vyšší provádíme operací projekce, naopak přechod od vyšší normální formy k nižší provádíme operací spojení (JOIN). Pro vkládání, rušení a aktualizaci je vhodná třetí normální forma, pro dotazy naopak první normální forma, proto při formulaci dotazu dochází často
k operaci spojení.

Ve fázi návrhu logického schématu relační báze dat je třeba věnovat patřičnou pozornost tomu, aby všechny tabulky v bázi dat byly ve 3. normální formě. Pozdější změna struktury tabulek vede k nutnosti změny databázové aplikace, což je značně náročné.

 

2.3.4. Interní úroveň databáze

Interní úroveň databáze je nejnižší úroveň. Zmíníme se o ní na tomto místě, i když má tato problematika širší platnost. Není vázána jen na relační databáze. Interní úroveň databáze pracuje se soubory, které se skládají z vět a dále se člení na jednotlivé položky. Vztah interní a logické struktury báze dat nemusí být 1:1, to znamená, že např. jedna tabulka může být uložena v několika souborech (např. v dBASE se ukládají položky typu Memo do zvláštního souboru). Protože interní úroveň musí zajistit zejména vyhledávání zvolené věty, aktualizaci, vypuštění a vložení údajů, je důležité mít efektivní mechanismus pro přístup k jednotlivým větám (záznamům).

K urychlení vyhledávání existuje několik metod. V utříděných souborech lze používat např. binární vyhledávání, v SŘBD se však často používá k vyhledávání pomocí indexu v indexsekvenčním souboru.

Indexsekvenční soubor je tvořen primárním souborem setříděným podle primárního klíče s přídavným souborem zvaným index nebo indexový soubor. Tento soubor má věty obsahující dvě položky - klíče k a adresy bloku b. Index je utříděný podle klíče k.

Způsob vyhledávání je zřejmý. Nejprve v indexsekvenčním souboru najdeme blok, ve kterém hledaný klíč leží. Následně hledáme přímo v tomto bloku. Kromě jednoduchých indexů je možno vytvářet i hierarchické úrovně indexů nebo složitější struktury, jako jsou B-stromy.

Index vytvořený nad primárním klíčem nazýváme primární index. Index lze vytvářet také nad neklíčovými položkami, pak se nazývá sekundární index. Situace je zde komplikovanější, protože neklíčové položky nejsou unikátní a mohou se tedy opakovat. Proto má indexový soubor neklíčových položek věty s proměnnou délkou (vi, a1, a2, ... an), kde vi je hodnota indexované položky a aj , j=1..n, jsou čísla bloků indexovaného souboru, kde se daná položka vyskytuje.

 

Indexový soubor:

Klíč

Blok

3

1

15

2

25

3

 

Indexovaný soubor:

Blok 1

Klíč

Autor

3

Mácha

5

Mann

6

Jirásek

10

Lewis

Blok 2

Klíč

Autor

15

Sinclair

16

Chevallier

20

Čapek

24

Němcová

Blok 3

Klíč

Autor

25

Sinclair

26

Chevallier

27

Čapek

30

Němcová

 

 

Indexový soubor

Čapek

2

3

4

Mácha

1

Mann

1

Němcová

2

4

Chevallier

3

 

 

 

Indexovaný soubor - neklíčová položka:

Blok 1

Mácha

Mann

 

 

Blok 2

Němcová

Čapek

 

 

Blok 3

Čapek

Chevallier

 

 

Blok 4

Čapek

Němcová

 

Obr. 11. Indexsekvenční soubor

Obr. 12. Indexovaný soubor podle neklíčové položky (sekundární index)

 

 

3. Datová analýza

Nejdůležitější částí návrhu databázového systému je volba vhodného uložení dat, definice tabulek a jejich položek včetně definice vazebních vztahů mezi nimi. Proces jejich návrhu označujeme pojmem datová analýza.

 

3.1. Entitní vztahy

Entita je objekt, o kterém chceme v bázi dat registrovat nějaké údaje (např. ČTENÁŘ, KNIHA, EXEMPLÁŘ apod.). Pro návrh logické struktury báze dat jsou důležité vzájemné vztahy mezi různými typy entit - tzv. entitní vztahy. Prakticky zkoumáme pouze vztahy mezi dvojicí typů entit - tzv. binární entitní vztahy. Existují 3 typy těchto vztahů.

 

Nech máme dva typy entit X, Y a množiny jejich výskytu F(X) a F(Y). Pak nastávají tři možné stavy:

1. Mezi typy entit X, Y je vztah 1:1, pokud existuje funkční zobrazení z F(X) do F(Y) i naopak.

2. Mezi typy entit X, Y je vztah 1:N, pokud existuje funkční zobrazení z F(Y) do F(X).

3. Mezi typy entit X, Y je vztah M:N, pokud neexistuje funkční zobrazení z F(X) do F(Y) a naopak.

Obr. 9. Vztahy mezi entitami

 

Vztah 1:N existuje např. mezi typy entit KNIHA-EXEMPLÁŘ - v knihovně mají několik exemplářů téže knihy. Vztah 1:1 nastává mezi typy entit ČTENÁŘ-EXEMPLÁŘ, protože jeden konkrétní exemplář může být zapůjčen pouze jedním čtenářem. Vztah M:N nastává mezi typy entit ČTENÁŘ-REZERVACE, kdy rezervace na jednu knihu může být provedena více čtenáři a také jeden čtenář může rezervovat více knih.

 

3.2. Tři úrovně abstraktního pohledu na data

První SŘBD, které vznikaly na konci 60. let, se vyznačovaly úzkou provázaností fyzického a logického formátu dat. U novějších SŘBD pak dochází k hierarchickému rozvrstvení dat do těchto úrovní, přičemž jednotlivé úrovně jsou relativně nezávislé. Nejdůležitější je zejména nezávislost logického schématu báze dat od interního a fyzického schématu.

Fyzické schéma-úzce souvisí s použitým operačním systémem (konkrétní organizace souborů na disku, jejich rozložení na sektory a clustry určité délky atd.).

Interní schéma-data jsou uložena v typových souborech, přístup k jednotlivým větám souborů je organizován vhodným mechanismem (primární a sekundární indexy, Bayerovy stromy atd.).

Logické schéma-vzniká implementací konceptuálního modelu do konkrétního SŘBD (návrh struktury datových vět). Struktura tohoto schématu je určena použitým datovým modelem v daném SŘBD (hierarchický, síový, relační).

Externí schéma-je rozdílné pro každou skupinu uživatelů. Umožňuje virtuální pohledy na zvolenou část báze dat (pomocí konkrétních formulářů, výstupních sestav, ale také přístupových práv k datům).

 

3.3. Návrh konceptuálního schématu

Konceptuální schéma (zavedené přibližně v polovině 70. let) je formalizovaný popis zájmové reality. Popisuje fakta o reálném světě, která jsou v čase neměnná nebo se mění pouze málo. Nejedná se o popis dat v počítači. Důvodem zavedení konceptuálního schématu je odstranit náhlý přechod od zájmové reality přímo k logickému schématu báze dat. Konceptuální schéma popisuje všechny objekty zájmové reality a vztahy mezi nimi. K vyjádření konceptuálního schématu se používají tzv. konceptuální modely, zde se zmíníme o entitně-relačním modelu (dále pouze E-R model) a modelu HIT.

E-R model se obvykle zapisuje pomocí diagramů, které používají tyto značky :

 

V E-R modelu mají jednotlivé pojmy tento význam :

Entita je objekt zájmové reality, který je předmětem našeho zájmu, o kterém chceme registrovat určité údaje.

Atribut - funkce, jejíž definiční obor je entitní nebo vztahová množina, obor hodnot je nějaký přímo reprezentovaný typ hodnot, tzv. popisný typ.

Příklad diagramu entitně-relačního modelu je na obr. 10. Podrobnější informace o E-R modelu jsou v [25]. Stručný popis metody HIT uvádí [7].

 

Obr. 10. Schéma entitně-relačního modelu

 

Obr. 11. Atribut v HIT-modelu

 

Návrh logického schématu databáze probíhá transformací konceptuálního schématu. Tyto metody jsou algoritmizovatelné, zde se však budeme věnovat jednodušším metodám - metodě dekompozice a metodě syntézy.

 

 

3.4. Metoda dekompozice a syntézy

Tyto metody jsou vhodné pouze pro jednoduché aplikace. Umožňují přímý návrh logického schématu relační databáze (relačních schémat) na základě znalostí funkčních vztahů. Cílem je již známé kritérium - získání relací ve třetí normální formě.

 

 

3.4.1. Metoda dekompozice

Principem je postupná dekompozice relačního schématu až do okamžiku, kdy jsou všechna schémata ve třetí normální formě. Dekompozice se řídí tímto pravidlem:

 

Mějme schémata R(A, B, C), kde A, B, C jsou množiny atributů, a funkční závislost B C. Rozložíme-li R na schémata R1(B, C) a R2 (A, B), je takto provedená dekompozice bezeztrátová.

 

Bezeztrátovost zde znamená, že nedochází ke ztrátě informace z původní relace. Spojením nově vytvořených relací vznikne původní relace.

 

Příklad: Báze dat zachycuje zájmovou realitu tak, jak byla popsána v kapitole Normalizace a její význam.

1. Označíme atributy A, B, C a provedeme rozklad dle uvedeného pravidla.

.................

Č.stud.

Č.před.

Jméno

Adresa

Hodnocení

Č.oboru

Fakulta

 

2. V získaných tabulkách hledáme nové atributy A, B, C a provedeme další rozklad.

 

Č.oboru

Fakulta

..............

Č.stud.

Č.před.

Jméno

Adresa

Hodnocení

Č.oboru

 

3. V takto získaných tabulkách se již další závislosti nenacházejí.

 

Č.stud.

Jméno

Adresa

Katedra

 

Č.stud.

Č.před.

Hodnocení

 

 

3.4.2. Metoda syntézy

Vychází ze zadané množiny atributů a funkčních závislostí:

1.Nalezneme neredundandní pokrytí I' původní funkční množiny I.

2.Rozdělíme I' do skupin takových, že všechny závislosti ve skupině mají stejnou levou stranu
a žádné dvě skupiny nemají závislosti se stejnou levou stranou.

3.Pro každé dvě skupiny Si a Sj testujeme, zdali levé strany na sobě vzájemně závisí (jsou-li
v uzávěru množiny I'). Jestliže ano, spojíme obě skupiny v jednu a obě závislosti dáme do J.
Z vytvořené skupiny odstraníme závislosti tvaru LB, kde L je levá strana závislosti jedné
ze dvou skupin a B je levá strana závislosti druhé skupiny.

4.Nalezneme minimální množinu I >1 z I' takovou, že uzávěr IčJ je roven I'č J, odstraníme
ze skupin ty závislosti, které ubyly z I' a dodáme nutné ekvivalentí klíče z J.

5.Pro každou skupinu sestrojíme schéma relace s atributy odpovídajícími atributům v závislostech obsažených v té skupině s klíčem rovným levé straně pravidel (resp. s ekvivalentními klíči).

 

Příklad :

Mějme schéma R ((A, B, C, D, E, F), I) kde I={EFAD, CDEF, AEB, BFC, CA}.

 

ad 1. Neredundandní pokrytí je stejné jako I, tedy:

I´={EFAD, CDEF, AEB, BFC, CA}

ad 2. V daném případě každý prvek množiny I´ tvoří samostatnou skupinu:

S1:

EF AD

S2:

CD EF

S3:

AE B

S4:

BF C

S5:

C A

ad 3. Provedeme test na závislost levých stran jednotlivých skupin. Je zřejmé, že závisí pouze skupina S1 a S2, dále postupuje dle bodu 3. Nové skupiny jsou

S1:

EF AD

 

CD EF

S2:

AEB

S3:

BFC

S4:

CA

J={EFAD, CDEF}

ad 4. Dle bodu 4 nalezneme množinu I, upravíme I´ a ze skupin zrušíme stanovené prvky.

I={EFAD, CDEF}

z I' tady ubyly EFAD, CDEF

S1:

AEB

S2:

BFC

S3:

CA

Dodáme ekvivalentní klíče z J, tj. CDEF

ad 5. Sestavíme relace:

R1={R (E, F, C, D), {CDEF}}

R2={R (A, E, B), {AEB}}

R3={R (B, F, C), {BFC}}

R4={R (C, A), {CA}}

 

3.5. Další pojmy

V této kapitole se krátce zmíníme o několika frekventovaných pojmech moderních SŘBD.

 

3.5.1. QBE

QBE (Query By Example = dotaz podle vzoru) je rozhraní pro zadávání dotazů grafickou formou. Nevyžaduje se tedy znalost konkrétního dotazovacího jazyka. Obvykle je možno provádět všechny základní relační operace (selekce, projekce a spojení), ale také další operace jako třídění, součty atd. Tyto další možnosti závisí na konkrétním SŘBD, ve kterém je QBE implementován.

STUDENTI

Č.Studenta

Příjmení

Jméno

Adresa

Věk

 

No..

>18, <=25

Obr. 66. Princip QBE - grafického rozhraní pro zadávání dotazů

 

V daném případě obr. 6 se dotazujeme na studenty, jejichž příjmení začíná na No a jejich věk je z intervalu (18,25) let. Ve výsledku dotazu budou zobrazeny položky Příjmení, Jméno, Adresa a Věk. Podrobněji se seznámíte s QBE v následující části, která popisuje SŘBD Microsoft Access.

 

3.5.2. Transakce

Transakce je posloupnost operací nad objekty báze dat, které realizují jednu nebo více ucelených operací z hlediska uživatele. Transakce začíná vykonáním prvního příkazu nebo speciálním příkazem (např. BEGIN TRANSACTION, BeginTrans apod.). Může skončit úspěšně nebo neúspěšně. Neúspěch může vzniknout zejména poruchou technického vybavení, chybou programového vybavení, chybnými daty apod.

Bod, od kterého lze považovat transakci za úspěšnou (potvrzenou), nazveme bod potvrzení. Informace o změnách během transakce se ukládají do žurnálového (transakčního) souboru, teprve při dosažení bodu potvrzení se promítnou do báze dat. Při vlastní transakci se data v bázi dat nemění, takže při chybě nebo poruše nedojde k porušení konzistentního stavu báze dat.

 


Návrat k obsahu