set echo on;

Drop table Hodnoceni cascade constraints;
Table dropped.

Drop table Zkusenost cascade constraints;
Table dropped.

Drop table Jezdec cascade constraints;
Table dropped.

Drop table Zavod cascade constraints;
Table dropped.

Drop table Disciplina cascade constraints;
Table dropped.

Drop table Lokace cascade constraints;
Table dropped.

Drop table Obchod cascade constraints;
Table dropped.

Drop table Komponent cascade constraints;
Table dropped.

Drop table Vidlice cascade constraints;
Table dropped.

Drop table Plast cascade constraints;
Table dropped.

Drop table Ram cascade constraints;
Table dropped.

Drop table Nakup cascade constraints;
Table dropped.

Drop table pouziva cascade constraints;
Table dropped.

Drop table ma_rad cascade constraints;
Table dropped.

Drop table se_ucastnil cascade constraints;
Table dropped.

COMMIT;
Commit complete.


Create table Hodnoceni (
Sortiment Integer Not Null,
Ceny Integer Not Null,
Privetivost Integer Not Null,
Slovni_hodnoceni VarChar2(255) Null,
Ob_Nazev VarChar2(50) Not Null,
Je_ID_jezdce Integer Not Null,
Constraint PK_Hodnoceni Primary Key (Ob_Nazev, Je_ID_jezdce)
);
Table created.

COMMIT;
Commit complete.


Create table Zkusenost (
Slovni_hodnoceni VarChar2(255) Null,
Hodnoceni Integer Not Null,
Cena_vykon Integer Not Null,
Ko_Vyrobce VarChar2(50) Not Null,
Ko_Model VarChar2(50) Not Null,
Ko_Rok_vyroby Char(4) Not Null,
Je_ID_jezdce Integer Not Null,
Constraint PK_Zkusenost Primary Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby, Je_ID_jezdce)
);
Table created.

COMMIT;
Commit complete.


Create table Jezdec (
Jmeno VarChar2(30) Not Null,
Prijmeni VarChar2(30) Not Null,
E_mail VarChar2(50) Null,
ID_jezdce Integer Not Null,
Prezdivka VarChar2(50) Not Null,
Constraint PK_Jezdec Primary Key (ID_jezdce)
);
Table created.

COMMIT;
Commit complete.


Create table Zavod (
Nazev VarChar2(100) Not Null,
Startovne Float Null,
Datum Date Not Null,
Di_Nazev VarChar2(30) Not Null,
Lo_Nazev VarChar2(50) Not Null,
Constraint PK_Zavod Primary Key (Datum, Di_Nazev, Lo_Nazev)
);
Table created.

COMMIT;
Commit complete.


Create table Disciplina (
Nazev VarChar2(30) Not Null,
Popis VarChar2(255) Null,
Constraint PK_Disciplina Primary Key (Nazev)
);
Table created.

COMMIT;
Commit complete.


Create table Lokace (
Nazev VarChar2(50) Not Null,
Umisteni VarChar2(255) Null,
Popis VarChar2(255) Null,
Constraint PK_Lokace Primary Key (Nazev)
);
Table created.

COMMIT;
Commit complete.


Create table Obchod (
Nazev VarChar2(50) Not Null,
WWW VarChar2(100) Null,
Adresa VarChar2(255) Not Null,
Constraint PK_Obchod Primary Key (Nazev)
);
Table created.

COMMIT;
Commit complete.


Create table Komponent (
Model VarChar2(50) Not Null,
Vyrobce VarChar2(50) Not Null,
Rok_vyroby Char(4) Not Null,
Constraint PK_Komponent Primary Key (Vyrobce, Model, Rok_vyroby)
);
Table created.

COMMIT;
Commit complete.


Create table Vidlice (
Zdvih Float Not Null,
Ko_Vyrobce VarChar2(50) Not Null,
Ko_Model VarChar2(50) Not Null,
Ko_Rok_vyroby Char(4) Not Null,
Constraint PK_Vidlice Primary Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby)
);
Table created.

COMMIT;
Commit complete.


Create table Plast (
Sirka Float Not Null,
Ko_Vyrobce VarChar2(50) Not Null,
Ko_Model VarChar2(50) Not Null,
Ko_Rok_vyroby Char(4) Not Null,
Constraint PK_Plast Primary Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby)
);
Table created.

COMMIT;
Commit complete.


Create table Ram (
Velikost Float Not Null,
Ko_Vyrobce VarChar2(50) Not Null,
Ko_Model VarChar2(50) Not Null,
Ko_Rok_vyroby Char(4) Not Null,
Constraint PK_Ram Primary Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby)
);
Table created.

COMMIT;
Commit complete.


Create table Nakup (
Cena Float Not Null,
Datum Date Not Null,
Je_ID_jezdce Integer Not Null,
Ko_Vyrobce VarChar2(50) Not Null,
Ko_Model VarChar2(50) Not Null,
Ko_Rok_vyroby Char(4) Not Null,
Ob_Nazev VarChar2(50) Not Null,
Constraint PK_Nakup Primary Key (Datum, Je_ID_jezdce, Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby, Ob_Nazev)
);
Table created.

COMMIT;
Commit complete.


Create table pouziva (
Role11_ID_jezdce Integer Not Null,
Role23_Vyrobce VarChar2(50) Not Null,
Role23_Model VarChar2(50) Not Null,
Role23_Rok_vyroby Char(4) Not Null,
Constraint UNQ_pouziva_1 Unique (Role11_ID_jezdce, Role23_Vyrobce, Role23_Model, Role23_Rok_vyroby)
);
Table created.

COMMIT;
Commit complete.


Create table ma_rad (
Role6_Nazev VarChar2(30) Not Null,
Role3_ID_jezdce Integer Not Null,
Constraint UNQ_ma_rad_1 Unique (Role6_Nazev, Role3_ID_jezdce)
);
Table created.

COMMIT;
Commit complete.


Create table se_ucastnil (
Role9_Datum Date Not Null,
Role9_Di_Nazev VarChar2(30) Not Null,
Role9_Lo_Nazev VarChar2(50) Not Null,
Role10_ID_jezdce Integer Not Null,
Constraint UNQ_se_ucastnil_1 Unique (Role9_Datum, Role9_Di_Nazev, Role9_Lo_Nazev, Role10_ID_jezdce)
);
Table created.

COMMIT;
Commit complete.


Alter table Hodnoceni add (
Constraint FK_Hodnoceni_1 Foreign Key (Ob_Nazev) References Obchod(Nazev),
Constraint FK_Hodnoceni_2 Foreign Key (Je_ID_jezdce) References Jezdec(ID_jezdce)
);
Table altered.

Alter table Zkusenost add (
Constraint FK_Zkusenost_1 Foreign Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby) References Komponent(Vyrobce, Model, Rok_vyroby),
Constraint FK_Zkusenost_2 Foreign Key (Je_ID_jezdce) References Jezdec(ID_jezdce)
);
Table altered.

Alter table Zavod add (
Constraint FK_Zavod_1 Foreign Key (Di_Nazev) References Disciplina(Nazev),
Constraint FK_Zavod_2 Foreign Key (Lo_Nazev) References Lokace(Nazev)
);
Table altered.

Alter table Vidlice add (
Constraint FK_Vidlice_1 Foreign Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby) References Komponent(Vyrobce, Model, Rok_vyroby)
);
Table altered.

Alter table Plast add (
Constraint FK_Plast_1 Foreign Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby) References Komponent(Vyrobce, Model, Rok_vyroby)
);
Table altered.

Alter table Ram add (
Constraint FK_Ram_1 Foreign Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby) References Komponent(Vyrobce, Model, Rok_vyroby)
);
Table altered.

Alter table Nakup add (
Constraint FK_Nakup_1 Foreign Key (Je_ID_jezdce) References Jezdec(ID_jezdce),
Constraint FK_Nakup_2 Foreign Key (Ko_Vyrobce, Ko_Model, Ko_Rok_vyroby) References Komponent(Vyrobce, Model, Rok_vyroby),
Constraint FK_Nakup_3 Foreign Key (Ob_Nazev) References Obchod(Nazev)
);
Table altered.

Alter table pouziva add (
Constraint FK_pouziva_1 Foreign Key (Role11_ID_jezdce) References Jezdec(ID_jezdce),
Constraint FK_pouziva_2 Foreign Key (Role23_Vyrobce, Role23_Model, Role23_Rok_vyroby) References Komponent(Vyrobce, Model, Rok_vyroby)
);
Table altered.

Alter table ma_rad add (
Constraint FK_ma_rad_1 Foreign Key (Role6_Nazev) References Disciplina(Nazev),
Constraint FK_ma_rad_2 Foreign Key (Role3_ID_jezdce) References Jezdec(ID_jezdce)
);
Table altered.

Alter table se_ucastnil add (
Constraint FK_se_ucastnil_1 Foreign Key (Role9_Datum, Role9_Di_Nazev, Role9_Lo_Nazev) References Zavod(Datum, Di_Nazev, Lo_Nazev),
Constraint FK_se_ucastnil_2 Foreign Key (Role10_ID_jezdce) References Jezdec(ID_jezdce)
);
Table altered.

COMMIT;
Commit complete.


ALTER SESSION SET nls_date_format='yyyy-mm-dd';
Session altered.


/* vymazání obsahu všech tabulek */
DELETE FROM pouziva;
0 rows deleted.

DELETE FROM se_ucastnil;
0 rows deleted.

DELETE FROM ma_rad;
0 rows deleted.

DELETE FROM zkusenost;
0 rows deleted.

DELETE FROM hodnoceni;
0 rows deleted.

DELETE FROM nakup;
0 rows deleted.

DELETE FROM zavod;
0 rows deleted.


DELETE FROM lokace;
0 rows deleted.

DELETE FROM disciplina;
0 rows deleted.

DELETE FROM jezdec;
0 rows deleted.

DELETE FROM ram;
0 rows deleted.

DELETE FROM vidlice;
0 rows deleted.

DELETE FROM plast;
0 rows deleted.

DELETE FROM komponent;
0 rows deleted.

DELETE FROM obchod;
0 rows deleted.

COMMIT;
Commit complete.


/* tabulka LOKACE */
INSERT INTO lokace (nazev, umisteni, popis) VALUES ('BMX Bohnice', 'Praha', '');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('BMX Řepy', 'Praha', '');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('4X Kaplice', 'Kaplice', '');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('4X Rokytnice', 'Rokytnice nad Jizerou', '');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('4X Litoměřice', 'Litoměřice', '');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('DH Špindl', 'Špindlerův Mlýn', '');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('Štvanice', 'Praha', 'Streetový park.');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('Točná', 'Praha', 'Singletrack v lese.');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('Ještěd', 'Liberec', 'Sjezdová trať a dirty.');
1 row created.

INSERT INTO lokace (nazev, umisteni, popis) VALUES ('Monte Bú', 'Brno', 'Trať vhodná pro dual.');
1 row created.

COMMIT;
Commit complete.


/* tabulka DISCIPLINA */
INSERT INTO disciplina (nazev, popis) VALUES ('4X', 'FourCross - čtyři jezdci v jedné dráze na kratším svahu, skoky, klopené zatáčky. ');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('DH', 'Sjezd (DownHill) - jezdí se po jednom, měří se čas, jede se po vyznačené trase s dlouhého kopce se skoky.');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('XC', 'CrossCountry - jezdcí se dokola na vyznačené trase vedoucí většinou lesem.');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('FR', 'FreeRide - volná jízda přírodou se skoky a dropy.');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('BMX', 'Bikros - až osm jezdců na dráze umístěné na rovině, skoky, klopené zatáčky.');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('Dirt', 'Několik velkých skoků umístěných za sebou, hodnotí se kvalita triku provedeného ve vzduchu.');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('Flat', 'FlatLand - jezdcí se na rovné čtvercové ploše, hodnotí se kvalita předvedených triků.');
1 row created.

INSERT INTO disciplina (nazev, popis) VALUES ('Street', 'Jezdí se ve speciálním street-parku se skoky, zábradlími, plošinami.');
1 row created.

COMMIT;
Commit complete.


/* tabulka JEZDEC */
INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('1', 'Marek', 'Handl', 'Mareen', 'mean.marine@seznam.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('2', 'Michal', 'Andera', 'Bandy', 'bandaska@seznam.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('3', 'Jan', 'Schuster', 'Jenda', 'schusti@centrum.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('4', 'Jakub', 'Antoš', 'Anťák', 'anti@yahoo.com');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('5', 'Tomáš', 'Andera', 'Malej Bandy', 'tom@quick.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('6', 'Jakub', 'Růžička', 'Xom', 'xom@centrum.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('7', 'Štěpán', 'Grundl', 'GrindMaster', 'grinda@seznam.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('8', 'Pavel', 'Herink', 'Pafka', 'pafaa@centrum.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('9', 'Michal', 'Benest', 'Michál', 'michaal@centrum.cz');
1 row created.

INSERT INTO jezdec (ID_jezdce, jmeno, prijmeni, prezdivka, e_mail) VALUES ('10', 'Martin', 'Holý', 'Hobit', 'hobit@seznam.cz');
1 row created.

COMMIT;
Commit complete.


/* tabulka KOMPONENT */
INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Marin', 'BearValley', '1998');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('RaceBike', 'Bandit DS', '2002');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Blackhorse', 'Blackhorse', '2003');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('LeaderFox', 'Dragstar', '2003');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Specialized', 'P2', '2005');
1 row created.


INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Manitou', 'X-Fly', '2002');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Marzocchi', 'DirtJumper III', '2004');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Marzocchi', 'DirtJumper II', '2005');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Manitou', 'Clevet', '2003');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('RockShox', 'Judy', '2000');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('RockShox', 'Quadra', '1998');
1 row created.


INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Maxxis', 'High Roller', '2004');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Maxxis', 'High Roller', '2003');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Maxxis', 'Minion DH', '2004');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Nokian', 'Rocker', '2003');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Maxxis', 'Bling Bling', '2003');
1 row created.

INSERT INTO komponent (vyrobce, model, rok_vyroby) VALUES ('Tioga', 'Factory DH', '2000');
1 row created.

COMMIT;
Commit complete.


/* tabulka RAM (podtyp entity KOMPONENT) */
INSERT INTO ram (ko_vyrobce, ko_model, ko_rok_vyroby, velikost) VALUES ('Marin', 'BearValley', '1998', '14');
1 row created.

INSERT INTO ram (ko_vyrobce, ko_model, ko_rok_vyroby, velikost) VALUES ('RaceBike', 'Bandit DS', '2002', '14');
1 row created.

INSERT INTO ram (ko_vyrobce, ko_model, ko_rok_vyroby, velikost) VALUES ('Blackhorse', 'Blackhorse', '2003', '13');
1 row created.

INSERT INTO ram (ko_vyrobce, ko_model, ko_rok_vyroby, velikost) VALUES ('LeaderFox', 'Dragstar', '2003', '16');
1 row created.

INSERT INTO ram (ko_vyrobce, ko_model, ko_rok_vyroby, velikost) VALUES ('Specialized', 'P2', '2005', '13');
1 row created.

COMMIT;
Commit complete.


/* tabulka VIDLICE (podtyp entity KOMPONENT) */
INSERT INTO vidlice (ko_vyrobce, ko_model, ko_rok_vyroby, zdvih) VALUES ('Manitou', 'X-Fly', '2002', '10');
1 row created.

INSERT INTO vidlice (ko_vyrobce, ko_model, ko_rok_vyroby, zdvih) VALUES ('Marzocchi', 'DirtJumper III', '2004', '13');
1 row created.

INSERT INTO vidlice (ko_vyrobce, ko_model, ko_rok_vyroby, zdvih) VALUES ('Marzocchi', 'DirtJumper II', '2005', '8');
1 row created.

INSERT INTO vidlice (ko_vyrobce, ko_model, ko_rok_vyroby, zdvih) VALUES ('Manitou', 'Clevet', '2003', '12');
1 row created.

INSERT INTO vidlice (ko_vyrobce, ko_model, ko_rok_vyroby, zdvih) VALUES ('RockShox', 'Judy', '2000', '10');
1 row created.

INSERT INTO vidlice (ko_vyrobce, ko_model, ko_rok_vyroby, zdvih) VALUES ('RockShox', 'Quadra', '1998', '6');
1 row created.

COMMIT;
Commit complete.


/* tabulka PLAST (podtyp entity KOMPONENT) */
INSERT INTO plast (ko_vyrobce, ko_model, ko_rok_vyroby, sirka) VALUES ('Maxxis', 'High Roller', '2004', '2.3');
1 row created.

INSERT INTO plast (ko_vyrobce, ko_model, ko_rok_vyroby, sirka) VALUES ('Maxxis', 'High Roller', '2003', '2.3');
1 row created.

INSERT INTO plast (ko_vyrobce, ko_model, ko_rok_vyroby, sirka) VALUES ('Maxxis', 'Minion DH', '2004', '2.5');
1 row created.

INSERT INTO plast (ko_vyrobce, ko_model, ko_rok_vyroby, sirka) VALUES ('Nokian', 'Rocker', '2003', '2.5');
1 row created.

INSERT INTO plast (ko_vyrobce, ko_model, ko_rok_vyroby, sirka) VALUES ('Maxxis', 'Bling Bling', '2003', '2.3');
1 row created.

INSERT INTO plast (ko_vyrobce, ko_model, ko_rok_vyroby, sirka) VALUES ('Tioga', 'Factory DH', '2000', '2.1');
1 row created.

COMMIT;
Commit complete.


/* tabulka OBCHOD */
INSERT INTO obchod (nazev, adresa, www) VALUES ('Dookie', 'Seifertova 27, Praha 2', 'www.dookie.cz');
1 row created.

INSERT INTO obchod (nazev, adresa, www) VALUES ('901 Bikes', 'Lidická 35, Praha 1', '');
1 row created.

INSERT INTO obchod (nazev, adresa, www) VALUES ('Katmar', 'Vltavská 103, Praha 6', '');
1 row created.

INSERT INTO obchod (nazev, adresa, www) VALUES ('Bike Kellys Seky', 'Pod Nuselským mostem 32, Praha 4', '');
1 row created.

INSERT INTO obchod (nazev, adresa, www) VALUES ('Madla Sport', 'Drahenická 10, Blatná', 'www.madla.cz');
1 row created.

COMMIT;
Commit complete.


/* tabulka ZAVOD (identifikačně závisí na LOKACE a DISCIPLINA) */
INSERT INTO zavod (nazev, di_nazev, lo_nazev, datum, startovne) VALUES ('Eliminátor', '4X', '4X Litoměřice', '2005-05-25', '100');
1 row created.

INSERT INTO zavod (nazev, di_nazev, lo_nazev, datum, startovne) VALUES ('Czech 4X Cup Rokytnice', '4X', '4X Rokytnice', '2005-07-16', '');
1 row created.

INSERT INTO zavod (nazev, di_nazev, lo_nazev, datum, startovne) VALUES ('Czech DH Cup Špindlerův Mlýn', 'DH', 'DH Špindl', '2005-11-09', '80');
1 row created.

INSERT INTO zavod (nazev, di_nazev, lo_nazev, datum, startovne) VALUES ('Mystic Cup', 'Street', 'Štvanice', '2005-03-31', '');
1 row created.

INSERT INTO zavod (nazev, di_nazev, lo_nazev, datum, startovne) VALUES ('FreeRide na Ještědu', 'FR', 'Ještěd', '2005-08-25', '200');
1 row created.

COMMIT;
Commit complete.


/* tabulka ZKUSENOST (identifikačně závisí na JEZDEC a KOMPONENT) */
INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('1', 'Marin', 'BearValley', '1998', '2', '2', 'Na XC výborný rám, lze použít i na freestylové začátky.');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('1', 'Marzocchi', 'DirtJumper III', '2004', '1', '2', 'Vydrží, ale je těžká a nemá moc dobrý chod.');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('1', 'Maxxis', 'Minion DH', '2004', '1', '1', '');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('1', 'Maxxis', 'High Roller', '2004', '2', '2', 'V zatáčkách to není ono.');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('3', 'Specialized', 'P2', '2005', '2', '1', '');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('6', 'Nokian', 'Rocker', '2003', '4', '2', '');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('1', 'RockShox', 'Judy', '2000', '2', '2', '');
1 row created.

INSERT INTO zkusenost (je_id_jezdce, ko_vyrobce, ko_model, ko_rok_vyroby, cena_vykon, hodnoceni, slovni_hodnoceni) VALUES ('3', 'Marzocchi', 'DirtJumper II', '2005', '1', '1', '');
1 row created.

COMMIT;
Commit complete.


/* tabulka HODNOCENI (identifikačně závislá na JEZDEC a OBCHOD) */
INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('1', 'Dookie', '2', '2', '1', 'Pohodovej majitel.');
1 row created.

INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('1', 'Katmar', '3', '2', '4', '');
1 row created.

INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('3', 'Katmar', '3', '3', '4', '');
1 row created.

INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('1', '901 Bikes', '1', '3', '2', '');
1 row created.

INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('4', 'Dookie', '2', '1', '1', '');
1 row created.

INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('3', 'Madla Sport', '4', '1', '3', '');
1 row created.

INSERT INTO hodnoceni (je_id_jezdce, ob_nazev, sortiment, ceny, privetivost, slovni_hodnoceni) VALUES ('6', 'Dookie', '2', '2', '1', '');
1 row created.

COMMIT;
Commit complete.


/* tabulka NAKUP (identifikačně závislá na JEZDEC a OBCHOD a KOMPONENT) */
INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('1', 'Dookie', 'Marzocchi', 'DirtJumper III', '2004', '2004-03-29', '10099');
1 row created.

INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('1', 'Dookie', 'Maxxis', 'Minion DH', '2004', '2004-03-29', '450');
1 row created.

INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('1', '901 Bikes', 'Maxxis', 'Minion DH', '2004', '2004-03-29', '600');
1 row created.

INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('3', 'Madla Sport', 'Specialized', 'P2', '2005', '2005-09-10', '18000');
1 row created.

INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('3', 'Madla Sport', 'Maxxis', 'High Roller', '2004', '2005-09-10', '400');
1 row created.

INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('2', '901 Bikes', 'Blackhorse', 'Blackhorse', '2003', '2004-02-03', '6000');
1 row created.

INSERT INTO nakup (je_id_jezdce, ob_nazev, ko_vyrobce, ko_model, ko_rok_vyroby, datum, cena) VALUES ('2', 'Dookie', 'LeaderFox', 'Dragstar', '2003', '2003-09-10', '4000');
1 row created.

COMMIT;
Commit complete.


/* tabulka se_ucastnil (vztah mezi JEZDEC a ZAVOD) */
INSERT INTO se_ucastnil (role9_di_nazev, role9_lo_nazev, role9_datum, role10_id_jezdce) VALUES ('4X', '4X Litoměřice', '2005-05-25', '1');
1 row created.

INSERT INTO se_ucastnil (role9_di_nazev, role9_lo_nazev, role9_datum, role10_id_jezdce) VALUES ('4X', '4X Rokytnice', '2005-07-16', '1');
1 row created.

INSERT INTO se_ucastnil (role9_di_nazev, role9_lo_nazev, role9_datum, role10_id_jezdce) VALUES ('FR', 'Ještěd', '2005-08-25', '4');
1 row created.

INSERT INTO se_ucastnil (role9_di_nazev, role9_lo_nazev, role9_datum, role10_id_jezdce) VALUES ('4X', '4X Litoměřice', '2005-05-25', '3');
1 row created.

INSERT INTO se_ucastnil (role9_di_nazev, role9_lo_nazev, role9_datum, role10_id_jezdce) VALUES ('DH', 'DH Špindl', '2005-11-09', '8');
1 row created.

COMMIT;
Commit complete.


/* tabulka MA_RAD (vztah mezi JEZDEC a DISCIPLINA) */
INSERT INTO ma_rad (role3_id_jezdce, role6_nazev) ( SELECT DISTINCT id_jezdce, COALESCE(role9_di_nazev, 'Dirt') FROM jezdec LEFT OUTER JOIN se_ucastnil ON(role10_id_jezdce=id_jezdce) );
10 rows created.

INSERT INTO ma_rad (role3_id_jezdce, role6_nazev) VALUES ('1', 'BMX');
1 row created.

INSERT INTO ma_rad (role3_id_jezdce, role6_nazev) VALUES ('4', 'DH');
1 row created.

COMMIT;
Commit complete.


/* tabulka pouziva (vztah mezi JEZDEC a KOMPONENT) */
INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('RaceBike', 'Bandit DS', '2002', '1');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Marzocchi', 'DirtJumper III', '2004','1');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Maxxis', 'Minion DH', '2004', '1');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Blackhorse', 'Blackhorse', '2003', '2');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Maxxis', 'Bling Bling', '2003', '2');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Manitou', 'X-Fly', '2002', '2');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Specialized', 'P2', '2005', '3');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Marzocchi', 'DirtJumper II', '2005', '3');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Maxxis', 'High Roller', '2004', '3');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('LeaderFox', 'Dragstar', '2003', '4');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Manitou', 'X-Fly', '2002', '4');
1 row created.

INSERT INTO pouziva (role23_vyrobce, role23_model, role23_rok_vyroby, role11_id_jezdce) VALUES ('Nokian', 'Rocker', '2003', '4');
1 row created.

COMMIT;
Commit complete.



/* 1 A
Jména a příjmení všech registrovaných jezdců.
Jezdec [Jmeno, Prijmeni]*/
SELECT jmeno, prijmeni FROM jezdec;

JMENO PRIJMENI
Marek Handl
Michal Andera
Jan Schuster
Jakub Antoš
Tomáš Andera
Jakub Růžička
Štěpán Grundl
Pavel Herink
Michal Benest
Martin Holý

10 rows selected.


/* 2 A
Názvy a adresy obchodů, které se nacházejí v Praze.
Obchod (Adresa='%Praha%') [Nazev, Adresa]*/
SELECT nazev, adresa FROM obchod WHERE adresa LIKE '%Praha%';

NAZEV ADRESA
Dookie Seifertova 27, Praha 2
901 Bikes Lidická 35, Praha 1
Katmar Vltavská 103, Praha 6
Bike Kellys Seky Pod Nuselským mostem 32, Praha 4


/* 3 B, F
Jména a příjmení všech jezdců, kteří mají jako svou oblíbenou disciplínu sjezd (DH).
ma_rad (Disciplina='DH') * Jezdec [Jmeno, Prijmeni]*/
SELECT jmeno, prijmeni FROM jezdec JOIN ma_rad ON(id_jezdce=role3_id_jezdce) WHERE role6_nazev='DH';

JMENO PRIJMENI
Jakub Antoš
Pavel Herink


/* 4 C
Jména a příjmení jezdců, kteří se ještě nezúčastnili žádného závodu.
Jezdec \ {Jezdec <* se_ucastnil} [Jmeno, Prijmeni]*/
SELECT jmeno, prijmeni FROM jezdec WHERE id_jezdce NOT IN (SELECT role10_id_jezdce FROM se_ucastnil);

JMENO PRIJMENI
Tomáš Andera
Michal Andera
Martin Holý
Jakub Růžička
Štěpán Grundl
Michal Benest

6 rows selected.


/* 5 B, D, N
Názvy obchodů, která mají u všech hodnocení cen známku lepší než 3.
A = Obchod * Hodnoceni [Nazev]
B = Obchod * Hodnoceni (Ceny>2) [Nazev]
A \ B*/
WITH A AS ( SELECT nazev, ceny FROM obchod JOIN hodnoceni ON(nazev=ob_nazev) )
SELECT DISTINCT nazev FROM A MINUS (SELECT nazev FROM A WHERE ceny>2);

NAZEV
Dookie
Madla Sport


/* 6 C, E, F
Seznam plášťů (výrobce, model, rok), u nichž žádná napsaná zkušenost neobsahuje u hodnocení poměru cena-výkon známku horší než 2.
A = Plast * Zkusenost (Cena_vykon>2) [Vyrobce, Model, Rok_vyroby]
Plast * Zkusenost [Vyrobce, Model, Rok_vyroby] \ A*/
WITH A AS ( SELECT ko_vyrobce vyrobce, ko_model model, ko_rok_vyroby rok_vyroby, cena_vykon FROM plast NATURAL JOIN zkusenost )
SELECT DISTINCT vyrobce, model, rok_vyroby FROM A MINUS (SELECT vyrobce, model, rok_vyroby FROM A WHERE cena_vykon>2);

VYROBCE MODEL ROK_
Maxxis High Roller 2004
Maxxis Minion DH 2004


/* 7 B, F
Seznam modelů vidlic (výrobce, model), u nichž je napsáno alespoň jedna zkušenost se známkou 1.
Vidlice * Zkusenost (hodnoceni=1) [vyrobce, model] */
SELECT DISTINCT ko_vyrobce vyrobce, ko_model model FROM vidlice JOIN zkusenost USING(ko_vyrobce, ko_model) WHERE hodnoceni='1';

VYROBCE MODEL
Marzocchi DirtJumper II


/* 8 F, P
Kdyby se každý jezdec účastnil každého závodu, kolik by bylo takovýchto účastí.
Pocet × Jezdec ... ve standartní relační algebře neexistují agregační výpočty */
SELECT COUNT(*) pocet FROM jezdec CROSS JOIN zavod;

POCET
50


/* 9 B, F, G, I, J
Adresy a názvy obchodů, kde nakoupil jezdec s přezdívkou Bandy.
Obchod * Nakup * Jezdec (prezdivka='Bandy') [Adresa, Nazev]*/
SELECT DISTINCT adresa, nazev FROM (SELECT adresa, nazev, je_id_jezdce FROM obchod JOIN nakup ON(nazev=ob_nazev)) WHERE je_id_jezdce= (SELECT id_jezdce FROM jezdec WHERE prezdivka='Bandy');

ADRESA NAZEV
Lidická 35, Praha 1 901 Bikes
Seifertova 27, Praha 2 Dookie


/* 10 C, M, N
Názvy obchodů, kde nebyla ještě provedena koupě ani nebyl obchod hodnocen.
A = Nakup[Nazev] u Hodnoceni[Nazev] ... kde u znamená sjednocení.
Obchod[Nazev] \ A*/
WITH A AS ( SELECT ob_nazev nazev FROM nakup UNION SELECT ob_nazev nazev FROM hodnoceni )
SELECT nazev FROM obchod MINUS SELECT * FROM A;

NAZEV
Bike Kellys Seky


/* 11 B, O
Názvy obchodů, kde byla provedena koupě i byl hodnocen.
Nakup[Nazev] n Hodnoceni[Nazev] ... kde n znamená průnik*/
SELECT ob_nazev nazev FROM nakup INTERSECT SELECT ob_nazev nazev FROM hodnoceni;

NAZEV
901 Bikes
Dookie
Madla Sport


/* 12 B, F
Seznam komponentů (výrobce, model, rok), které nakoupili jezdci, kteří mají 4X jako svou oblíbenou disciplínu.
Nakup * Jezdec * ma_rad (ma_rad.Nazev='4X') [Vyrobce, Model, Rok_vyroby]*/
SELECT DISTINCT ko_vyrobce vyrobce, ko_model model, ko_rok_vyroby rok_vyroby FROM nakup JOIN ma_rad ON(je_id_jezdce=role3_id_jezdce) WHERE role6_nazev='4X';

VYROBCE MODEL ROK_
Marzocchi DirtJumper III 2004
Maxxis High Roller 2004
Maxxis Minion DH 2004
Specialized P2 2005


/* 13 B, G, H, I
Názvy a případně www adresy obchodů, kde provedl jezdec s přezdívkou Mareen alespoň jeden nákup.
Obchod * Nakup * Jezdec (Prezdivka='Mareen') [Nazev, WWW]*/
SELECT nazev, www FROM obchod WHERE nazev IN ( SELECT ob_nazev FROM nakup WHERE je_id_jezdce=(SELECT id_jezdce FROM jezdec WHERE prezdivka='Mareen') );

NAZEV WWW
901 Bikes  
Dookie www.dookie.cz


/* 14 B, F
Výrobce, model a zdvih vidlic, které byly nakoupeny v obchodech, ke kterým existuje alespoň jedno hodnocení.
{Hodnoceni × Nakup (Hodnoceni.Adresa=Nakup.Adresa)} * Vidlice [Vyrobce, Model, Zdvih]*/
SELECT DISTINCT ko_vyrobce vyrobce, ko_model model, ko_rok_vyroby rok_vyroby FROM (nakup JOIN vidlice USING(ko_model, ko_vyrobce, ko_rok_vyroby)) JOIN hodnoceni USING(ob_nazev);

VYROBCE MODEL ROK_
Marzocchi DirtJumper III 2004


/* 15 F
Názvy obchodů, pro něž byla napsána hodnocení se známkou u cen lepší než 3.
Obchod * Hodnoceni (Ceny<3) [Nazev]*/
SELECT DISTINCT ob_nazev nazev FROM obchod JOIN hodnoceni ON(nazev=ob_nazev) WHERE ceny<3;

NAZEV
Dookie
Katmar
Madla Sport


/* 16 G, H, K, P, R
Seznam názvů obchodů s částkama v nich utracených za nákupy.*/
SELECT nazev, COALESCE( (SELECT SUM(cena) FROM nakup WHERE ob_nazev=obchod.nazev), 0 ) castka FROM obchod ORDER BY castka;

NAZEV CASTKA
Bike Kellys Seky 0
Katmar 0
901 Bikes 6600
Dookie 14549
Madla Sport 18400


/* 17 F, J, L, P, Q, R*/
SELECT nazev, COALESCE(pocet,0) castka FROM obchod LEFT OUTER JOIN (SELECT ob_nazev nazev, SUM(cena) pocet FROM nakup GROUP BY(ob_nazev)) USING(nazev) ORDER BY castka;

NAZEV CASTKA
Bike Kellys Seky 0
Katmar 0
901 Bikes 6600
Dookie 14549
Madla Sport 18400


/* 18 F, L, P, Q, R*/
SELECT nazev, COALESCE(SUM(cena),0) castka FROM obchod LEFT OUTER JOIN nakup ON(nazev=ob_nazev) GROUP BY nazev ORDER BY castka;

NAZEV CASTKA
Bike Kellys Seky 0
Katmar 0
901 Bikes 6600
Dookie 14549
Madla Sport 18400


/* 19 F, L, P, Q
Seznam názvů obchodů s počtem nákupů v nich provedených.*/
WITH A AS ( SELECT ob_nazev nazev, COUNT(*) pocet FROM nakup GROUP BY ob_nazev )
SELECT nazev, COALESCE(pocet,0) nakupu FROM obchod LEFT OUTER JOIN A USING(nazev) ORDER BY nakupu;

NAZEV NAKUPU
Bike Kellys Seky 0
Katmar 0
901 Bikes 2
Madla Sport 2
Dookie 3


/* 20 F, L, P, Q
Seznam přezdívek jezdců s počtem závodů, kterých se účastnil. Seřadit sestupně podle účastí.*/
WITH A AS ( SELECT role10_id_jezdce id_jezdce, COUNT(*) pocet FROM se_ucastnil GROUP BY role10_id_jezdce )
SELECT prezdivka, COALESCE(pocet,0) zavodu FROM A RIGHT OUTER JOIN jezdec USING(id_jezdce) ORDER BY zavodu DESC;

PREZDIVKA ZAVODU
Mareen 2
Jenda 1
Anťák 1
Pafka 1
Malej Bandy 0
Bandy 0
Hobit 0
Xom 0
GrindMaster 0
Michál 0

10 rows selected.


/* 21 F, L
Ke každému nákupu přiřadit všechna hodnocení vztahující se k obchodu, kde byl nákup proveden. Zobrazit i nákupy v obchodech, které nebyly hodnoceny a hodnocení obchodů, kde nebyl ještě proveden nákup.*/
SELECT * FROM nakup FULL OUTER JOIN hodnoceni USING(ob_nazev);

OB_NAZEV CENA DATUM JE_ID_JEZDCE KO_VYROBCE KO_MODEL KO_R SORTIMENT CENY PRIVETIVOST SLOVNI_HODNOCENI JE_ID_JEZDCE
Dookie 4000 2003-09-10 2 LeaderFox Dragstar 2003 2 2 1 Pohodovej majitel. 1
Dookie 450 2004-03-29 1 Maxxis Minion DH 2004 2 2 1 Pohodovej majitel. 1
Dookie 10099 2004-03-29 1 Marzocchi DirtJumper III 2004 2 2 1 Pohodovej majitel. 1
901 Bikes 6000 2004-02-03 2 Blackhorse Blackhorse 2003 1 3 2   1
901 Bikes 600 2004-03-29 1 Maxxis Minion DH 2004 1 3 2   1
Dookie 4000 2003-09-10 2 LeaderFox Dragstar 2003 2 1 1   4
Dookie 450 2004-03-29 1 Maxxis Minion DH 2004 2 1 1   4
Dookie 10099 2004-03-29 1 Marzocchi DirtJumper III 2004 2 1 1   4
Madla Sport 400 2005-09-10 3 Maxxis High Roller 2004 4 1 3   3
Madla Sport 18000 2005-09-10 3 Specialized P2 2005 4 1 3   3
Dookie 4000 2003-09-10 2 LeaderFox Dragstar 2003 2 2 1   6
Dookie 450 2004-03-29 1 Maxxis Minion DH 2004 2 2 1   6
Dookie 10099 2004-03-29 1 Marzocchi DirtJumper III 2004 2 2 1   6
Katmar             3 2 4   1
OB_NAZEV CENA DATUM JE_ID_JEZDCE KO_VYROBCE KO_MODEL KO_R SORTIMENT CENY PRIVETIVOST SLOVNI_HODNOCENI JE_ID_JEZDCE
Katmar             3 3 4   3

15 rows selected.


/* 22 B, G, H, I, P, Q
Název obchodu, příp. seznam názvů obchodů, kde se provedlo nejvíce nákupů. Uvést i počet nákupů.*/
WITH A AS ( SELECT COUNT(*) pocet, ob_nazev nazev FROM nakup GROUP BY ob_nazev )
SELECT nazev, pocet nakupu FROM A WHERE pocet = ( SELECT MAX(pocet) FROM A );

NAZEV NAKUPU
Dookie 3


/* 23 F, Q, S
Seznam jezdců (jméno, příjmení) s počtem účastí na závodech. Zobrazit pouze jezdce, kteří se účastnili více jak jednoho závodu.*/
WITH A AS ( SELECT role10_id_jezdce id_jezdce, COUNT(*) pocet FROM se_ucastnil GROUP BY role10_id_jezdce HAVING COUNT(*)>1 )
SELECT jmeno, prijmeni, pocet FROM A NATURAL JOIN jezdec;

JMENO PRIJMENI POCET
Marek Handl 2


/*24 B, F
Názvy obchodů, kde byla provedena koupě i byl hodnocen. (Dotaz č. 11)*/
SELECT DISTINCT ob_nazev nazev FROM hodnoceni JOIN nakup USING(ob_nazev);

NAZEV
901 Bikes
Dookie
Madla Sport


/* 25 F, G, H, I
Názvy a případně www adresy obchodů, kde provedl jezdec s přezdívkou Mareen alespoň jeden nákup. (Dotaz č. 13)*/
SELECT nazev, www FROM obchod WHERE EXISTS ( SELECT * FROM nakup JOIN jezdec ON(je_id_jezdce=id_jezdce) WHERE prezdivka='Mareen' AND ob_nazev=nazev);

NAZEV WWW
Dookie www.dookie.cz
901 Bikes  


/* 26 F, P
Kdyby se každý jezdec účastnil každého závodu, kolik by bylo takovýchto účastí. (Dotaz č. 8)*/
SELECT COUNT(*) pocet FROM jezdec JOIN zavod ON('1'='1');

POCET
50


/* 27 F
Velikosti rámu, které používají jezdci, kteří se někdy zúčastnili závodů ve 4X.*/
WITH A AS ( SELECT * FROM pouziva JOIN ram ON(role23_vyrobce=ko_vyrobce AND role23_model=ko_model AND role23_rok_vyroby=ko_rok_vyroby) )
SELECT DISTINCT velikost FROM se_ucastnil JOIN A ON(role10_id_jezdce=role11_id_jezdce) WHERE role9_di_nazev='4X';

VELIKOST
13
14


/* 28 B, I
Jména a příjmení všech jezdců, kteří mají jako svou oblíbenou disciplínu sjezd (DH). (Dotaz č. 3)*/
SELECT jmeno, prijmeni FROM jezdec WHERE id_jezdce IN(SELECT role3_id_jezdce FROM ma_rad WHERE role6_nazev='DH');

JMENO PRIJMENI
Jakub Antoš
Pavel Herink


/* 29 B, G, I
Seznam modelů vidlic (výrobce, model), u nichž je napsáno alespoň jedna zkušenost se známkou 1. (Dotaz č. 7)*/
SELECT ko_vyrobce vyrobce, ko_model model FROM vidlice v WHERE EXISTS (SELECT * FROM zkusenost z WHERE z.ko_vyrobce=v.ko_vyrobce AND z.ko_model=v.ko_model AND z.ko_rok_vyroby=v.ko_rok_vyroby AND hodnoceni='1');

VYROBCE MODEL
Marzocchi DirtJumper II


/* 30 C, G, I
Názvy obchodů, kde nebyla ještě provedena koupě ani nebyl obchod hodnocen. (Dotaz č. 10)*/
WITH A AS ( SELECT nazev FROM obchod WHERE NOT EXISTS ( SELECT * FROM nakup WHERE ob_nazev=nazev) )
SELECT nazev FROM A WHERE NOT EXISTS ( SELECT * FROM hodnoceni WHERE ob_nazev=nazev );

NAZEV
Bike Kellys Seky