Úvod do databází Ing. Tomáš Rain 10. dubna 2017
DATABÁZOVÉ SYSTÉMY DBS IS DBS DB SŘBD DBS = DB + SŘBD DB – databáze, báze dat SŘBD – systém řízení báze dat
SŘBD SW, který zajišťuje: popis dat uložení a aktualizaci dat víceuživatelský přístup k datům ochranu dat dotazy tvorbu vstupních obrazovek výstup dat na tiskárně ve formě soustav… MS Access, Paradox, FoxPro, dBASE…
Báze dat je kolekce údajů (společný zdroj dat), která je odrazem reálného světa je popsána pomocí datového modelu - vytváří se centrální popis báze dat data se ukládají 1x a vícenásobně se využívají
Výhody DBS nezávislost dat na programech (aplikační programy jsou odděleny od dat) minimalizace redundance přístup k datům je pouze prostřednictvím programů databázového systému (ne přímo) dotazy nejsou pevné (dialog) možný současný přístup více uživatelů zajištěna ochrana dat proti zneužití
Typy datových modelů síťový hierarchický relační objektový
Síťový datový model jednotlivé datové struktury vytvářejí síť Zboží 1 Dodavatel 1 Dodavatel 2 Dodavatel 3
Hierarchický datový model data uspořádána podle hierarchických stromů každá datová struktura je podřízena jen jedné nadřazené datové struktuře STÁT ZEMĚ MĚSTO HLAVNÍ MĚSTO
Relační datový model data uspořádána v dvourozměrných tabulkách tabulka (relace) má n sloupců - položek sloupec má záhlaví - jméno položky m řádků - záznamů (vět, records) záznam je souhrn všech údajů o jednom objektu uloženém v databázi (o jednom studentovi, o jedné knize, o jednom pracovníkovi atd.)
Základní pojmy relace (tabulka) atribut - vlastnost objektu doména - množina hodnot, kterých může nabývat atribut primární klíč - položka jednoznačně identifikující jednotlivé záznamy složený klíč - z více položek index – datová struktura pro udržování pořadí záznamů, umožňuje zobrazovat záznamy v pořadí odlišném od pořadí určeného primárním klíčem
schéma relace R(A1, A2, …. AN) atribut Ai sloupce Příjmení Jméno Novák Nováková Karel Město Ulice Marie Praha 6 Praha 7 Veletržní 4 Dejvická 20 doména řádky=záznamy údaje=data schéma relace R(A1, A2, …. AN)
Typy položek Typ znakový (character) pro textové údaje – 255 znaků poznámkový (memo) – 65535 znaků celočíselný (integer) číselný (numeric, float) s desetinnou tečkou datumový (date) logický (logical) - true, false obrazový - obrázky, zvuky …
Aby tabulka byla relační, musí splňovat: všechny hodnoty v tabulce musí být elementární (dále nedělitelné) pořadí sloupců 1 až n je nevýznamné pořadí 0 až m řádků lze libovolně měnit sloupec musí být homogenní (údaje stejného datového typu) každý sloupec je jednoznačně pojmenován každý řádek je jednoznačně rozlišitelný
Relační algebra formální matematický aparát pro práci s relacemi množina objektů a určité operace nad touto množinou, výsledkem operace je prvek algebry př. (celá čísla, +, -), (reálná čísla, *, /) Relační algebra množinou objektů jsou relace operace : selekce, projekce, spojení, průnik, rozdíl
Operace projekce Operace selekce
Operace spojení (join) A B A’ C A=A’ 111 222 333 aaaa bbb ccc 111 xxx 111 aaaa xxx 333 yyy 333 ccc yyy Spojení – představuje vytvoření relace, jejíž řádky vzniknou zřetězením těch řádků první tabulky s takovými řádky 2. tabulky, ve kterých je splněna podmínka týkající se vztahu 2 srovnatelných atributů výchozích relací.
Normalizace dat dekompozice nenormalizovaných tabulek do struktur, které umožňují lepší aktualizaci 1NF jedna relace nesmí obsahovat násobná data 2NF všechna neklíčová data musejí záviset jen na primárním klíči
Nenormalizovaná tabulka Sbírka
Normalizovaná tabulka Sběratel
Normalizovaná tabulka Typ_Auta
Normalizovaná tabulka Autíčka
Normalizace dat představuje takový způsob seskupení datových prvků do struktur záznamů (dekompozice nenormalizovaných tabulek), který zabraňuje problémům s jejich aktualizací.
NENORMALIZOVANÁ DATA Záznamy s opakujícími se skupinami dat Dekomponuj takovéto datové struktury do více vět (záznamů) 1. NORMÁLNÍ FORMA Záznamy bez opakujících se skupin dat Dekomponuj tak, aby všechny datové prvky závisely na primárním klíči 2. NORMÁLNÍ FORMA Všechna neklíčová data jsou funkčně závislá na primárním klíči Dekomponováním tabulky odstraň všechny tranzitivní závislosti 3. NORMÁLNÍ FORMA Všechna neklíčová data jsou plně funkčně nezávislá mezi sebou
Výhody databázových systémů Nezávislost aplikačních programů na změnách ve fyzickém uložení dat: při změnách ve fyzické struktuře báze dat není třeba měnit aplikační programy Ochrana dat před neoprávněným přístupem a poruchami: SŘBD kontroluje, zda uživatel je oprávněn používat data příslušným způsobem, znovuvytvoří bázi dat po selhání systému Odstranění redundance: každý údaj je v bázi dat ve většině případů uložen pouze jedenkrát. Sdílení dat: při využití SŘBD mohou být tatáž data používána několika uživateli; důležitou funkcí SŘBD je zajištění “paralelního” přístupu ke stejným datům z několika programů. Komplexní kontrola nerozpornosti (konzistence) dat: SŘBD centrálně kontroluje, aby některý aplikační program nepřivedl data do stavu, v němž by byla v rozporu s omezujícími podmínkami danými sémantikou reálného světa. (Nedovolí např. aby věk zaměstnance byl vyšší než jeho rodičů).
Uživatelé vytvořené DB Správce databáze - systémový programátor, který má celou databázi na starosti. Tento pracovník navrhuje konceptuální schéma DB, rekonstruuje ji v případě poškození, udílí práva přístupu a vyhodnocuje její využívání. Správcem databáze obvykle ve větších organizacích odborný útvar, který zahrnuje osoby odpovědné za výše uvedené záležitosti. Aplikační programátor je programátor profesionál - vytváří konkrétní aplikační programy a pracuje přitom s dílčí části schématu (např.pomocí SQL). Příležitostný uživatel nemá detailní znalosti programování, typické pro předchozí skupiny. Dokáže popsat strukturu své databáze, naplnit ji daty a formulovat své dotazy prostřednictvím QBE. Naivní (parametrický) uživatel používá jen hotové programy, předdefinované dotazy a pohybuje se pouze v oblasti nabídek (např. manipulantka při rezervaci letenek). Tato kategorie je stále početnější.
Databáze na osobním počítači - vlastník počítače je zpravidla i uživatelem databáze a musí si tedy umět popsat data jako správce databáze. Mikropočítačové databáze proto používají jen velmi jednoduchého jazyka, který neklade přehnané nároky na uživatele. Uživatele databází na osobních počítačích lze tedy rozdělit na: Naivní uživatele, kteří používají jen hotové programy. Aplikační uživatele, kteří dokáží popsat strukturu své databáze, naplnit ji daty a formulovat své dotazy pomocí dotazovacího jazyka
Tvorba báze dat
Domy a osoby jsou uvažovány jako množiny entit Domy a osoby jsou uvažovány jako množiny entit. V tomto případě tedy vztah mezi domy a osobami definuje vztah mezi množinami entit. Takovýto vztah je nazýván jako asociace a může nabývat hodnot 1:1, 1:N nebo N:M.
Konceptuální modely relativně jednoduché grafické metody, které slouží k zachycení reálného světa. Nejrozšířenějším je E-R model (anglicky Entity-Relation), který je dnes všeobecně akceptován a je základem řady metodických souborů, především produktů CASE. - orientace na objekty (entity). Uvažuje se v objektech (čtenář, exemplář) a nikoliv v identifikacích, které je označují (Č_ČTENÁŘE, ISBN), funkcionální podstata vztahů, tj. vztahy mezi objekty jsou definovány jako funkce (MÁ_KOPIE), ISA-hierarchie (termín vypůjčený z umělé inteligence) umožňuje pracovat s nadtypy a podtypy typů objektů (KNIHA je - podtypem DOKUMENT,) hierarchický mechanismus pro konstrukci objektů z jiných objektů.