Relační databáze a povaha dat Roman Bartoš Copyright istudium, 2005, http://www.istudium.cz Žádná část této publikace nesmí být publikována a šířena žádným způsobem a v žádné podobě bez výslovného svolení vydavatele. Produkce, technický redaktor: Roman Bartoš Vnitřní úprava: Matouš Horáček
Obsah Obsah...1 Relační databáze a povaha dat...2 Základní pojmy...2 Příklad...2 Vztahy (relace) mezi objekty...3 Databázové systémy...3 Systém řízení báze dat (DBMS - DataBase Management System)...3 Databázová aplikace...3 Obecné požadavky na systém řízení báze dat (DBMS)...3 Systém řízení báze dat (DBMS) typu Informix a Oracle...4 1
Relační databáze a povaha dat Základní pojmy Informace v elektronických systémech se uchovávají ve formě dat. Data jsou uložené statické (tj. dále neměnné) hodnoty (reprezentované posloupností znaků v souborech), jejichž výběrem z média se získávají informace. Objektem dat je předmět, událost, jev, místo, pojem, osoba, který data nějakým způsobem popisují, charakterizují nebo nás o nich nějak informují. Atributy dat jsou prvky dat, které charakterizují objekt pro danou předmětovou oblast. Například v centrální evidenci obyvatel každého a (tj. objekt dat) popisují atributy "příjmení", "jméno", "rodné číslo", "číslo ského průkazu", "trvalé bydliště" atd. Tyto atributy definují strukturu databáze "centrální evidence obyvatel". Hodnota dat (položka) je skutečná hodnota obsažená v každém prvku dat. Obor hodnot popisuje typ dat. Základními typy jsou text, číslo, datum, logická hodnota ano/ne. Například v centrální evidenci obyvatel lze nalézt záznam, kde atributu "příjmení" je přiřazena hodnota "Novák" Struktura databáze je souhrn atributů, které popisují daný objekt. Záznam je souhrn všech položek popisujících jeden objekt (tj. jeden řádek tabulky). Příklad objekt = "" struktura databáze = {"příjmení", "jméno", "rodné číslo"} obor hodnot atributu "příjmení" = text obor hodnot atributu "jméno" = text obor hodnot atributu "rodné číslo" = číslo 1. záznam = {"Novák", "Petr", "731215/8766"} 2. záznam = {"Nováková", "Eva", "732215/1234"} atribut = "příjmení" atribut = "jméno" atribut = "rodné číslo" položka = "Novák" položka = "Petr" položka = "731215/8766" položka = "Nováková" položka = "Eva" položka = "732215/1234" Indexy jsou pomocné informace, které urychlují prohledávání dat. Klíčové atributy jsou takové atributy dat, pomocí nichž lze jednoznačně určit celý záznam. Například v centrální evidenci obyvatel je klíčovým atributem atribut "rodné číslo", které musí být v rámci celé databáze jednoznačné. 2
Vztahy (relace) mezi objekty Mezi různými objekty mohou existovat vzájemné vztahy a souvislosti. Například centrální evidence obyvatel, která popisuje objekt "" může být propojena s evidencí nemovitostí, která popisuje objekt "nemovitost", dále může být propojena s evidencí motorových vozidel, která popisuje objekt "osobní motorové vozidlo". Mezi objekty mohou být následující vztahy: 1:1 zdravotní karta n:1 čp. domu n:m Sociální dávka Databázové systémy Databázové systémy slouží pro uložení a manipulaci s informacemi ve formě dat. Databázový systém se skládá z následujících komponent: Systém řízení báze dat (DBMS - DataBase Management System) Programové vybavení, které provádí správu uložených dat (realizuje zápis dat, čtení dat, udržuje konzistenci dat, zajišťuje přístupová práva k datům, obsahuje administrátorské servisní nástroje atd.) Databázová aplikace strukturovaně uložená data ve formě databázových souborů Příkladem systému řízení báze dat je systém Informix, Oracle, Sybase nebo Microsoft Access v operačních systémech Windows NT, Novell Netware a Unix (Linux). Obecné požadavky na systém řízení báze dat (DBMS) Oddělené struktury aplikačních programů a vlastních datových souborů. Přístup k datům je možný výlučně prostřednictvím DBMS. Uživatelský program (klient) zasílá dotaz/příkaz DBMS (server), který přístupem k datům dotaz/příkaz vyřídí a výsledek zašle uživatelskému programu Dotazy/příkazy nemusí být pevné, ale mohou vznikat v průběhu činnosti uživatelského programu (klienta). DBMS řeší ochranu dat současně sdílených více uživatelskými programy. 3
Systém řízení báze dat (DBMS) typu Informix a Oracle Obvykle používá vlastní souborový systém, tj. nevyužívá souborový systém operačního systému. Přístup k datům je rychlejší a DBMS je schopen zajistit jeho konzistenci použitím vlastních vyrovnávacích pamětí a použitím transakčních operací - viz dále. DBMS pracuje s daty výlučně prostřednictvím transakcí. Transakce je jakákoliv operace s daty, která vede k jejich změně (přepis dat, přidávání dat, rušení dat, apod.). Dokud transakce není dokončena, systém udržuje data ve stavu před začátkem transakce (nemůže dojít k částečné změně dat). DBMS pracuje na principu klient - server. Pro každého klienta (uživatelský program pro práci s databázovou aplikací) DBMS zřizuje a udržuje jeden obslužný proces (server). V systémech UNIX (Linux) používá mechanismus sdílené paměti pro datové stránky sdílené více obslužnými procesy. DBMS poskytuje vyšší odolnost proti haváriím (technickým závadám média) např. zrcadlením dat na více médiích. Při závadě jednoho média DBMS pokračuje v činnosti bez přerušení. DBMS používá procesy pro obnovení konzistence dat po havárii. DBMS podporuje distribuované prostředí, kdy databáze mohou být rozloženy na fyzicky oddělených serverech a datová komunikace probíhá protokolem TCP/IP. Klientský proces si od kořenového DBMS vyžádá nějakou informaci a DBMS tuto informaci poskládá z dat získaných z podřízených DBMS na jiných serverech. DBMS podporuje ukládání multimediálních dat (obraz, zvuk). 4