: doladit, doplnit, zpřehlednit
Kódování = Proces nahrazování symbolů (resp. jejich posloupností) zprávy symboly (resp. jejich posloupností) nabývajících znaků cílové (kódovací) abecedy.
Množství informace
Pro je jednotkou bit.
Entropie
Neurčitost zdroje zprávy je rovna množství informace v ní obsažení. (Neurčitost je přijetím zprávy odstraněna.)
Minimální kódování
Př.:
10110010001101
Eliasův kód C1
Kódování celých čísel u kterých není předem známá horní hranice.
Př.:
Eliasův kód C2
Přeuspořádání C1.
Př.:
Eliasův kód C3
Vyjádření délky kódového slova pomocí C2.
Př.:
Cílem:
Kraftova nerovnost
McMillanova veta
Shannon-Fanovo kódování
Huffmanovo kódování
Aritmetické kódování
LZ77 (Lempel-Ziv)
LZ78 (Lempel-Ziv)
LZW (Lempel-Ziv-Welch)
Požadavky na systém souborů
Položky:
Důvod volitelných délek:
Blok
Kolekce dat obsahující informace o souborech uchovávaných na disku (jméno, typ, adresa, délka, maximální délka, čas posledního přístupu…)
Struktury:
1-úrovňový adresář
2-úrovňový adresář
stromová struktura
typy indexů:
Indexy mohou být víceúrovňové – „index do indexu“ – nejnižší úroveň může být přímo primární soubor, výše jsou řídké indexy
Obvykle pokud se mluví o indexech, jsou myšleny řádné.
Primární x sekundární
Hustý x řídký
Příklad
ID (2B) | Jméno (20B) | Rok narození (2B) | Místo narození (16B) | Telefon (4B) | Bydliště (16B) |
---|---|---|---|---|---|
1 | Bílá Alena | 1972 | Ostrava | xxxxxxxx | Brno |
2 | Novák Jan | 1952 | Praha | 123456789 | Kladno |
3 | Novotný Tomáš | 1987 | Brno | 565656565 | Vyškov |
4 | Procházka Petr | 1964 | Brno | 100001011 | Řestoky |
Hustý index pro atribut jméno:
Jméno | ID |
---|---|
Bílá Alena | 1 |
Novák Jan | 2 |
Novotný Tomáš | 3 |
Procházka Petr | 4 |
Pokud chceme vyhledat místo narození Tomáše Novotného, pak je při sekvenčním prohledávání nutné načíst 2 · (2 B + 20 B + 2 B + 16 B + 4 B + 16 B) + 2 B + 20 B + 2 B + 16 B = 160 B. Při použití hustého indexu stačí načíst 3 · (20 B + 2 B) + 2 B + 20 B + 2 B + 16 B = 106 B. Pokud je index uložen v operační paměti, pak v obou případech stačí pouze jeden přístup na disk, avšak v prvním případě bude třeba číst výrazně více dat.
Řídký index pro atribut jméno:
Jméno | ID |
---|---|
Bílá Alena | 1 |
Novotný Tomáš | 3 |
Pokud je požadavek na vyhledání například Jana Nováka, nalezne se poslední záznam v uspořádání před ním (Alena Bílá) a dál se postupuje sekvenčně.
Sekundární index pro atribut místo narození:
Místo narození | ID |
---|---|
Brno | 3,4 |
Ostrava | 1 |
Praha | 2 |
Definice
hašovací funkce (obecně) = Funkce, která mapuje libovolně velký vstup na výstup fixní délky a není prostá.
hašovací funkce (ve smyslu organizace souborů) = Funkce řešící přístup k záznamům souboru s konstantní složitostí.
kolize = situace, kdy je pro více záznamů spočítána stejná adresa
Požadované vlastnosti hašovací funkce:
Rozšiřitelné hašování
Lineární hašování
Postup zpracování a optimalizace dotazu:
= Transformační vztahy relační algebry zachovávající výsledek. Mohou ale zefektivnit samotné vyhodnocování.
Koncept Iterátoru
1NF
2NF
3NF
Boyce-Codd NF
klíče
Transakce je posloupnost operací (DML příkazů), které převedou datové schéma z jednoho konzistentního stavu do druhého (zpřístupňuje a aktualizuje data). Platí o ní, že je ACID:
Více transakcí může být spouštěno současně, může však dojít k uváznutí (deadlocku). Chronologické pořadí provádění instrukcí souběžných transakcí je předem určeno pomocí plánu.
Každá transakce může nabývat těchto stavů: aktivní, částečně potvrzená, chybující, zrušená a potvrzená. Pokud byla transakce zrušena, je možné ji znovu spustit (nedošlo-li k logické chybě) nebo zamítnout.
Plánovače
Souběžné zpracování (zajišťuje izolovanost)
Pro obnovu výpadku požadujeme, aby tranakce byly atomické, databáze konzistentní.
Žurnálování (log, deník)