ACCESS
L1 - Vytvoření databáze pomocí šablony, ukládání dat
L2 - Vytvoření prázdné databáze, vytvoření tabulky pomocí šablony
L3 - Vytvoření tabulky v návrhovém zobrazení - 1. část
L4 - Vytvoření tabulky v návrhovém zobrazení - 2. část
L5 - Import a export dat
L6 - Úprava tabulky, relace
L7 - Práce s daty v tabulkách
L8 - Řazení a filtrace dat - 1. část
L9 - Řazení a filtrace dat - 2. část
L10 - Výběrové dotazy - 1. část
L11 - Výběrové dotazy - 2. část
L12 - Křížové dotazy
L13 - Akční dotazy
L14 - Parametrické dotazy
L15 - Vytváření formulářů - 1. část
L16 - Vytváření formulářů - 2. část
L17 - Výpočty ve formulářích
L18 - Formulářové rozhraní pro uživatele
L19 - Sestavy
L20 - Výpočty v sestavách
L21 - Sestavy jako štítky
L22 - Makro - otevřít náhled sestavy
L23 - Makro - Zobrazit okno se zprávou
L24 - Makro - zavřít formulář
L25 - Makro - Zobrazit dotaz
Úvod do relačních databází
- základ - tabulka (více tabulek)
- vzájemně závislé, vazba - relace
- tabulka:
- sloupce - atributy (reprezentují vlastnosti, jedinečný název a typ podle toho, co chci ukládat)
- řádky - záznam (jednoznačný identifikátor - primární klíč), umělé klíče - automatické číslování, cizí klíč - které záznamy z jiných tabulek spolu navzájem souvisí
- SQL - standardizovaný strukturovaný dotazovací jazyk pro práci v relačních databázích
- vytvoř novou databázi,
- vytvoř novou tabulku,
- vlož data do tabulky,
- smaž data z tabulky,
Vazby (relace) mezi tabulkami
- relace = vztahy mezi tabulkami
- tři typy relací:
- 1 : 1
- 1 : N
- N : M
- relace 1 : 1
jeden záznam z jedné tabulky odpovídá jednomu záznamu z jiné tabulky
používá se ojediněle
zpřehlednění tabulek - tabulka občan <--> tabulka trvalé bydliště
občan - RC, jmeno, prijmeni, narozen, pohlavi
trvalé bydliště - RC, mesto, ulice, CP
šlo by spojit do jedné tabulky
propojeny pomocí RC - relace 1 : N
přiřazuje jednomu záznamu z tabulky více záznamů z jiné tabulky
nejpoužívanější relace - spisovatel <--> kniha
spisovatel - ID(prim. klíč), jmeno, prijmeni
kniha - ID(primární klíč), id_spisovatele (cizí klíč), nazev, popis - relace M : N
náročnější na realizaci
potřeba "nové" vazební tabulky, pomocí které původní tabulky propojíme - student <--> zapsane_predmety <--> predmety
student - id(PK), jmeno, prijmeni
zapsane_predmety - id_predmetu, id_studenta
predmety - id(PK), nazev, popis, garant
student může studovat více předmětů a zároveň předmět může mít zapsáno více studentů (jde o relaci M : N)
tabulky propojeny pomocí primárních klíčů a vazební tabulky
Základní datové typy
- číselné datové typy
- řetězcové typy
- datum a čas
- číselné datové typy
- TYNYINT - velmi malá celá čísla
- SMALLINT - malá celá čísla
- MEDIUMINT - středně velká celá čísla
- INT - běžně velká celá čísla
- BIGINT - velká celá čísla
- FLOAT - malá čísla v pohyblivé řádové čárce
- DOUBLE - velká čísla v pohyblivé řádové čárce
Normalizace relační databáze
- postup, jak správně navrhnout a vytvořit strukturu databáze
- Normální formy (NF)
- jak navrhnout tabulky, aby se zamezilo různým chybám s následnou prací s databází
duplicity
nekonzistentní data - existuje několik NF
1NF (první normální forma)
2NF
3NF
4NF
5NF
běžně se vyžaduje plnění prvních tří NF - 1NF - relace je v NF, pokud každý její atribut obsahuje jen atomické hodnoty (z pohledu databáze dále nedělitelné hodnoty)
- příklad 1NF:
tabulka: jmeno, prijmeni, telefony
rozdělit na atomické hodnoty - rozdělíme na dvě tabulky
tabulka osoba: id, jmeno, prijmeni, mesto, ulice, cp, psc
tabulka telefon: id_osoby, telefon - 2NF - relace se nachází v NF, pokud splňuje 1NF a každý neklíčový atribut je plně závislý na celém primárním klíči (nejen na jeho části)
- příklad 2NF:
u tabulek, které mají vícesloupcový primární klíč (mají-li jeden sloupec - automaticky splněno)
tab. sklad - nazev_vyrobku, vyrobce, tel_vyrobce, cena, mnozstvi
prim. klíč: nazev_vyrobku + vyrobce
položka tel_vyrobce - vztahuje se pouze k výrobci
jaký problém může nastat? vyproodáme všechny výrobky od jednoho výrobce a vymažeme záznamy ze skladu a tím ztratíme i číslo na výrobce - to nechci.
řešení: rozložíme na dvě tabulky - výrobek a výrobce
tabulka výrobek - nazev_vyrobku, id_vyrobce, cena, mnozstvi
tabulka výrobce - id, nazev, telefon - 3NF - splňuje předchozí dvě NF a všechny neklíčové atributy jsou vzájemně nezávislé
- příklad 3NF:
tabulka clanky - id, titulek, text, datum, autor, mail
mail závislý na autorovi víc než na ostatním
dvě tabulky - tabulka clanky a tabulka autori
tabulka clanky - id, id_autora, titulek, text, datum
tabulka autori - id, jmeno, email
tím je zajištěna 3NF