SQL - tabulky a integritní omezení

Integritní omezení

Podívejte se na integritní omezení v dokumentaci PostgreSQL. Zejména na klíče:

Doporučuji pročíst celé. Z dalšího za zmínku stojí například

Výchozí hodnoty

Na přednášce jsme okrajově zmínili i výchozí hodnoty. Stručný popis najdete zde.

Probrané základní příkazy

Příkazy pro základní manipulaci s tabulkovými proměnnými - vytváření, plnění daty, mazání.

Odkazy do dokumentace. V dokumentaci je vždy sekce s příklady použití.

Další zajímavé odkazy

Úkoly

  1. Navrhněte strukturu databáze pro omezený STAG, kde chceme evidovat:
    • studenty
    • zaměstnance
    • předměty
    • rozvrhy
  2. Doplňte svůj návrh STAGu o vhodná integritní omezení a klíče.
  3. Ověřte svůj návrh integritních omezení pokusem o přidání různých nesprávných n-tic.
  4. Navrhněte tabulky s vhodnými sloupci, integritními omezeními a cizími klíči pro evidenci následujících dat (ve skriptu, budete jej spouštět a upravovat vícekrát):
    • Tabulka pro adresy:
      • Ulice
      • Číslo popisné
      • Město
      • PSČ
    • Tabulka pro zákazníky:
      • Jméno
      • Adresa
    • Tabulka pro objednávky:
      • Číslo objednávky
      • Zákazník
      • Datum
      • Vyřízena (True/False)
    • Tabulka pro zboží:
      • Název
      • Cena
      • Počet kusů skladem
    • Tabulka pro položky objednávky:
      • Zboží
      • Počet kusů
  5. Do databáze z příkladu 4 vložte nějaká data (ve skriptu - budete je vkládat vícekrát; klidně použijte LLM pro náhodná data).
  6. Zkuste postupně ve (vždy nově vytvořené) instanci databáze z příkladu 4:
    • zrušit nějakou tabulku s CASCADE a s RESTRICT u cizích klíčů. Zjistěte, co se v databázi stane.
    • (po probrání UPDATE/DELETE) smazat/upravit nějaká data s CASCADE a s RESTRICT u cizích klíčů. Zjistěte, co se v databázi stane.