● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu. Je založena na tabulkách, které obvykle chápeme tak, že uchovávají informace o relacích mezi jednotlivými záznamy v matematickém slova smyslu. ● Základem každé relační databáze je tabulka, která obsahuje data. Některé databázové systémy mají pouze jednu tabulku, ale u relačních databází jich můžeme mít více. Tabulka se skládá ze sloupců a řádků
● Entnita-prvek reálného světa, popsaný svými vlastnostmi (např. člověk, stroj, vyučovaný předmět, město) ● Atribut-vlastnost entity (např. jméno, příjmení, stav, plat, hmotnost).
Vazby mezi entitami ● Entity (prvky reálného světa) mají mezi sebou určité vztahy ● Např:KNIHA můžebýt vypůjčena ČTENÁŘEM ● 3 druhy vazeb: ● 1:1-jedna entita typu A má vztah právě s jednou entitou druhu B a naopak entita typu B má vztah pouze s jednou entitou druhu A. ● 1:N-jedna entita typu A má vztah s více (N) entitami druhu B, ale naopak entita typu B může mít vztah pouze s jednou entitou typu A. ● M:N–entita typu A má vztah s několika (N) entitami typu B, opačně entita typu B může mít vztah s několika (M) entitami typu A.
● Pro jednoznačnou identifikaci záznamu, musí být v tabulce definován tzv. Primární klíč (PK) ● PK = pole tabulky, které je jedinečné pro každý řádek(např. číslo zaměstnance, rodné číslo)
● Pro jednoznačnou identifikaci záznamu, musí být v tabulce definován tzv. Primární klíč (PK) ● PK = pole tabulky, které je jedinečné pro každý řádek(např. číslo zaměstnance, rodné číslo)
Vlastnosti databázové tabulky ● Každá tabulka má jednoznačné jméno. ● Každý sloupec v tabulce má jednoznačné jméno. ● Všechny hodnoty daného sloupce jsou stejného typu. ● Nezáleží na pořadí sloupců. ● Nezáleží na pořadí řádků. ● Tabulka nemůže mít duplicitní řádky. ● Všechny hodnoty jsou atomické (nedělitelné). ● Každá tabulka musí mít primární klíč.
● Cizí klíč (FK) = určuje u záznamu v jedné tabulce souvislost se záznamem v jiné tabulce
Funkční závislost, tranzitivní závislosti ● Funkční závislost: ● Tvrzení o reálném světě ● Plat zaměstnance závisí na jeho funkci ● Zapíšeme funkce->plat ● Délka_trasy->výše_jízdného ● Tranzitivní závislost: ● Číslo_zaměstnance->funkcea také Funkce->plat ● Z toho plyne: Číslo_zaměstnance-> plat
● 1. Normální forma = 1.NF ● Všechny atributy jsou nedělitelné (atomické) ● Například tabulka
● Splňuje I.NF a zároveň každý atribut, který není PK, je závislý na PK
● Splňuje I. a II.NF a žádný atribut, který není PK není tranzitivně závislý na PK neboli neexistuje závislost neklíčových atributů
Proč používáme databáze? ● Databáze poskytuje rychlejší přístup k datům než soubory. ● Databáze umožňuje přímý přístup k datům. ● Databáze má zabudovaný mechanismus pro paralelní přístup k datům. ● Databáze má zabudovaný systém uživatelských práv. ● Databáze umožňuje pomocí dotazů snadno extrahovat množiny dat, která vyhovují zadaným kritériím.
Sloupce ● Každý sloupec musí mít jedinečný název a určitý datový typ podle dat, která chceme ukládat. ● Datových typů je velmi mnoho a je dobré si řádně rozmyslet, jaký datový typ zvolíte. Určitě je zbytečné využívat datový typ TEXT, když chcete uložit jen jeden znak.
Řádky ● Řádky nebo také záznamy. Oba pojmy jsou identické, jelikož jeden řádek reprezentuje jeden záznam. Každý řádek by měl mít určitý jedinečný identifikátor, který jednoznačně určí příslušný záznam. Tento problém řeší klíče.
Klíče ● Primární klíč ● Jedná se vždy o jedinečný údaj, který jednoznačně určí příslušný záznam. Tento klíč nemusí tvořit pouze číslo, které inkrementujeme (navyšujeme), ale může to být i více údajů ze záznamu, které dohromady jednoznačně určí záznam. Může to být i rodné číslo, ale problém vzniká, když se sejdou lidé se stejným rodným číslem, pak je nutné o něco rozšířit dotaz do DB.