Relační model byl popsán v roce 1970.
Základní rysy relačního modelu:
- RDM důsledně odděluje data, která jsou chápána jako relace, od jejich implementace- přístup k datům je symetrický, tj. při manipulaci s daty se nezajímáme o přístupové mechanizmy k datům
- pro manipulaci s daty jsou k dispozici dva silné prostředky - relační kalkul a relační algebra
- pro omezení redundance dat v relační databázi jsou navrženy pojmy umožňující normalizovat relace
Základní definice RDM
RDM má jediný konstrukt - databázovou relaci.Mějme množiny D1,D2,D3 ,.......Dn. Z každé vybereme 1 prvek. Tím vytvoříme uspořádanou n-tici. Kartézský součin D1 x D2... je množina šech posloupností (x1,x2,...) kde x1 je prvkem D1 ... Relace je každá podmnožina kartézského součinu. Z hlediska atabázových systémů jsou množiny D1,D2,.. množina hodnot atributů a značí se jako domény.
Od matematické relace se liší v několika aspektech:
- relace je vybavena pomocnou strukturou, které se říká schéma relace. Schéma relace se skládá ze jména relace, jmen atributů a domén- prvky domén, ze kterých se berou jednotlivé komponenty prvků relace, jsou atomické (dále nedělitelné) hodnoty. Tomuto omezení se říká 1.normální forma relací (1NF). Schéma relace R se vytvoří nad množinou atributů A1:D1,...AN:DN ,kde i jsou jména atributů a Di jsou domény. Dvojici Ai:Di se říká atribut relace. Schéma relace lze zapsat R(A1:D1,....An:Dn) relace R nad množinou A je libovolná podmnožina kartézského součinu domén D1x...xDn. Doména náležící atributu C se označuje jako dom(C). Domény jsou obvykle primitivní typy dat (STRING, INTEGER...). Prvkům relace se říká n-tice, přičemž n určuje řád relace. Relační schéma databáze je dvojice (R,I), kde R je množina schémat relací a I je množina integritních omezení. Jedno z významných IO na relaci R(A) je existence primárního klíče.
Primární klíč je množina atributů K z A, jejichž hodnoty jednoznačně určují n-tice relace R. K je minimální v tom smyslu, že z ní nelze odebrat žádný atribut, protože by to narušilo identifikační vlastnost.
Atribut, který je součástí nějakého klíče se nazývá klíčový. Atributy, které nejsou součástí žádného klíče se nazývají neklíčové. Z podstaty RDM vyplývá, že každá relace má klíč. protože relace jsou množiny, nesmí relace obsahovat duplicitní prvky.
Dalším důležitým IO je referenční integrita. Toto omezení opisuje vztahy mezi daty ve dvou relacích. Atribut, kterého se referenční integrita týká se nazývá cizí klíč (foreign key). Takové dvě relace se obvykle nazývají master, detail nebo parent, dependent. Česky obvykle hlavní, závislá.
Příklad:
Hlavní tabulka:
CISLO z relace UCITELE je primární klíč a objevuje se v relaci
PREDMETY jako položka GARANT. Položka GARANT je tzv. cizí klíč.
UCITELE(CISLO,JMENO,PLAT,PRIPLATEK,...)
Závislá tabulka:
PREDMETY(ZKRATKA,NAZEV,......,GARANT)
Přípustnou relační databází se schématem (R,I) nazýváme množinu relací R1,...Rk takových, že jejich prvky vyhovují I. O takové množině relací říkáme, že je konzistentní.
Formou reprezentace relací může být dvojrozměrná tabulka.
Podmínky, které musí splňovat relační tabulka:
- všechny hodnoty v tabulce musí být elementární - tzv. Dále nedělitelné - podmínka 1.NF- sloupce mohou být v libovolném pořadí
- řádky mohou být v libovolném pořadí
- sloupce musí být homogenní = ve sloupci musí být údaje stejného typu
- každému sloupci musí být přiřazeno jednoznačné jméno (tzv. atribut)
- v relační tabulce nesmí být dva zcela stejné řádky. Tzn., že každý řádek je jednoznačně rozlišitelný.
Shrnutí pojmů (a jejich zjednodušení)
Doména: je množina datových hodnot stejného typu. Tyto hodnoty popisují nějakou vlastnost objektu.Relace: je množina vztahů mezi jednotlivými prvky domén
Atribut: je pojmenování pro každé užití hodnoty z domény v relaci
Záhlaví relace: obsahuje jméno relace a jména atributů v relaci. Je v čase neměnné.
Tělo relace: obsahuje v čase proměnnou množinu n-tic hodnot, jejichž pořadí je dáno záhlavím relace.
Stupeň relace: je počet atributů relace
Kardinalita relace: je počet řádků relace
Primární klíč: je sloupec, který jednoznačně určuje řádky v tabulce. Pokud je třeba použít více sloupců pro jednoznačné určení řádků, potom hovoříme o tzv. složeném klíči. Pokud je více atributů, které splňují pravidlo pro primární klíč, jedem zvolíme jako primární. Ostatní jsou alternativní klíče.
Definice primárního klíče: Primární klíč je podmnožina atributů relace, která
1) jednoznačně identifikuje každý prvek relace
2) není redundantní, tj. žádný její atribut nelze vynechat, aniž by podmínka 1) přestala platit
Tabulky: jsou konkrétními instancemi relačního schématu
Kandidáti primárního klíče:
- primární klíč - pouze jeden
- alternativní klíče - více