Cvičení předmětu KIV/DB1
3. týden výuky, cvičící: Ing. Tomáš Kotouč
Na této stránce se ještě pracuje
B-stromy, Systém řízení báze dat
- B-stromy
- Jedná se opět o určitou organizaci, která zrychluje přístup k určitým záznamům.
- Pravidla:
- Tato organizace má vyskou rychlost při výběru náhodné hodnoty klíče.
- V nejhorším případě je paměť využita alespoň na 50% (pro šťouraly: pokud se neuvažuje kořen, protože ten může mít obsazený pouze jednu pozici).
- Poměrně jednoduchá údržba při vkládání a rušení položek.
- Algoritmus INSERT
- Algoritmus DELETE
-
- Souborově orientovaný přístup
- Jedná se o případ kdy používáme nějakou sadu aplikačních programů, které poskytují služby koncovým uživatelům. Každý program pracuje se svými daty.
- Typickým příkladem jsou Vaše různé aplikace, které jste psali např. v Pascalu a jejichž data jste si ukládali do Vámi definovaných textových souborů.
- Nevýhody:
- Izolace dat .. data ukládáme do souborů, ale nemáme evidovaný vztah master-detail.
- Duplikace dat .. často se stejné údaje vyskytují ve více programech. Není zde obecně realizovatelné propojovat aplikace a tak vytvářet jedinečné ukládání dat.
- Závislost dat .. data a programy jsou na sobě závislé. Data jsou ukládána v souborech definovaných uživatelem (např. první 10 pozic bude rodné číslo, dalších 24 pozic bude jméno, ..) = kdo nezná tuto strukturu, nemůže se soubory pracovat.
- Databázový přístup
- Jedná se o oddělení dat od aplikace, data jsou pomocí speciálních funkcí přístupná více aplikacím.
- Jedná se v podstatě o jakýsi objetově-orientovaný přístup, kdy data objektu jsou přístupná pouze přes definované funkce interface (česky "meziksicht").
- Příkladem může být přístupu k předzápisu IS/STAG, kde je možný přístup z aplikace nebo z námi napsaného WEBového rozhraní nebo jedné webové aplikace, kterou napsal jeden diplomant v javě. Každá z těchto aplikací přistuypuje ke stejným datům.
- Pojmy:
- Fyzická data .. data uložená v pamětích či na discích apod.
- Logická data .. uživatelský pohled na fyzická data, obsahuje důležité vazby mezi elementy fyzických dat.
- Model dat .. prostředek pro definování logického vyjádření fyzických dat, vztahujících se k danému případu.
- Schéma .. prostředek, který definuje model dat aplikace.
- Báze dat (BD), jaké jsou na ní kladeny požadavky
- Neredundantnost .. odstranění duplicit dat
- Vícenásobná využitelnost .. přístup několika uživatelů z různých aplikací ke stejným datům ve stejné chvíli.
- Integrita dat .. hodnoty uložených dat nesmí být meze sebou v rozporu = nesmí se stát, že odstraníte z jedné tabulky otce, když v druhé tabulce k němu ještě existují synové. Není možné aby byla v adrese osoby zadána obec a k ní část obce, která se v obci vůbec nevyskytuje.
- Nezávislost dat .. když změníme strukturu dat, nikterak to neovlivní přístup aplikací k těmto datům.
- Možnost implementovat libovolný datový model .. je možné realizovat jakýkoliv model reálného světa.
- Systém řízení báze dat (SŘBD), co poskytuje:
- Jazyk pro definování dat .. uživatel zde má možnost specifikovat datové typy a struktury dat. Tyto jazyky se značí DDL (Data Definition Language).
- Prostředky pro ukládání, změnu, vymazání a získávání dat .. Tyto jazyky se značí DML (Data Manipulation Language). Existují dva typy jazyků:
- Procedurální .. zpracovávají data záznam po záznamu a určují jak požadovaná data vybrat.
- Neprocedurální .. pracují s množinou záznamů a určují jaká data vybrat. Příkladem je dotazovací jazyk SQL.
- Bezpečnost systému, přístupová práva .. je nutné zabezpečit jednotlivé tabulky i záznamy pro přístup SELECT, INSERT, UPDATE či DELETE pro různé uživatele či skupiny uživatelů.
- Současný přístup více uživatelů, sdílený přístup .. je nutné zabezpečit aby když ke stejnému záznamu přistupuje více uživatelů zároveň s úmyslem ho měnit (UPDATE či DELETE), aby právo s ním manipulovat měl ten uživatel, který s ním žačal pracovat jako první, záznam byl pro něj uzamknut a ostatní jsou informováni, že nyní je záznam přístupný pouze pro čtení. Po uložení záznamu prvním uživatelem může se záznamům pracovat další uživatel, přičemž se mu zobrazí záznam tak, jak ho uložil předchozí uživatel.
- Obnova systému po chybě, transakce .. pokud např. při bankovní operaci odečtení částky z jednoho účtu a přičtení na druhý účet dojde k výpadku elektrické energie, je nutné, aby po znovu obnovení systému se systém obnovil. Používají se k tomu tzv. transakce.
Pokud najdete nějaké nesrovnalosti, zašlete je, prosím, na e-mailovou adresu kotouc@civ.zcu.cz.