Cvičení 6
Témata cvičení
- DROP TABLE: CASCADE a RESTRICT
- Podmínky na rovnost (už známe)
- DELETE FROM (už známe)
- UPDATE (už známe)
- Skalární typy a CREATE/DROP DOMAIN
- Klíče:
- primární (PRIMARY)
- alternativní (UNIQUE)
- cizí (FOREIGN)
- Další poznámky:
- Vlastnosti klíčů
- Integrita databáze
- Atomicita příkazů
Úkoly
Vytvořte skalární typ pro:
- Čísla v rozsahu 100 až 200 (včetně hranic)
- PRO RADOST. Neřešte, pokud ještě neznáte regulární výrazy. Tříprvkové řetězce složené ze znaků ‘a’, ‘b’ a ‘c’ (nejspíš se budou hodit regulární výrazy - část 9.7.1).
Vytvořte relaci obsahující oba typy z příkladu 1. Zkuste vložit data porušující některá z omezení definovaných u typů.
Minule jsme viděli návrhy STAGu. Zkuste svůj návrh (pokud jej nemáte, navrhněte) doplnit o vhodná integritní omezení, klíče a skalární typy.
Ověřte svůj návrh integritních omezení pokusem o přidání různých nesprávných n-tic.
Navrhněte vhodné tabulky s vhodnými integritními omezeními a cizími klíči pro následující data (ve skriptu, budete jej spouštět a upravovat vícekrát):
- Tabulka adresa:
- Ulice
- Číslo popisné
- Město
- PSČ
- Tabulka zákazník:
- Jméno
- Adresa
- Tabulka objednávka:
- Číslo objednávky
- Zákazník
- Datum
- Vyřízena (True/False)
- Tabulka zboží:
- Název
- Cena
- Počet kusů skladem
- Tabulka položka objednávky:
- Zboží
- Počet kusů
- Tabulka adresa:
Do databáze z příkladu 5 vložte nějaká data (ve skriptu - budete je vkládat vícekrát).
Zkuste postupně ve (vždy nově vytvořené) instanci databáze z příkladu 5:
- smazat/upravit nějaká data s CASCADE a s RESTRICT. Zjistěte, co se v databázi stane.
- zrušit nějakou tabulku s CASCADE a s RESTRICT. Zjistěte, co se v databázi stane.