Obsah

AP8, IN8 Databáze I

Zadání

(relační model, relační schéma, klíče relačních schémat, integritní omezení, relační algebra, spojování relací)

Vypracování

Pár pojmů na začátek

Relační model dat

Relační schéma

Příklad schématu: Schéma-zákazníka = (jméno, příjmení, ulice, psč, město, telefon).
Příklad relace: r = {(Jan, Novák, Vodova 20, 628 00, Brno, 123567), (Alena, Nováková, Vodova 20, 628 00, Brno, 987654), (Iva, Dlouhá, Velká 12, 683 21, Pustiměř, 222222)}

Klíče relačních schémat

Integritní omezení

Integritní omezení je vlastnost DBMS, která zajišťuje, že se databáze po dokončení každé operace nachází v korektním stavu.
Druhy integritních omezení:

Hlídá se modifikace databáze – vkládání, mazání, aktualizace. 15)

Relační algebra

Spojování relací

Příklad

OSOBA :
id jméno příjmení věk
1 Pavel Havel 18
2 Jan Novák 19
3 Láďa Koupelna 99


ADRESA :

id město ulice
1 Brno Jarní
3 Praha Zelená
5 Ostrava Černá


OSOBA ADRESA

id jméno příjmení věk město ulice
1 Pavel Havel 18 Brno Jarní
3 Láďa Koupelna 99 Praha Zelená

V praxi se používá varianta „left“ a „right“ – to určuje zda, se do výsledků zahrnou všechny záznamy z tabulky nalevo od operátoru spojení, resp. napravo od operátoru spojení. Taktéž existuje varianta „full outer“, která do výsledků zahrne všechny záznamy z obou tabulek a tam, kde nemá daný záznam odpovídající záznam z druhé tabulky, tak se použije null.

Příklad

OSOBA :
id jméno příjmení věk
1 Pavel Havel 18
2 Jan Novák 19
3 Láďa Koupelna 99

ADRESA :

id město ulice
1 Brno Jarní
3 Praha Zelená
5 Ostrava Černá

OSOBA ADRESA

id jméno příjmení věk město ulice
1 Pavel Havel 18 Brno Jarní
2 Jan Novák 19 null null
3 Láďa Koupelna 99 Praha Zelená

OSOBA ADRESA

id jméno příjmení věk město ulice
1 Pavel Havel 18 Brno Jarní
3 Láďa Koupelna 99 Praha Zelená
5 null null null Ostrava Černá

OSOBA ADRESA

id jméno příjmení věk město ulice
1 Pavel Havel 18 Brno Jarní
2 Jan Novák 19 null null
3 Láďa Koupelna 99 Praha Zelená
5 null null null Ostrava Černá

Podněty, co lze zmínit dále

Rozšířená relační algebra

Liší se od základní relační algebry především v tom, že dovoluje duplicity.

  • E je jakýkoliv výraz relační algebry
  • G1, G2, … , Gn je seznam atributů podle kterých se n-tice seskupují
  • Fi je souhrnná funkce
  • Ai je jméno atributu
  • Výsledkem je relace složená z atributů:
    • všechny použité Gi atributy
    • jeden atribut pro každou použitou souhrnnou funkci 21)

Další operace

Příklad

temp1 \leftarrow \Pi_{R-S}(r)
temp2 \leftarrow \Pi_{R-S}((temp1 \times s) - \Pi_{R-S,S}(r))
result = temp1 - tem2 22)

Předměty

Použitá literatura

Kam dál?

Vypracuje

Jitka Pospíšilová ICQ: 218703195 mám <99%>, aspoň si to myslím, pokud myslíte, že mi zde něco chybí, doplňujte

Otázku si přečetl pan RNDr. Vlastislav Dohnal a rámcově prošel. Jeho podněty pro doplnění textu, opravy nesrovnalostí a odstranění matoucích či k otázce se nevztahujících textů byly do otázky zaneseny. Tato kontrola je jen rámcová, stále se může stát, že v otázce zůstala zapomenutá chybka či nesrovnalost, vyučující za toto nenese odpovědnost, berte tuto rámcovou kontrolu jako formu pomoci od vyučujících pro studenty.

1)
kapitola 1 strana 1 ve skriptech předmětu PB154 Základy databázových systémů
2) , 3)
kapitola 1 strana 2 ve skriptech předmětu PB154 Základy databázových systémů
4)
kapitola 1 strana 3 ve skriptech předmětu PB154 Základy databázových systémů
5) , 6) , 7) , 8)
kapitola 3 strana 1 ve skriptech předmětu PB154 Základy databázových systémů
9) , 10) , 11) , 12)
kapitola 2 strana 5 a kapitola 3 strana 2 ve skriptech předmětu PB154 Základy databázových systémů
13) , 15)
kapitola 6 strana 1 ve skriptech předmětu PB154 Základy databázových systémů
14)
http://cs.wikipedia.org/wiki/Relační_databáze a kapitola 6 strana 1 ve skriptech předmětu PB154 Základy databázových systémů
16)
kapitola 3 strana 3 ve skriptech předmětu PB154 Základy databázových systémů
17)
kapitola 3 strana 6 ve skriptech předmětu PB154 Základy databázových systémů
18) , 20)
kapitola 3 strana 13 ve skriptech předmětu PB154 Základy databázových systémů
19)
Převzato z materiálů od Eleny Halické
21)
kapitola 3 strana 14 ve skriptech předmětu PB154 Základy databázových systémů
22)
kapitola 3 strana 9 ve skriptech předmětu PB154 Základy databázových systémů
23)
kapitola 3 strana 7 ve skriptech předmětu PB154 Základy databázových systémů