www.manualy.net
logo
Originální stránky pro originální lidi. Výrobky chráněných dílen
Google

Teorie relačních databází: Relační model dat

12.1. 2006 Vebloud Teorie DB

Popis relačního modelu dat, pojmy doména, atribut, relace. Pravidla, která musí splňovat relační databáze.

Databázová technologie je unifikovaný soubor pojmů, prostředků a technik, sloužící pro vytváření informačních systémů. Já se zde budu zabývat Relačními databázemi. Což jsou databáze, vyhovující relačnímu modelu dat (RMD). RMD je založený na matematické teorii množin a predikátové logice a definuje způsob reprezentace dat, způsob jejich ochrany (integritní omezení) a možné operace nad daty. RMD navrhnul a jeho pravidla publikoval Dr. E. F. Codd (pracovník firmy IBM) v r. 1970 v článku: "A relational model of data for large shared databanks". Kromě základních definic, vycházejících z teorie množin a predikátové logiky, byly v článku obsaženy tyto ideje:

  • RMD odděluje data, která jsou chápána jako relace od jejich implementace.
  • Symetrický přístup k datům. Při manipulacích s daty nás nezajímají přístupové metody k datům v relacích.
  • Pro práci s daty máme k dispozici relační kalkul a algebru (matematické aparáty, jimiž lze popsat sémantiku (význam konstrukcí) relačních jazyků).
  • Pro omezení redundance dat, máme k dispozici pojmy pro normalizaci relací, což znamená vhodně navrhovat databázové struktury.

Pro porozumění idejím a vyvrácení mýtu, že RMD se jmenuje relační podle vztahů mezi daty, je nutné říci, že základním kamenem RMD je databázová relace (množina) obsahující data, která se od matematické relace poněkud liší. Je vybavena pomocnou strukturou, které se říká schéma relace. Toto schéma obsahuje jméno relace, jména atributů (sloupců) a popisuje domény (integritní omezení). Každá buňka dat musí obsahovat pouze atomické hodnoty. Tomuto omezení se říká 1. normální forma (o normálních formách a normalizaci bude samostatný článek).

Relace lze chápat jako tabulku dat uspořádanou do sloupců (atribut + doména) a řádků (n-tic - n rozměrný vektor). Databázová relace je tabulka, pohled, výsledek dotazu, což nám dává možnost pracovat s výsledky dotazů stejně jako s tabulkou (není podporováno ve všech DBMS viz dále). Vzhledem k tomu, že relace je množina, která nesmí obsahovat duplicitní prvky a není uspořádána jinak než do sloupců a řádků, neexistuje první, druhý nebo n-tý řádek. Řádky v relaci nemají specifické pořadí, tudíž nejsou ani dosažitelné číslem řádku, musí existovat nějaká konstrukce, která nám umožní adresovat jednotlivé řádky. Tato konstrukce se nazývá primární klíč.

Primární klíč je atribut, nebo soustava atributů, jejichž hodnoty tvoří jednoznačnou identifikaci řádku relace. Například primárním klíčem v tabulce zaměstnanců bude rodné číslo. Jednoznačnou identifikací manželského páru budou sloupce obsahující r. č. manželů. Každá relace musí obsahovat primární klíč, v nejhorším případě jím jsou všechny atributy. Každý atribut, který je součástí klíče, se nazývá klíčový, ostatní jsou neklíčové.

Ve zkratce se dají zásady relačního modelu zapsat třemi pravidly:

  • Veškerá data se reprezentují ve strukturách se sloupci a řádky, kterým se říká relace.
  • Všechny hodnoty v databázi jsou skalární.
  • Operace se provádějí vždy a pouze nad relací a jejich výsledkem je jiná relace.

Databázový systém (DBS - Database System) je tvořen bází dat, neboli databází (DB - Database, pouze samotná data) a systémem řízení báze dat SŘBD (DBMS - DataBase Managment System). Což je sada programů, která ukládá data a svým specifickým způsobem určuje způsoby a techniky přístupu k datům.

Relační databáze je implementace modelů reálného světa, vytvořeného podle pravidel RMD. Relational DataBase Managment System je DMS, který by měl splňovat 12 pravidel, která publikoval pan Codd v článku, který vyšel roku 1985 v Computerworldu. Těchto 12 pravidel vychází z Coddovy teoretické práce na relačním modelu a vyjadřuje spíše ideální cíl, kterého by měl dosáhnout relační DBMS:

  1. Pravidlo informace: Všechny informace v relační databázi se na logické úrovni reprezentují explicitně hodnotami v tabulkách.
  2. Pravidlo zaručeného přístupu: Musí být zajištěno, aby úplně každý údaj v relační databázi byl logicky přístupný použitím názvu tabulky, hodnoty primárního klíče a názvu sloupce.
  3. Systematické ošetření prázdných hodnot: Prázdné hodnoty (nikoliv nuly, či prázdné řetězce) jsou systematicky plně podporovány RDBMS pro reprezentaci chybějících informací a neplatných informaci nezávisle na datovém typu.(Typicky řešeno hodnotou NULL).
  4. Popis struktury založený na relačním modelu: Popis databáze se na logické úrovni reprezentuje stejně jako běžná data tzn. v relacích, na které se mohou oprávnění uživatelé dotazovat stejně jako na jakoukoliv jinou relaci.
  5. Pravidlo komplexního datového jazyku: Relační systémy mohou podporovat více jazyků a režimů přístupů, ale musí existovat minimálně jeden jazyk, jehož příkazy jsou vyjádřitelné nějakou dobře definovanou syntaxí jako řetězce znaků, který podporuje:
    • Definici dat
    • Definici pohledu
    • Manipulaci s daty
    • Omezení integrity
    • Autorizaci
    • Vymezení transakce
    V současnosti používá většina DBMS jazyk SQL
  6. Aktualizace pohledu: Všechny aktualizovatelné pohledy je možno aktualizovat systémově.
  7. Vysokoúrovňová manipulace s daty: Zpracování základní či odvozené relace jako jediný operand se aplikuje jak na vyhledávání, tak vložení a změnu dat.
  8. Fyzická datová nezávislost: Aplikace a terminály zůstávají logicky nedotčeny změnami v reprezentaci uložiště nebo přístupových metodách.
  9. Logická datová nezávislost: Aplikace a terminály jsou logicky nedotčeny, pokud jsou v tabulkách provedeny změny v uchování informací.
  10. Nezávislost integrity: Integritní omezení (viz dále) musí být definovatelné v datovém jazyku v databázi, nikoliv v aplikaci.
  11. Distribuční nezávislost: Databázový jazyk musí být schopen manipulovat s daty umístěnými na jiném počítačovém systému.
  12. Pravidlo nenarušení: Pokud je v systému více jazyků, žádný z nich nesmí mít možnost manipulovat s daty v rozporu s integritními omezeními.

Prakticky žádný ze současných systémů nesplňuje všechny pravidla naprosto dokonale a spousta programátorů databázových aplikací nevyužívá možností databáze. (Týká se hlavně bodu 10). Nejvýznamnějšími výrobci a distributory DBMS jsou firmy Oracle s Oracle Database, IBM s DB2, které v součtu ovládají asi 70% trhu. Dalšími velkými výrobci jsou Sybase a Microsoft s MSSQL. V oblasti webových aplikaci je významným hráčem opensource databáze MySQL. Dalšími OS projekty jsou PostgreSQL, Firebird (dřivější Interbase od firmy Borland).

Zdroje:

  • skripta FEL ČVUT Databázové systémy 1995, Doc. RNDr. Jaroslav Pokorný CSc. a Ing. Ivan Halaška
  • SQL, kompletní průvodce - James R. Groff, Paul N. Weinberg - CP Books 2005
  • Vtváříme relační databázové aplikace - Rebecca M. Riordan - ComputerPress 2000

Napište váš názor na článek.