Cvičení 7

Témata

Ukázka klíče

Úkoly

  1. Zkuste svůj návrh STAGu z minula (pokud jej nemáte, navrhněte) doplnit o vhodné klíče.
  2. Navrhněte vhodné tabulky s vhodný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ů
  3. Do databáze z příkladu 4 vložte nějaká data (ve skriptu - budete je vkládat vícekrát).
  4. Zkuste postupně ve (vždy nově vytvořené) instanci databáze z příkladu 4:
    • 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.
  5. Napište dotazy, které ověří platnost všech funkčních závislostí, které jsme odvodili na tabuli.
  6. Napište dotaz, který ověří neplatnost některé jiné (neplatné) funkční závislosti.
  7. Napište dotazy, které postupně vytvoří rozklad tabulky, až na tabulky, které neobsahuji redundanci (vizte tabule).
  8. Napište dotaz, který ověří, že výsledný rozklad je bezeztrátový.
  9. Zkuste udělat nějakou jiný rozklad, který bude ztratový.