KIV/ZIS - primární klíč ●
každý řádek musí být unikátně identifikován
●
"speciální" sloupec, nejčastěji pojmenován id
●
může být libovolného typu –
●
třeba i Ano/ne, pak ale může tabulka obsahovat maximálně 2 záznamy
může být složený z více sloupců –
unikátnost je pak brána ze všech najednou, v jednotlivých sloupcích se tedy mohou opakovat stejné hodnoty
1/25
KIV/ZIS - primární klíč ●
mikroúkol –
vytvořte tabulku výsledků soutěžících, která bude obsahovat pouze 3 sloupce: ●
–
rok, pozice, jméno
vytvořte primární klíč z roku a pozice a ověřte vložením hodnot, že se mohou roky opakovat, pokud jsou pozice rozdílné
2/25
KIV/ZIS - cizí klíč ●
●
●
●
●
●
"speciální" sloupec, nejčastěji s příponou _id odkazuje se na primární klíč v jiné tabulce, odkazuje se na právě 1 tabulku dvojice primární a cizí klíč tvoří vazbu (relaci) mezi tabulkami cizí klíč musí být stejného typu a velikosti jako primární je-li primární klíč typu Automatické číslo, pak musí být cizí klíč dlouhé celé číslo je-li primární klíč složený, musí být struktura cizího klíče stejná 3/25
KIV/ZIS - vazba, ER šipky cizí klíč id 1
jmeno mesto_id Martin 1
3
Franta 2 Alena 2
4
Jana
2
id mesto 1
Praha
2
Plzeň
2
primární klíč
ER model:
lidé
N
1
mesta 4/25
KIV/ZIS - mikroúkol ●
připravte (vytvořte a naplňte) následující tabulky –
neřešte klíče
lidi id 1
jmeno mesto_id Martin 1
3
Franta 2 Alena 2
4
Jana
2
mesta id mesto 1
Praha
2
Plzeň
2
5/25
KIV/ZIS - vazba ●
referenční integrita –
databáze nedovolí do cizího klíče vložit hodnotu, která neexistuje v primárním klíči v cílové tabulce id 1
jmeno mesto_id Martin 1
3
Franta 2 Alena 2
4
Jana
2
5
Jan
3
2
id mesto 1
Praha
2
Plzeň
nejde
6/25
KIV/ZIS - vazba, vytvoření ●
záložka Návrh, tlačítko Relace
7/25
KIV/ZIS - vazba, vytvoření ●
přidat tabulky, které chceme provázat
●
záložka Návrh, tlačítko Upravit relace
●
tlačítko Vytvořit novou
8/25
KIV/ZIS - vazba, integrita
9/25
KIV/ZIS - M:N vazba ●
M:N vazbu nelze vytvořit přímo mezi tabulkami, je potřebná spojovací tabulka M
lidi
lidi
1
N
N
lidi_autobusy
autobusy
N
1
autobusy
10/25
KIV/ZIS - M:N vazba ●
mikroúkol - vytvořte tabulky a vazby lidi
id
jmeno
1
Martin
2
Franta
3
Alena
4
Jana
1
M
id
lidi_autobusy
N
clovek_id bus_id
1
autobusy
id
cislo
10
1
6
6
30
11
3
6
7
21
12
3
7
prim. klíč cizí klíč 1 cizí klíč 2 11/25
KIV/ZIS - M:N vazba ●
●
spojovací tabulka většinou neobsahuje další informace je-li předpoklad, že se M:N vazby mezi konkrétními řádky nebudou opakovat, pak lze sloupeček id vynechat a primární klíč vytvořit jako složený z obou cizích klíčů clovek_id bus_id
id
jmeno
1
Martin
1
6
id
cislo
2
Franta
3
6
6
30
3
Alena
3
7
7
21
4
Jana prim. klíč
cizí klíč 1
cizí klíč 2 12/25
KIV/ZIS - M:N vazba ●
spojovací tabulka může obsahovat další informace –
např. v kolik kdo jakým autobusem jezdi
–
není nutné kvůli tomu vytvářet další tabulku
id
jmeno
1
Martin
2
Franta
3
Alena
4
Jana
clovek_id bus_id
cas
1
6
13:30
3
6
7:15
3
7
20:00
id
cislo
6
30
7
21
13/25
KIV/ZIS - M:N vazba
kniha_jizd
N 1
N
zamestnanci
N
1 sluzebni_auta
M
? 14/25
KIV/ZIS - M:N vazba
N kniha_jizd
N 1
N
N
1 sluzebni_auta
M
zamestnanci
M
? 15/25
KIV/ZIS - formuláře ●
stáhněte z webu a otevřete 3_fakturace.accdb
●
otevřete tabulku faktury
●
●
vytvořte k ní formulář - záložka Vytvoření, tlačítko Formulář oproti dřívějším experimentům s formuláři Access vytvořil kromě polí pro fakturu ještě podtabulku pro položky faktury díky vytvořeným vazbám mezi tabulkami
16/25
KIV/ZIS - formuláře ●
stáhněte z webu a otevřete 3_fakturace.accdb
●
otevřete tabulku faktury
●
●
vytvořte k ní formulář - záložka Vytvoření, tlačítko Formulář oproti dřívějším experimentům s formuláři Access vytvořil kromě polí pro fakturu ještě podtabulku pro položky faktury díky vytvořeným vazbám mezi tabulkami
17/25
KIV/ZIS - formuláře ●
●
●
●
otevřete tabulku adresar a vytvořte k ní formulář Access opět vytvořil podtabulku s navázanými fakturami, ale tu zde nebudeme potřebovat, smažte jí uložte a zavřete oba formuláře
aby byl náš fakturační program uživatelsky přívětivý, budeme potřebovat úvodní rozcestník
18/25
KIV/ZIS - formulář od píky ●
záložka Vytvoření, tlačítko Návrh formuláře
●
možnost vyskládat vstupní a ovládací prvky dle libosti
●
textové pole, popisek, tlačítko, ...
19/25
KIV/ZIS - vstupní formulář ●
např. chci velký nadpis
●
vybrat prvek Popisek
●
kliknout na plátno, kde bude prvek umístěn
●
vyplnit text popisku, např. Fakturace
●
je malý, nutno upravit jeho vlastnosti
20/25
KIV/ZIS - vlastnosti formulářových prvků ●
kliknout na Seznam vlastností
●
kliknout na prvek, který chci upravit
●
změnit velikost písma 21/25
KIV/ZIS - tlačítka ●
rozcestník by měl dokázat otevřít formulář pro adresář a faktury –
2 tlačítka
–
vložit tlačítko
–
v otevřeném dialogu Průvodce lze navolit, co se má stát, když se na tlačítko klikne ●
chceme otevřít příslušný formulář
22/25
KIV/ZIS - otevření formuláře ●
Operace s formuláři - Otevřít formulář
●
volba formuláře
●
Otevřít formulář a zobrazit všechny záznamy
●
Text: např. Adresář
●
Zadejte název tlačítka: např. tlacitko_adresar
23/25
KIV/ZIS - mikroúkol ●
přidejte do úvodního formuláře tlačítko pro otevření faktur
KIV/ZIS
Děkuji za pozornost.