R=<TheAvengers,1998>,<TheAvengers,2012>,<TheMatrix>,1999
- n-tice (tuple) nemají význam
- Zavedeme tedy relace, kde složky budou pojmenovány a tyto jména nazýváme atributy
- Atributy mají svou doménu (nejvýše spočetná množina hodnot)
- Y … množina všech atributů
- relační schéma … konečna podmnožiny množiny atributů
- Pokud nějaké n-tice splňuje relační schéma (R) nazýváme ji n-tice nad R
- Relace reprezentujeme tabulkami a n-tici nazýváme řádek
- Tabulky jsou uloženy v tabulkové proměnné či relační proměnné
- Můžeme s nimi provádět běžné množinové operace
Podmínky relačního modelu
- musí splňovat 3 podmínky
- jedinečné názvy sloupců
- neobsahuje
null
- nemá duplicitní řádky
Atributy
- Sloupce tabulky
- Definují vlastnost, která je jednotlivým záznamům přiřazena
- Atribut má:
- Název - musí být jedninečný
- Doménu - soubor možných hodnot
- Datový typ - typ hodnoty (
int
, text
, …)
- Např.
employee_id
(identifikátor zaměstnance, číslo)
name
(jméno, text)
age
(věk, celé číslo)
N-tice
- Představují řádky tabulky (konkrétní záznamy)
- Každá n-tice obsahuje hodnoty pro všechny atribut
employee_id | name | age | department |
---|
1 | Bob | 30 | IT |
Relace
- Konečná podmnožina n-tic
- Musí být nad určitou množinou atributů (relační schéma)
Relační proměnné
- Proměnná jejíž hodnotou je relace
- V SQL jsou to obvykle názvy tabulek
Charakteristické vlastnosti relací
- Vlastnosti, které definují strukturu a chování tabulek
- Určitý výrok
- Pokud relace obsahuje danou n-tici, pak je výrok pravdivý
- Např. mám tabulky s filmy (
title
) a roky vydání (year
), vlastnost “Vlastním film title
natočený roku year
.” je pravdivá
- Nechť R je relace nad S a V(t) je vlastnost nad R. Poté V(t) je charakteristická vlastnost pokud platí t∈R pokud V(t)=true
- V(t) určujte R pokud R={t∈Tupl(S)∣V(t)}