Transakce a integritní omezení
Table of Contents
Úrovně izolace transakce
Úkoly
Pro následující data ověřte funkci příkazů
BEGIN
,COMMIT
aROLLBACK
. 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');
- 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í
- Tabulka adresa:
- 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