8.2 používání a tvorba databází
8.2 Používání a tvorba databází
Slide 1
SadSam 2013
8.2 používání a tvorba databází
8.2.1 Základní pojmy z oblasti relačních databází
Slide 2
SadSam 2013
8.2 používání a tvorba databází
Databáze
~ Evidence
lidí peněz věcí ... výběry, výpisy, početní úkony Slide 3
SadSam 2013
8.2 používání a tvorba databází
Pojmy tabulka, pole, záznam Databáze = soustava navzájem propojených tabulek. Tabulka se zkládá z polí – jednotlivé sloupce (data různého typu), a záznamů – řádků, bývá jich (sta)tisíce.
Slide 4
SadSam 2013
8.2 používání a tvorba databází
Význam a nasazení databází Pro různé druhy evidovaných údajů – různé databázové aplikace. Účetnictví – příjmy a výdaje. Mzdy a perzonalistika – evidence pracovníků. Skladové hospodářství – evidence zboží. Řízení výroby – evidence výrobků. Adresář – evidence adres a přátel. U lékaře, ve škole, v bankách, odjezdy vlaků, ... Slide 5
SadSam 2013
8.2 používání a tvorba databází
Typické okno – Účetní systém Pohoda Editace vybraného záznamu
Seznam jednotlivých záznamů
Slide 6
SadSam 2013
8.2 používání a tvorba databází
Data, datové typy Data jsou uložena v navzájem propojených tabulkách. Data jsou uložena nezávisle na programu, který s nimi pracuje. Pole v tabulce jsou různých datových typů – definují se při vytváření tabulky. Text, čísla, datum, ... Slide 7
SadSam 2013
8.2 používání a tvorba databází
Primární klíč = jednoznačná identifikace záznamu, nebo-li pole, které má pro každý záznam unikátní hodnotu většinou je to pomocné pole s číslem řádku, při vytvoření nového záznamu se doplňuje automaticky nazývá se např. ID
Slide 8
SadSam 2013
8.2 používání a tvorba databází
Index a jeho význam pro rychlé vyhledávání Index je způsob řazení tabulky. Index vytvoří pomocný soubor s řazením tabulky podle určitého pole. K jedné tabulce může být více indexů. Protože se záznamy propojují pomocí klíčů v tabulce je primární klíč vždy současně indexem (ale ostatní indexy už klíči být nemusí).
Slide 9
SadSam 2013
8.2 používání a tvorba databází
Primární klíč a cizí klíč Máme dvě tabulky např. žáci a třídy, každá má svůj primární klíč. Propojím je v tzv. dotazu tak, že se k žákům bude před ID třídy načítat její název. Vytvoříme tzv. relaci mezi tabulkami. relační databáze Primární klíč tabulky třídy použijeme jako cizí klíč v tabulce žáci. Slide 10
SadSam 2013
8.2 používání a tvorba databází
Slide 11
SadSam 2013
8.2 používání a tvorba databází
Referenční integrita Integrita ~ konzistence dat obecně je chápána tak, že data odrážejí skutečný reálný stav. (Pokud odešel nějaký žák ze školy, měl by také být jeho záznam smazán v tabulce žáci.)
Referenční integrita představuje konzistenci vazeb mezi záznamy tabulek. Smažeme z tabulky třídy jeden záznam třeba, 2.N. Pokud ale v tabulce žáci existují záznamy, které obsahují vazbu na tuto třídu, bude porušena referenční integrita. Dnešní aplikace tuto situaci nepřipustí. Slide 12
SadSam 2013
8.2 používání a tvorba databází
Databáze klient-server Data uložena centrálně na serveru. Klienti ~ jednotlivé počítačové stanice mohou přistupovat k datům podle stanovených pravidel.
Slide 13
SadSam 2013
8.2 používání a tvorba databází
Databáze na serveru je většinou tvořena jedním velkým souborem, do jehož vnitřku nikdo nemůže nahlížet jinak než pomocí odpovídajícího databázového klienta ze stanice sítě. různá přístupová práva přístum z jakéhokoliv místa v síti výkonnost serveru – operace s daty archivace dat (vícenásobná) výpadky servru útoky nepovolanými osobami (z Internetu) Slide 14
SadSam 2013
8.2 používání a tvorba databází
8.2.2 Základy SQL
Slide 15
SadSam 2013
8.2 používání a tvorba databází
Jazyk SQL Structured Query Language = strukturovaný dotazovací jazyk obecný standartizovaný jazyk pro práci s databázemi obsahuje příkazy pro definici dat, přístupová práva k datům, manipulaci s daty, řízení transakcí, a další. Slide 16
SadSam 2013
8.2 používání a tvorba databází
Jazyk SQL je standartizovaný, proto může pracovat v různých databázových systémech téměř stejným způsobem tvůrci databází používají svá vlastní rozšíření, ale základní příkazy fungují všude je to vnitřní nástroj, proto když v e-shopu vyberete kategorii, program převede váš požadavek na dotaz SQL a pošle do databázového systému, ten ho provede a vrátí záznamy, splňující zadanou podmínku
Slide 17
SadSam 2013
8.2 používání a tvorba databází
Příkazy CREATE, ALTER, DROP – definice dat SELECT, INSERT, UPDATE, DELETE – manipulace s daty FROM, WHERE, ORDER BY – spojky, řazení dat Příklad: SELECT jmeno, prijmeni FROM zaci ORDER BY prijmeni SELECT * FROM zaci WHERE hodin>=50 ORDER BY hodin DESC Slide 18
SadSam 2013
8.2 používání a tvorba databází
Návrh databází návrh podnikové – složité – databáze je vysoce odborná činnost 1. Návrh konceptu řešení 2. Návrh logické struktury dat 3. Implementace návrhu do konkrétního db systému
Slide 19
SadSam 2013
8.2 používání a tvorba databází
Návrh konceptu Cílem je vytvořit odraz reálného problému ve formalizovatelné podobě. Používají se tzv. entity – samostatně definovatelné položky, které se v problému vyskytují. Je nutné formálně popsat jejich obsah, vztahy a vlastnosti (atributy). Např.: žáci, učitelé, třídy a jejich vazby, známky, systém klasifikace a jeho pravidla, atd. Slide 20
SadSam 2013
8.2 používání a tvorba databází
Relace Při rozboru entit je potřeba definovat vztahy mezi nimi pomocí různých typů relací: Relace 1 : 1 – př: třída – třídní učitel. Relace 1 : N – př: třída – žáci. Relace M : N – př: žáci – sportovní kroužky
Slide 21
SadSam 2013
8.2 používání a tvorba databází
Návrh struktury tabulek Návrh databáze sestává zejména z návrhu struktury potřebných tabulek a relací mezi nimi. K tomu se používají tzv. E-R (entiti-relantionship) diagramy. E-R diagram je složitý, vyjadřuje obsah, vztahy a vlastnosti (atributy) jednotlivých entit.
Slide 22
SadSam 2013
8.2 používání a tvorba databází
Slide 23
SadSam 2013
8.2 používání a tvorba databází
Návrh z E-R diagramu Každá entita – samostatná tabulka Přimární klíč – identifikátor entity Jednotlivé relace – propojení tabulek pomocí klíčů Vztahy M:N dělíme na M:1 a 1:N
Slide 24
SadSam 2013
8.2 používání a tvorba databází
Konec 8. kapitoly
Slide 25
SadSam 2013