Tvorba www stránek v HTML a CSS (Ukázka, strana 99)

Page 1

označuje jako 1 : N. V tabulce výrobků může být číslo výrobku pouze jednou, kdežto v tabulce objednávek několikrát. Tabulka na straně 1 tvoří hlavní tabulku (anglicky parent table), tabulka na straně N propojenou tabulku (anglicky child table). Vztahy mezi tabulkami (označované jako relace) je možné do databáze trvale uložit. Relaci je výhodné vytvořit s tzv. referenční integritou. Použití referenční integrity zajistí, aby se záznamy v tabulkách vzájemně kontrolovaly, tedy aby se například nedala vytvořit objednávka pro neexistující výrobek. Pro vytvoření relace s referenční integritou je třeba, aby společné pole v hlavní tabulce tvořilo primární klíč a v propojené tabulce mělo regulární index. Společné pole v propojené tabulce se označuje jako cizí klíč. Relaci s referenční integritou vytvoříme tímto postupem: 1. Zobrazíme strukturu propojené tabulky. 2. Pod seznamem polí klepneme na příkaz Zobrazit relace. 3. Zvolíme propojené pole a v obou seznamech Interní relace a Omezení cizího klíče vybereme pole, v hlavní tabulce tvoří primární klíč. 4. V seznamech ON DELETE a ON UPDATE se nastaví automaticky volby RESTRICT, což znamená, že se relace vytvořila s referenční integritou. 5. Klepneme na tlačítko Proveď. Aby bylo možné vytvořit relaci s integritou, musí být splněny dvě podmínky: ◾◾ Data ve společných polích musí splňovat podmínky integrity, tedy společné pole v propojené tabulce nesmí obsahovat hodnotu, která není ve společném sloupci v hlavní tabulce. ◾◾ Společné sloupce musí mít stejný typ a délku (například u čísel nejde spojit typy INT a SMALLINT). Pokud nejsou tyto podmínky splněny, relace se sice vytvoří, ale bez integrity. Relace s vytvořenou referenční integritou omezuje práci s oběma tabulkami: ◾◾ Záznam vkládaný do propojené tabulky musí mít ve společném poli hodnotu, která existuje v primárním klíči nadřízené tabulky. ◾◾ Společné pole propojené tabulky lze přepsat pouze na hodnotu, která existuje v primárním klíči nadřízené tabulky. ◾◾ Společné pole nadřízené tabulky lze přepsat pouze tehdy, pokud pro hodnotu společného pole neexistují odpovídající záznamy v propojené tabulce. ◾◾ Záznam v nadřízené tabulce lze odstranit pouze tehdy, pokud pro hodnotu společného pole neexistují odpovídající záznamy v propojené tabulce.

4.1.13  Hodnota Null Při práci s tabulkovým kalkulátorem je běžné, že se prázdná buňka ve většině vzorců chápe jako nula. Obsah prázdné buňky a buňky se zapsanou nulou je kalkulátorem chápán stejně. U relačních databází včetně systému MySQL toto neplatí: do číselného pole není možně nic nezapsat nebo obsah pole zcela vymazat. Proto relační databáze umožňují vložit do většiny polí hodnotu Null, což znamená „nevím, neznámo“. Záznamy z tabulky je možné vybírat podle toho, zda je v některém poli hodnota Null nebo ne. Jestliže je hodnota Null zapsána v některém z číselných polí a toto pole použijeme při tvorbě vzorce, výsledkem výpočtu je vždy hodnota Null. Možnost zadávat hodnotu Null do pole není výchozí volbou. Aby to bylo možné, musíme u příslušného pole označit volbu Nulový.

98 Tvorba www stránek v HTML a CSS

Ukázka elektronické knihy, UID: KOS273348


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Tvorba www stránek v HTML a CSS (Ukázka, strana 99) by Kosmas-CZ - Issuu