create table Adresa
( idAdresa int not null primary key,
  mesto varchar(64) not null);
  
create table Obchodnik
( idObchodnik int not null primary key,
  idManager int references Obchodnik( idObchodnik ),
  jmenoObchodnika varchar(64) not null,
  idAdresa int references Adresa( idAdresa ),
  provize double precision, 
  vekObchodnika int 
  );
CREATE UNIQUE INDEX jmenoObchodnik_idx ON Obchodnik(jmenoObchodnika);


create table Zakaznik
( idZakaznik int not null primary key,
  jmenoZakaznika varchar(64) not null,
  idAdresa int references Adresa( idAdresa ),
  bonita int,
  idObchodnik int references Obchodnik( idObchodnik ),
  vekZakaznika int
  );
CREATE UNIQUE INDEX jmenoZakaznik_idx ON Zakaznik(jmenoZakaznika);

 
create table ZboziKategorie
( idZboziKategorie int not null primary key,
  idObecnejsiKategorie int null references ZboziKategorie( idZboziKategorie ),
  popisKategorie varchar(128) not null
);

create table Zbozi
( idZbozi int not null primary key,
  idZboziKategorie int not null references ZboziKategorie( idZboziKategorie ),
  partNumber varchar(32) not null,
  popis varchar(128) not null,
  cenaKus double precision
 );
CREATE UNIQUE INDEX partNumber_idx ON Zbozi(partNumber);


create table Objednavka
( idObjednavka int not null primary key,
  datum date not null,
  idZakaznik int not null references Zakaznik( idZakaznik ),
  idObchodnik int not null references Obchodnik( idObchodnik),
  idZbozi int not null references Zbozi( idZbozi ),
  mnozstviKus int,
  cenaKus double precision
 );
 
create table Cislo
( idCislo int not null primary key
 );

insert into Adresa values( 4001, 'Praha' );
insert into Adresa values( 4002, 'České Budějovice' );
insert into Adresa values( 4003, 'Brno' );
insert into Adresa values( 4004, 'Plzeň' );
insert into Adresa values( 4005, 'Bratislava' );
insert into Adresa values( 4006, 'Karlovy Vary' );
insert into Adresa values( 4007, 'Jáchymov' );
insert into Adresa values( 4008, 'Košice' );
insert into Adresa values( 4009, 'Znojmo' );
insert into Adresa values( 4010, 'Nitra' );
insert into Adresa values( 4011, 'Prešov' );

insert into Obchodnik values( 1002, null, 'Novák', 4001, 0.20, 36 );
insert into Obchodnik values( 1001, 1002, 'Charvát', 4002, 0.10, 41 );
insert into Obchodnik values( 1003, 1002, 'Ryšavý', 4003, 0.10, 18 );
insert into Obchodnik values( 1004, 1002, 'Pilný', 4004, 0.10, null );
insert into Obchodnik values( 1005, null, 'Horvát', 4005, 0.15, null );
insert into Obchodnik values( 1006, 1002, 'Ujen', 4006, 0.20, 51 );
insert into Obchodnik values( 1007, 1006, 'Nhac', 4007, 0.10, null );
insert into Obchodnik values( 1008, 1005, 'Ferencz', 4008, 0.16, null );


insert into Zakaznik values( 2001, 'Matušičová', 4004, 10, 1001, null );
insert into Zakaznik values( 2002, 'Valouch', 4009, 20, 1003, 21 );
insert into Zakaznik values( 2003, 'Šímová', 4001, 25, 1002, 40 );
insert into Zakaznik values( 2004, 'Prudká', 4001, 30, 1002, 46 );
insert into Zakaznik values( 2005, 'Úsměvný', 4004, null, 1004, null );
insert into Zakaznik values( 2006, 'Minh', 4006, 30, 1006, null );
insert into Zakaznik values( 2007, 'Huong', 4007, 35, 1007, null );
insert into Zakaznik values( 2008, 'Dlouhykrok', 4010, 90, 1005, null );
insert into Zakaznik values( 2009, 'Bystrozraký', 4011, 10, null, null);
insert into Zakaznik values( 2010, 'Adamcová', 4001, 10, null, null);
insert into Zakaznik values( 2011, 'Adamec', 4001, 15, null, null);
insert into Zakaznik values( 2012, 'Šenekl', 4003, 15, 1003, 20);
insert into Zakaznik values( 2013, 'Ryšavý ml.', 4003, 5, 1003, 16);

insert into ZboziKategorie values( 6001, null, 'sportovni zboží' );
insert into ZboziKategorie values( 6002, 6001, 'sportovní zboží - outdoor - zima' );
insert into ZboziKategorie values( 6003, 6001, 'sportovni zboží - outdoor - leto' );
insert into ZboziKategorie values( 6004, 6001, 'sportovni zboží - indoor' );
insert into ZboziKategorie values( 6005, 6001, 'sportovni zboží - doplňky' );

insert into Zbozi values( 5001, 6002, 'part5001', 'zimní rukavice', 490.00 );
insert into Zbozi values( 5002, 6003, 'part5002', 'závodní kolo', 95000.00  );
insert into Zbozi values( 5003, 6003, 'part5003', 'kolečkové brusle', 1000.00  );
insert into Zbozi values( 5004, 6004, 'part5004', 'vybaveni tělocvičky', 110000.00  );
insert into Zbozi values( 5005, 6003, 'part5005', 'fotbalový míč', 1050.00  );
insert into Zbozi values( 5006, 6003, 'part5006', 'volejbalový míč', 1230.00  );
insert into Zbozi values( 5007, 6003, 'part5007', 'diabolka', 10.00  );
insert into Zbozi values( 5008, 6003, 'part5008', 'stan', 6800.00  );
insert into Zbozi values( 5009, 6004, 'part5009', 'pinpongový stul', 12000.00  );
insert into Zbozi values( 5010, 6002, 'part5010', 'běžky Fischer', 7500.00  );
insert into Zbozi values( 5011, 6002, 'part5011', 'větrovka Klimatex', 2500.00  );
insert into Zbozi values( 5012, 6002, 'part5012', 'větrovka Pumax', 1900.00  );
insert into Zbozi values( 5013, 6002, 'part5013', 'větrovka Adidas', 1249.00  );
insert into Zbozi values( 5014, 6002, 'part5014', 'ponožky modré', 69.00  );
insert into Zbozi values( 5015, 6002, 'part5015', 'ponožky černé', 69.00  );
insert into Zbozi values( 5016, 6002, 'part5016', 'ponožky červené', 69.00  );
insert into Zbozi values( 5101, 6005, 'part5101', 'stopky', 2500.00  );
insert into Zbozi values( 5102, 6005, 'part5102', 'sportovní náramek M2', 620.00  );
insert into Zbozi values( 5103, 6005, 'part5103', 'vodotěsné hodinky', 1190.00  );
insert into Zbozi values( 5104, 6005, 'part5104', 'Garmin pro běžce', 5200.00  );
insert into Zbozi values( 5105, 6005, 'part5105', 'Garmin pro plavce', 5200.00  );

insert into Objednavka values( 3001,  '3/10/2006', 2007, 1007, 5001, 1, 490.00 );
insert into Objednavka values( 3002,  '3/10/2006', 2007, 1002, 5002, 2, 95000.00  );
insert into Objednavka values( 3003,  '3/10/2006', 2001, 1001, 5003, 76, 1000.00  );
insert into Objednavka values( 3004,  '3/10/2008', 2006, 1006, 5003, 76, 1000.00  );
insert into Objednavka values( 3005,  '3/10/2006', 2003, 1002, 5005, 480, 1050.00  );
insert into Objednavka values( 3006,  '3/10/2006', 2007, 1007, 5006, 110, 1230.00  );
insert into Objednavka values( 3007,  '4/10/2006', 2004, 1002, 5007, 700, 10.00  );
insert into Objednavka values( 3008,  '5/10/2006', 2006, 1002, 5008, 10, 6700.00  );
insert into Objednavka values( 3009,  '4/10/2006', 2006, 1006, 5009, 10, 12000.00  );
insert into Objednavka values( 3010,  '6/10/2006', 2004, 1001, 5010, 1, 7400.00  );
insert into Objednavka values( 3011,  '6/10/2006', 2006, 1002, 5004, 1, 100000.00  );
insert into Objednavka values( 3020,  '4/10/2008', 2001, 1006, 5003, 1, 1000.00  );
insert into Objednavka values( 3021,  '4/10/2008', 2007, 1006, 5003, 1, 1000.00  );
insert into Objednavka values( 3022,  '4/10/2008', 2006, 1006, 5003, 1, 1000.00  );
insert into Objednavka values( 3023,  '6/10/2008', 2004, 1006, 5003, 1, 1000.00  );
insert into Objednavka values( 3024,  '6/10/2008', 2006, 1006, 5003, 1, 1000.00  );
insert into Objednavka values( 3025,  '6/10/2008', 2006, 1006, 5003, 1, 1000.00  );
insert into Objednavka values( 3026,  '7/10/2008', 2007, 1007, 5010, 1, 7600.00  );
insert into Objednavka values( 3027,  '3/10/2008', 2007, 1007, 5010, 1, 7800.00  );

insert into Cislo values( 1 );
insert into Cislo values( 2 );
insert into Cislo values( 3 );
insert into Cislo values( 4 );
insert into Cislo values( 5 );
insert into Cislo values( 6 );
insert into Cislo values( 7 );
insert into Cislo values( 8 );
insert into Cislo values( 9 );
insert into Cislo values( 10 );
insert into Cislo values( 11 );
insert into Cislo values( 12 );
