Základní terminologie – relační databázy
- SŘBD – Systém Řízení Báze Dat (DBMS – DataBase Management System): program, jenž obstarává přístup k údajům, uloženým v DB (komerční a drahé: Oracle, MS SQL Server, Sybase, Informix, Progress; zdarma: mSQL, MySQL a PostgreSQL)
- (SQL = Structured Query Language)
- relační databáze
- tabulka
- atribut
- záznam
- datový typ atributů (celá čísla, reálná čísla, datum, řetězce, logické hodnoty, …)
Vztahy mezi údaji
- indexy – význačné atributy (sloupce), které urychlují práci s databází a vytvářejí relace
- primární klíč (primary key) – jednoznačně identifikuje záznamy v tabulce. Každá tabulka má jediný primární klíč. Většinou je to jeden sloupec, ale může jít i o kombinaci více sloupců. Primární klíč je indexem.
- cizí klíč (foreign key) – atribut sloužící jako „odkaz“ na jinou tabulku; většinou se cizím klíčem z dané tabulky odkazuje na primární klíč v druhé tabulce. Pokud se tabulka účastní více vztahů s ostatními tabulkami může obsahovat i více cizích klíčů. Atribut, z něhož chceme udělat cizí klíč, musí být indexem.
- Vztah 1:1
- Vztah 1:N
- Vztah M:N
Modelování a návrh databáze
- návrh DB je velice komplikovaný a obtížný, vyžaduje mnoho zkušeností a praxe
- příklad pomůcky pro modelování: ER modelování – Entity-Relationship modeling
- obdélníky = entity = tabulky(objekty, které můžeme blíže popsat charakteristickými vlastnostmi)
- ovály = atributy (sloupce) dané entity (tabulky)
- kosočtverce = vztahy (relace) mezi entitami
- čáry přiřazují atributy entitám a vytváří relace (spojení) – tady 1, M, N
Postup při návrhu databáze
- Analýza systémových požadavků – obecné požadavky kladené na systém
- Určení a pojmenování entit v modelu, plus přiřazení vhodných atributů
- Stanovení vztahů – kardinalita relací – klíčový bod!
- Rozpoznání klíčových atributů
Na co si dát pozor
- začít entitami, pak dodefinovat atributy, nakonec určit relace
- do modelu začlenit jen takové entity, jejichž atributy jsou v modelu potřeba
- některé entity se dají snadno modelovat jako pouhé atributy (např. bydliště zákazníka)
- vyvarovat se zbytečných vztahů, modelovat jenom to, co potřebujete
- relace 1:1 jsou neobvyklé – prověřit, jestli se nejedná o jedinou entitu
- relace M:N jsou složité – pokud možno, používat raději 1:N
D1: Struktura databáze knihovny
Vytvořte strukturu databáze popsanou tímto diagramem. Nenechte se zmást tím, že se nejedná o diagram typu ER model, popsaný výše. Obdélníky jsou zde prostě tabulkami, jejichž atributy i s datovými typy jsou do nich vepsány v řádcích. Primárním klíčem je zde atribut, u něhož je symbol klíče, cizím klíčem je atribut spojen s jiným primárním klíčem (poznáte ho podle toho, že je u něj taková „chňapka“).
Po vytvoření struktury databáze v phpMyAdmin vytvořené tabulky exportujte (úroveň databáze -> Exportovat, formát SQL) a tabulky naimportujte do databáze na Vašem webzdarma účtu (opět úroveň databáze -> Importovat a dohledat exportovaný soubor). Podívejte se do Návrháře (dohledat opět z úrovně databáze), „učešte“ vytvořenou databázi a udělejte ze zobrazené struktury screenshot. Jak původně exportovaný soubor tak screenshot přidejte na své stránky pod úkol D1.