Transakce a integritní omezení

Table of Contents

Úrovně izolace transakce

Úkoly

  1. Pro následující data ověřte funkci příkazů BEGIN, COMMIT a ROLLBACK. Dále doplňte vhodný cizí klíč a ověřte jeho funkci pro různé varianty porušené integrity a jejich chování (RESTRICT, CASCADE, SET NULL).

    create table lide (
    jmeno varchar(50) primary key,
    bydliste varchar(50),
    vek int,
    plat numeric(8,2));
    
    create table deti (
    jmeno varchar(50),
    rodic varchar(50),
    vek int, 
    studuje boolean,
    primary key (jmeno, rodic));
    
    insert into lide (jmeno, bydliste, vek, plat) values
    ('Alice', 'Praha', 30, 45000),
    ('Bob', 'Brno', 28, 30150),
    ('Cyril', 'Brno', 70, 27000),
    ('David', 'Olomouc', 45, 13000),
    ('Ivan', 'Olomouc', 70, 6500),
    ('Jana', 'Praha', 35, 12300);
    
    insert into deti (jmeno, rodic, vek, studuje) values
    ('Eva', 'Bob', 15, 't'),
    ('Filip', 'David', 12, 't'),
    ('Gustav', 'David', 40, 'f'),
    ('Hubert', 'Cyril', 3 , 'f'),
    ('Karel', 'Mirek', 15, 't');
    
  2. Navrhňete vhodné tabulky s vhodnými integritními omezeními a cízími klíči pro následující data:
    • Tabulka adresa:
      • Ulice
      • Číslo popisné
      • Město
      • PSČ
    • Tabulka odběratel:
      • Jméno
      • IČO
      • Adresa
    • Tabulka faktura:
      • Číslo faktury
      • Odběratel
      • Datum vystavení
    • Tabulka položka faktury:
      • Název zboží
      • Měrná jednotka
      • Jednotková cena
      • Množství
  3. Naplňte výše uvedené tabulky. A vytvořte následující dotazy nebo pohledy.
    • Pohled: faktura + její celková cena
    • Pohled: odběratelé a celková zaplacená částka
    • Dotaz: na kterém zboží bylo nejvíc utrženo
    • Dotaz: na kterém zboží bylo nejvíc utrženo podle města

Author: Petr Krajča

Created: 2020-11-11 Wed 11:13

Validate