Otázka: Databáze
Předmět: Informatika
Přidal(a): Tereza Čapková
Databáze = systém pro ukládání dat na paměťové médium
Databázový systém = software (SŘBD = systém řízení báze dat) + uložená data
- SŘBD
- Rozhraní mezi databází a aplikací
- zajištění přístupu a práce s databází
- ochrana databáze, zotavení z chyb
- zákl.složka = program pro definování dat (Access, LibreOffice Base, MysQL, Oracle)
- Data mají mezi sebou určité vztahy a jsou členěna
Druhy databází
- Hierarchická databáze – nejstarší, data uspořádaná ve stromové struktuře, nepoužívá se
- Síťová databáze – vztahy více ku více (jedna entita mohla mít více otců), do roku 1970
- Relační databáze – založena na tabulkách
TABULKA
- Základní databázový objekt
- Slouží k přímému uložení dat
- Pevně daná struktura
- Atribut – sloupec (příjmení, jméno,..)
- Záznam – řádek (složen z atributů)
- Vztahy mezi tabulkami
- 1:1 – záznamu odpovídá právě jeden záznam v jiné databázové tabulce a naopak
- 1:N – přiřazuje jednomu záznamu více záznamů z jiné tabulky (nejčastější)
- M:N – umožňuje každému záznamu z jedné tabulky přiřadit libovolný počet záznamů z druhé tabulky
normalizace databáze
- Umožňuje data efektivněji ukládat, prohledávat, třídit a zpracovávat
- 6 normálních forem, používají se 3
- NF – Každý sloupec je jen jedna hodnota na každém řádku
- NF – každý neklíčový atribut je plně závislý na primárním klíči, jen když je primární klíč více hodnotový
- NF – neklíčové atributy jsou navzájem nezávislé
DATOVÝ TYP
- Druh nebo význam hodnot, kterých smí nabývat proměnná
Jednoduché typy
- Většinou zabudovány do jazyka
- Každý jazyk odlišné jednoduché typy
- Orditální
- Základ informatiky
- Pro každý prvek je přesně definovaný předchůdce i následovník
- Boolean
- true/false – výsledek porovnání / logického výrazu
- Jazyk C nepodporuje – false = 0, true = cokoli
- Java, Pascal
- Orditální
Char
- Znak (‚a‘, ‚A‘, ‚g‘, ‚ ‚, ‚5‘, ‚%‚)
- v počítači reprezentován pomocí celého čísla
- Znaková sada ASCII nebo UNICODE (UTF-8)
Integer
- Definuje podmnožinu celých čísel, nejčastěji od -32768 do +32767
- Zabírá 2 byty (16 bitů)
- Operace s výsledky rovněž typu integer (sčítání, odčítání, násobení, dělení, zbytek po dělení)
- + Relační operace: =, < > , < , > , < =, > =
Neorditální
- Real
- Není jednoznačně určen předchůdce a následovník každé hodnoty
- Používá se pro vyjádření hodnot s pohyblivou desetinnou čárkou
- Hodnoty vyjádřeny dvojicí (M,N), kde M je mantisa a N je exponent.
- Rozsah od 2.9*10-39do 1.7*10+38 a zabírá 6 bytů (48 bitů) v paměti
- Také single, double, extended
Prázdné
- Void
- Nemá hodnotu, někde může být vyřešeno i hodnotou null / nil
- + zvláštní Generický datový typ (může obsahovat více datových typů)
Složené typy
- Array
- sdružuje daný a vždy konečný počet prvků (čísel, textových řetězců, …) stejného datového typu
- [21, -5, 11]
- String
- slouží k uložení konečné posloupnosti znaků
- „Ahoj“, “ “ , „loopback 127.0.0.1“
- Každý prvek pole má číslo – index, který určuje jeho pořadí (od 0)
- List
- Obdoba pole, ale nelze přímo použít index
- možné procházet pouze postupně, od začátku do konce
KLÍČE
- = databázová konstrukce
- U tabulky a konkrétního sloupce
- Fce:
- zrychlení vyhledávacích a dotazovacích procesů
- definování unikátní hodnoty sloupce
- optimalizace fulltextového vyhledávání
- Klíč se aplikuje na sloupec/ce
DRUHY KLÍČŮ
- Primární
- Jednoznačné označení záznamů
- Každá tabulka max jeden
- Nesmí obsahovat hodnotu NULL
- Nejčastěji ID
- Cizí
- V relačních databázích
- Určuje vztah mezi 2 tabulkami
- Hodnota v určeném sloupci jedné tabulky musí existovat v jiném primárním klíči
- Složený
- Speciální příklad klíče
- Jakýkoli klíč aplikovaný na 2+ sloupců
- Rychlejší než u jednoduchých klíčů
- Unikátní
- Zajišťuje v daném sloupci neopakování hodnoty
- Zvláštním případem je primární klíč
- Fulltextový
- Vyhledávání slova v textu
- Databáze zpracuje odstavec a zaznamená jednotlivá slova