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 mnoin. 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 dolo k odliení od matematického aparátu.
Je nezbytné, aby kadá 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 poloku (pole, Field). Jak ji bylo řečeno, kadé pole musí mít svůj název a musí být určitého datového typu.
Primární klíč je taková podmnoina poloek, která má nezávisle na čase tu vlastnost, e jednoznačně identifikuje kadý záznam relace. Z toho je zřejmé, e primární klíč relace je neredundandní. V tabulce vdy existuje alespoň jeden primární klíč, který je v nejhorím případě tvořen vemi polokami dané tabulky. Řada SŘBD umoňuje vytvořit zvlátní poloku, která nabývá hodnot pořadových čísel záznamů, v některých případech je tato poloka vhodná jako primární klíč.
Z popisu tabulkového vyjádření relace vyplývají tyto vlastnosti:
1. Homogenita sloupců - v kadém sloupci jsou vechny poloky stejného typu.
2. V relaci neexistují dva stejné řádky.
3. Pořadí řádků je nevýznamné, protoe jednotlivé řádky jsou identifikovatelné pomocí primárního klíče.
4. Pořadí sloupců (poloek) je nevýznamné, protoe sloupce jsou označeny názvem poloky.
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 mnoinu 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 moný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 poloká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 vak ve vech 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í vechny záznamy, bez ohledu na to, zda mají odpovídající záznam v druhé zdrojové relaci. Pouití polospojení je důleité tam, kde není programově zajitěna plná integrita dat, případně pokud nemáme jistotu, e nemůe být poruena.
Popsané operace ukáeme na příkladu s pouití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 poloku nebo skupinu poloek. Systémy s těmito základními operacemi nazýváme minimálně relační.
Existují vak i dalí operace, jako je součin, průnik, sjednocení a rozdíl relací. Jejich definice je stejná, jako v teorii mnoin. Dotazovací jazyk, který umoňuje realizovat vechny operace relační algebry, se nazývá relačně úplný.
Normalizace nám poskytuje metodiku návrhu uspořádání informací v databázi, abychom se vyhnuli zbytečné duplicitě uloení údajů a přitom zachovali monost 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 podmnoina atributů relace R s těmito vlastnostmi:
-Jednoznačná identifikace, tj. kadá 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 kadé 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á podmnoina A´ sloené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í poloky jsou jednoduché (atomické), tj. nejsou opět relacemi. Nepřipoutí 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 kadý atribut, který nepatří k ádnému klíči relace R, silně funkčné závisí od kadé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í slokou některého klíče relace R, není tranzitivně závislý na ádném klíči relace R. (Neboli kadý atribut, který není slokou 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, protoe ve větině případů je dosaení třetí normální formy dostačující. Třetí normální forma zajiuje, e data budou uloena bez zbytečných redundancí, rovně operace aktualizace, vkládání a ruení 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. Vechny potřebné informace jsou zachyceny v TABULCE1. (Tučně vytitěné názvy poloek 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 zkouek student vykonal. Do tabulky ale nelze zaznamenat studenta, který nesloil alespoň jednu zkouku. Pokud bychom z databáze vyřadili vechny studenty, kteří studují určitý obor, pak bychom ztratili informaci o příslunosti oboru k určité fakultě. (V daném konkrétním případě je zruení vech studentů jednoho oboru nepravděpodobné, obecně vak nelze připustit, aby ruení údajů jedné poloky mohlo vyvolat ztrátu údajů jiné poloky.) Proto převedeme tabulku do druhé normální formy - tj. odstraníme vyznačenou funkční závislost poloek Jméno, Adresa, Katedra na podmnoině klíče relace, tj. poloce Č_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 |
Avak 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í, ruení 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 vechny 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é poloky. Vztah interní a logické struktury báze dat nemusí být 1:1, to znamená, e např. jedna tabulka můe být uloena v několika souborech (např. v dBASE se ukládají poloky typu Memo do zvlátního souboru). Protoe interní úroveň musí zajistit zejména vyhledávání zvolené věty, aktualizaci, vyputění a vloení údajů, je důleité 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 vak č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ě poloky - 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 mono vytvářet i hierarchické úrovně indexů nebo sloitě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 polokami, pak se nazývá sekundární index. Situace je zde komplikovanějí, protoe neklíčové poloky nejsou unikátní a mohou se tedy opakovat. Proto má indexový soubor neklíčových poloek věty s proměnnou délkou (vi, a1, a2, ... an), kde vi je hodnota indexované poloky a aj , j=1..n, jsou čísla bloků indexovaného souboru, kde se daná poloka vyskytuje.
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á poloka:
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é poloky (sekundární index)
Nejdůleitějí částí návrhu databázového systému je volba vhodného uloení dat, definice tabulek a jejich poloek včetně definice vazebních vztahů mezi nimi. Proces jejich návrhu označujeme pojmem datová analýza.
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ůleité 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 mnoiny jejich výskytu F(X) a F(Y). Pak nastávají tři moné 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.
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ÁŘ, protoe 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.
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ůleitě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 pouitým operačním systémem (konkrétní organizace souborů na disku, jejich rozloení na sektory a clustry určité délky atd.).
Interní schéma-data jsou uloena 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 pouitým datovým modelem v daném SŘBD (hierarchický, síový, relační).
Externí schéma-je rozdílné pro kadou skupinu uivatelů. 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).
Konceptuální schéma (zavedené přiblině 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 vechny 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 naeho zájmu, o kterém chceme registrovat určité údaje.
Atribut - funkce, její definiční obor je entitní nebo vztahová mnoina, 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
Návrh logického schématu databáze probíhá transformací konceptuálního schématu. Tyto metody jsou algoritmizovatelné, zde se vak budeme věnovat jednoduím metodám - metodě dekompozice a metodě 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ě.
Principem je postupná dekompozice relačního schématu a do okamiku, kdy jsou vechna 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 mnoiny 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í |
Vychází ze zadané mnoiny atributů a funkčních závislostí:
1.Nalezneme neredundandní pokrytí I' původní funkční mnoiny I.
2.Rozdělíme I' do skupin takových, e vechny závislosti ve skupině mají stejnou levou stranu
a ádné dvě skupiny nemají závislosti se stejnou levou stranou.
3.Pro kadé dvě skupiny Si a Sj testujeme, zdali levé strany na sobě vzájemně závisí (jsou-li
v uzávěru mnoiny I'). Jestlie 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í mnoinu 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 kadou skupinu sestrojíme schéma relace s atributy odpovídajícími atributům v závislostech obsaený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ě kadý prvek mnoiny 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 mnoinu 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}}
V této kapitole se krátce zmíníme o několika frekventovaných pojmech moderních SŘBD.
QBE (Query By Example = dotaz podle vzoru) je rozhraní pro zadávání dotazů grafickou formou. Nevyaduje se tedy znalost konkrétního dotazovacího jazyka. Obvykle je mono provádět vechny základní relační operace (selekce, projekce a spojení), ale také dalí operace jako třídění, součty atd. Tyto dalí monosti 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 poloky 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.
Transakce je posloupnost operací nad objekty báze dat, které realizují jednu nebo více ucelených operací z hlediska uivatele. 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 povaovat 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 dosaení bodu potvrzení se promítnou do báze dat. Při vlastní transakci se data v bázi dat nemění, take při chybě nebo porue nedojde k poruení konzistentního stavu báze dat.