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);
/* 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;
/* 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;
/* 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 );
/* 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');
/* 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';
/* 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 );