KIV/ZIS - primární klíč každý řádek musí být unikátně identifikován tj. hodnota primárního klíče se v tabulce nesmí opakovat nejčastěji speciální sloupec id (celé číslo) teoreticky může být libovolného typu třeba i Ano/ne, pak ale může tabulka obsahovat maximálně 2 záznamy (viz požadavek na unikátnost klíče) 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íč úkol: vytvořte tabulku výsledků soutěžících, která bude obsahovat pouze 3 sloupce: rok pozice jmeno 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 - realizace vazeb 3 typy vazeb (viz minulé cvičení): 1:1, 1:N, M:N vazby se realizují pomocí tzv. cizích klíčů primární klíč z jedné tabulky se přenese do jiné tabulky u vazby M:N se navíc používá rozklad (viz dále) 3/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í Access: 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á 4/25
KIV/ZIS - vazba, cizí klíč cizí klíč id jmeno mesto_id 1 Martin 1 2 Franta 2 3 Alena 2 4 Jana 2 id mesto 1 Praha 2 Plzeň primární klíč ER model: osoba N 1 mesto 5/25
KIV/ZIS - vazba, cizí klíč 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 jmeno mesto_id 1 Martin 1 2 Franta 2 3 Alena 2 4 Jana 2 5 Jan 3 id mesto 1 Praha 2 Plzeň nejde 6/25
KIV/ZIS - vazba, cizí klíč úkol 1: načrtněte realizaci vazby mezi entitami zaměstnanec pracovní stůl každý zaměstnanec může mít jeden pracovní stůl, ale nemusí úkol 2: načrtněte realizaci vazby mezi entitami oblečení skříň ve které tabulce musí být cizí klíč a proč? 7/25
KIV/ZIS - vazba v Accessu úkol: připravte (vytvořte a naplňte) v Accessu následující tabulky neřešte klíče osoba id jmeno mesto_id 1 Martin 1 2 Franta 2 3 Alena 2 4 Jana 2 mesto id mesto 1 Praha 2 Plzeň 8/25
KIV/ZIS - vazba v Accessu záložka Návrh, tlačítko Relace 9/25
KIV/ZIS - vazba v Accessu přidat tabulky, které chceme provázat záložka Návrh, tlačítko Upravit relace tlačítko Vytvořit novou 10/25
KIV/ZIS - vazba v Accessu, integrita 11/25
KIV/ZIS - vazba M:N vazbu M:N nelze vytvořit přímo mezi tabulkami je potřeba rozložit pomocí nové tabulky na dvě vazby 1:N osoba M N autobus osoba 1 N N 1 osoba_autobus autobus 12/25
KIV/ZIS - vazba M:N úkol: vytvořte v Accessu tabulky a vazby osoba 1 N N 1 osoba_autobus autobus id jmeno 1 Martin 2 Franta 3 Alena 4 Jana osoba_id bus_id 1 6 3 6 3 7 id cislo 6 30 7 21 13/25
KIV/ZIS - vazba M:N rozkladová tabulka často neobsahuje další informace primární klíč v rozkladové tabulce se často skládá z obou cizích klíčů (ale může být i vlastní sloupec id) osoba osoba_autobus autobus id jmeno 1 Martin 2 Franta 3 Alena 4 Jana osoba_id bus_id 1 6 3 6 3 7 id cislo 6 30 7 21 prim. klíč cizí klíč 1 cizí klíč 2 14/25
KIV/ZIS - vazba M:N spojovací tabulka může obsahovat další informace např. v kolik kdo jakým autobusem jezdí není nutné kvůli tomu vytvářet další tabulku osoba osoba_autobus autobus id jmeno 1 Martin 2 Franta 3 Alena 4 Jana osoba_id bus_id cas 1 6 13:30 3 6 7:15 3 7 20:00 id cislo 6 30 7 21 prim. klíč cizí klíč 1 cizí klíč 2 15/25
KIV/ZIS - příklady u následujících úkolů nakreslete ERA model a načrtněte realizaci vazeb Úkol 1: Číšník a Stůl 1 stůl může být obsluhován více číšníky pamatujeme si i čas obsluhy Úkol 2: Student a Semestrální práce uvažujte situaci jako v ZIS, tj. seznam témat a jedno si vybere 16/25
KIV/ZIS - příklady Úkol 3: Jídlo a Ingredience ERA model před a po rozkladu Úkol 4: Trestanec a Věznice trestanec může být recidivista a pokaždé sedět jinde Úkol 5: Student a Termín zkoušky 17/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 18/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 19/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,... 20/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 21/25
KIV/ZIS - vlastnosti formulářových prvků kliknout na Seznam vlastností kliknout na prvek, který chci upravit změnit velikost písma 22/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ář 23/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 Úkol: přidejte do úvodního formuláře tlačítko pro otevření faktur 24/25
KIV/ZIS Děkuji za pozornost.