300 likes | 415 Views
Databázové systémy. Přednáška č. 5 Datové typy a Fyzická organizace dat. Datové typy. Jde o primární vlastnost jednotlivých polí tabulky Stanovují obecnou charakteristiku vkládaných dat, včetně použitelných operací Určují velikost místa rezervovaného pro každý záznam
E N D
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat
Datové typy • Jde o primární vlastnost jednotlivých polí tabulky • Stanovují obecnou charakteristiku vkládaných dat, včetně použitelných operací • Určují velikost místa rezervovaného pro každý záznam Nesprávná volba datového typu vede k přenosu zbytečně velkých datových toků a k zatížení sítě.
Datové typy Při volbě datového typu je zapotřebí si uvědomit: • Druh hodnot pro které je pole určeno • Potřebnou velikost úložného prostoru • Typ operací, které bude potřeba provádět s polem • Možnost indexace podle daného pole • Možnost řazení pole a následný způsob řazení • Možnost použití pole k seskupení • Úmysl ukládat v databázi dokumenty jiných aplikací
Datové typy • TEXT – textový řetězec o velikosti max. 255 znaků • velikost lze omezit vlastností Velikost pole • použití pro text, čísla (tam, kde nepožadujeme výpočty), či kombinaci textu a čísel (adresy apod.) • Číslo – celá i reálná čísla (s pevnou i plovoucí čárkou) • Určen pro číselné hodnoty používané při výpočtech (mimo peněžní výpočty) • Velikost lze omezit vlastností Velikost pole, která rozlišuje další podtypy tohoto datového typu
Datové typy Datový typ Číslo - podtypy • Bajt – velikost 1B (Byte), pro celá čísla v rozsahu 0-255 • Celé číslo – velikost 2B, rozsah -32768 až +32767 • Dlouhé celé číslo – velikost 4B, rozsah -2 147 483 648 až +2 147 483 647 • Jednoduchá přesnost – přibližný číselný datový typ s přesností na 7 číslic, rozsah včetně nuly • Dvojitá přesnost - přibližný číselný datový typ s přesností na 15 číslic, rozsah • Desetinné číslo – lze volit přesnost a měřítko • Automatické číslo – generuje jedinečná čísla buď jako pořadová nebo náhodná
Datové typy • Datum a čas – uchování informací o datu a čase • ANO / NE – uchování dat,které mohou nabývat jen dvou možných stavů • Měna – uchování peněžních hodnot • Zabraňuje zaokrouhlování • Vhodný pro výpočty s velkou přesností a nebo měnovými hodnotami • Memo – uchování delších textů a čísel (poznámky, popisy apod.) • Velikost až 65 535 znaků
Datové typy • Hypertextový odkaz – umožňuje uchování hypertextových odkazů (URL adres) • Velikost až 64 000 znaků • Objekt OLE – určen pro ukládání OLE objektů vytvořených v jiných programech (např. dokumenty MS Word, tabulky aplikace MS Excel, obrázky, zvuky či jiné binární soubory) • Velikost je omezena nejen velikostí pole (1GB), ale také velikostí úložného prostoru (disku)
Fyzická organizace dat • Organizace dat je způsob uspořádání dat za účelem efektivního zpracování • Jde o postupy a metody uložení a vyhledávání dat na médiích • Výkon a efektivita činnosti databáze je závislá na rychlosti a složitosti průběhu vykonávaných činností • Základní databázové operace: • Select - vyhledávání • Insert - vkládání • Update – úprava - modifikace • Delete – rušení - mazání
Fyzická organizace datSekvenční soubory • Nejjednodušší způsob fyzické organizace dat • Jde o přirozené uspořádání záznamů dle pořadí uložení Základní databázové operace: • Insert – nový záznam se uloží na konec souboru • Jeden přenos záznamu z paměti na disk • Select • hledáme-li dle pořadí, pak určíme adresu z pořadí a délky záznamu • hledáme-li dle jiného pole, pak je nutno prohledat celý soubor sekvenčně
Fyzická organizace datSekvenční soubory • Update – u této operace se provede nejprve hledání, úprava záznamu a následně zapsání na stejnou adresu • Delete – provádí se označením záznamu za neplatný, ale všechny položky záznamu zůstanou nezměněny • Zrušené záznamy však zabírají místo na disku • Řešením je zápis nových záznamů na první místo označené jako neplatné • Při existenci primárního klíče je nutné kontrolovat jeho jedinečnost
Fyzická organizace datSetříděné sekvenční soubory • Použití při častém vyhledávání podle některého pole • Uchování souboru v setříděném tvaru podle klíče – vyhledávacího klíče • Vyhledávací klíč nemusí být primární klíč • Vhodné při méně častých změnách vyhledávacích klíčů • Setřídění souboru se provádí po jakékoliv změně
Fyzická organizace datZřetězené soubory • Záznam zde obsahuje ještě další položku navíc – ukazatel na následující záznam v datovém souboru • Vytváří se řetěz vzájemně propojených záznamů • Kritéria vytváření řetězů jsou libovolná Základní databázové operace: • Insert – záznam se fyzicky zapíše kamkoliv, pak se vyhledají sousední záznamy dle daného kritéria a přepíší se ukazatele
Fyzická organizace datZřetězené soubory • Select – provádí se prohledání seznamu postupně pomocí ukazatelů a záznamy se testují dle podmínky • Update – provede se vyhledání, modifikace a opětovný zápis. • V případě změny položky, dle které je stanoveno kritérium, je potřeba provést smazání záznamu a uložení záznamu nového. • Delete- vyhledá se umístění záznamu v seznamu a přesměrují se ukazatele
Fyzická organizace datSoubory s přímým adresováním • Zajišťuje velmi rychlý přístup k datům pomocí jednoznačných klíčů • Klíče obsahují adresu záznamu v souboru • Metoda umožňuje načtení záznamu na základě adresy pomocí jednoho přístupu na disk a jeho případnou modifikaci pak ještě jedním přístupem • Využívá se zde tzv. hašovací funkce – ta transformuje interval adres do číselného intervalu požadované velikosti.
Fyzická organizace datSoubory s přímým adresováním • Může dojít k nejednoznačnosti výsledné adresy – několika klíčům může odpovídat stejná adresa. • Nejednoznačná adresa je pak adresou pro všechny záznamy, které se následně ukládají zřetězeně.
Fyzická organizace datSoubory s přímým adresováním • Základní databázové operace : • Insert - Pro nový záznam se spočítá adresa skupiny záznamů, v ní se prohledají záznamy a uloží se na první volné místo ve skupině • Select - Vyhledání záznamu podle klíče je velmi rychlé a čas potřebný k výpočtu adresy pomocí hašovací funkce je zanedbatelný: z klíče se vypočte adresa skupiny záznamů a na ní se začne prohledá zřetězený seznam. Vyhledávání podle neklíčové hodnoty se však naopak prodlužuje, protože je potřeba sekvenčně procházet prázdná místa a seznamy.
Fyzická organizace datSoubory s přímým adresováním • Update - znamená nejprve vyhledání, modifikaci a posléze zpětné uložení. Při modifikaci klíče je nutné provést nejprve zrušení a pak nový záznam. • Delete - při rušení záznamu se provede vyhledání, označení neplatnosti a přesměrování ukazatelů z předchůdce na následníka.
Fyzická organizace datIndexované a indexové soubory Základem je: • sekvenční datový soubor = indexovaný soubor • pomocná tabulka = indexový soubor Indexový soubor obsahuje: • hodnotu vyhledávacího klíče (index) • adresu záznamu (např. pořadové číslo) Indexový soubor je organizován tak, aby vyhledání klíčové hodnoty proběhlo rychle pro jakoukoli část datového souboru.
Fyzická organizace datIndexované a indexové soubory • Indexem může být jak primární klíč, tak i jakákoliv položka datového souboru nebo skupina několika položek. • Do skupiny je nutné zařadit ty položky, podle nichž se bude často provádět vyhledávání. Rozlišujeme: • primární indexování – indexem je primární klíč • sekundární indexování – index tvoří jakákoli jiná položka – je nutné počítat s duplicitou daných položek a tím přiřazení více adres jedné položce
Fyzická organizace datIndexované a indexové soubory Základní databázové operace: • Insert - nový záznam se uloží na konec datového souboru, přidá se do všech indexových souborů a ty se setřídí • Select Vyhledání podle indexovaných položek se provede binárním vyhledáním hodnoty indexu v příslušném souboru a načtením adresy. Vyhledávání podle neindexových položek se provádí sekvenčním vyhledáváním.
Fyzická organizace datIndexované a indexové soubory • Update - znamená nejprve vyhledání, modifikaci a posléze zpětné uložení. Při modifikaci některé indexované položky je nutné upravit indexové soubory a setřídit je. • Delete - při rušení záznamu se provede vyhledání a označení neplatnosti záznamu. Následně se provede přetřídění indexového souboru. Výhodou je rychlý přístup k datům, avšak na úkor větší potřeby místa na pevném disku pro indexové soubory.
Fyzická organizace datHierarchické indexování • Vytváření hierarchické struktury indexových souborů. • Struktura je rozdělena do jednotlivých úrovní. • Používá se při velkých datových souborech. • Pro vyhledávání v jednom indexovém souboru se využívá další indexový soubor. • Vyhledávání postupuje od nejvyšší úrovně a hledá se přibližný interval a nikoliv přesná hodnota indexu. Až nejnižší úroveň ukazuje do datového souboru.
Fyzická organizace datB-stromy • Varianta hierarchického indexování pro uspořádání úrovní indexů. • Vytváří se vyvážená struktura a tím se minimalizuje počet přístupů do paměti • Zavádí se zde limity na maximální a minimální počet potomků vrcholu • N stromy (N-ární stromy) jsou rozšířením B-stromů a stanoví limit maximálního počtu potomků konstantou n a minimální počet potomků vrcholu jako n/2.
Fyzická organizace datB-stromy Hledáme-li např. záznam s indexem 13, pak najdeme… • nejbližší vyšší index v kořenovém souboru 31 • nejbližší vyšší index v uzlu na nižší úrovni 19 A tento pak ukazuje na index 13 na nejnižší úrovni s přímou adresou do datového souboru
Fyzická organizace datB-stromy Základní databázové operace: • Insert - nový záznam se uloží na konec datového souboru a přidá se do větví stromu a to tak, že se najde příslušný blok a buď v nalezeném bloku je místo, takže se může přidat vkládaný záznam, nebo nalezený blok je plný a musí se vytvořit nový blok. Z původního plného bloku se vytvoří dva bloky a každý obsahuje polovinu záznamů. Zbylá místa zůstanou prázdná.
Fyzická organizace datB-stromy • Select - najdeme cestu ve stromě od kořene až k listu. V každém uzlu porovnáme hledaný klíč. • Update - záznam se vyhledá, změní a zapíše zpět. Při modifikaci klíče se provede zrušení původního záznamu a zavedení nového záznamu včetně úpravy stromu. • Delete - provádí se opačně, než vkládání. Při zrušení posledního záznamu bloku se zruší i odkaz na něj. Vše se promítne do vyšších úrovní.