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 Celé číslo – velikost 2B, rozsah až Dlouhé celé číslo – velikost 4B, rozsah až Jednoduchá přesnost – přibližný číselný datový typ s přesností na 7 číslic, rozsah (-1,18e-38, -3,4e38) až (1,18e-38, 3,4e38), včetně nuly Dvojitá přesnost - přibližný číselný datový typ s přesností na 15 číslic, rozsah (-2,23e-308, -1,79e308),, (2,23e-308, 1,79e308) 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ž znaků
Datové typy Hypertextový odkaz – umožňuje uchování hypertextových odkazů (URL adres) Velikost až 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 Tyto postupy a metody jsou uloženy v programech 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 dat Sekvenč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 dat Sekvenč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 dat Sekvenční soubory
Fyzická organizace dat Setří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 dat Zř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 dat Zř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 dat Soubory 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 dat Soubory 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 dat Soubory 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 dat Soubory 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.