CREATE TABLE dodavatel ( id_dodavatela NUMBER(3) NOT NULL, obchodne_meno VARCHAR2(25) NOT NULL, ICO NUMBER(8) NOT NULL, menozastosoby VARCHAR2(15) NOT NULL, priezviskozastosoby VARCHAR2(15) NOT NULL, titulzastosoby VARCHAR2(10), adresa VARCHAR2(30) NOT NULL, mesto VARCHAR2(20) NOT NULL, telefon VARCHAR2(15), email VARCHAR2(30), PRIMARY KEY (id_dodavatela));

DROP TABLE zakaznik; DROP TABLE dodavatel; DROP TABLE zakazky; DROP TABLE nabytok; DROP TABLE sklad; DROP TABLE nabytoknazakazke; DROP TABLE nabytoknasklade;

CREATE TABLE zakaznik ( id_zakaznika NUMBER(3) NOT NULL, meno VARCHAR2(15) NOT NULL, priezvisko VARCHAR2(15) NOT NULL, titul VARCHAR2(10), adresa VARCHAR2(30) NOT NULL, mesto VARCHAR2(20) NOT NULL, telefon VARCHAR2(15), email VARCHAR2(30), PRIMARY KEY (id_zakaznika));

INSERT INTO zakaznik VALUES('1','Juraj&#03 9;,'Smolej','Ing.&#03 9;,'Pecnianska 33','Bratislava',&#03 9;0905516160','uriah@centrum .sk');

INSERT INTO zakaznik VALUES('2','Milan&#03 9;,'Bednar','Mgr.&#03 9;,'Modranska 25','Trnava','09 08552544','bednar@yahoo.sk& #039;);

INSERT INTO zakaznik VALUES('3','Peter&#03 9;,'Cihan','Ing.&#039 ;,'Frana Krala 5','Bratislava',&#039 ;0904556541','cihan@azet.sk ');

INSERT INTO zakaznik VALUES('4','Radovan&# 039;,'Drozd','Ing.&#0 39;,'Lucenecka 23','Bratislava',&#03 9;0902633254','drozd@centrum .sk');

INSERT INTO zakaznik VALUES('5','Michal&#0 39;,'Kiraly','JUDr.&# 039;,'Holleho 23','Bernolakovo',&#0 39;0905456555','kiraly@hotma il.com');

INSERT INTO zakaznik VALUES('6','Ronald&#0 39;,'Konig','Ing.&#03 9;,'Dunajska 73','Ivanka pri Dunaji','0907988999', 'konig@post.sk');

INSERT INTO zakaznik VALUES('7','Peter&#03 9;,'Kostelansky','&#0 39;,'Polianky 1','Malacky','09 05552144','kostel@pobox.sk& #039;);

INSERT INTO zakaznik VALUES('8','Stanislav ','Kovacik','&#0 39;,'Spojova 21','Bratislava',&#03 9;0903565566','kovacik@pobox .sk');

INSERT INTO zakaznik VALUES('9','Juraj&#03 9;,'Lichtner','' ,'Krivanska 30','Bratislava',&#03 9;0908787741','lichtner@pobo x.sk');

INSERT INTO zakaznik VALUES('10','Nada&#03 9;,'Hamalova','' ,'Krikova 7','Trnava','090 5996332','hamalovao@centrum. sk');

CREATE TABLE dodavatel ( id_dodavatela NUMBER(3) NOT NULL, obchodne_meno VARCHAR2(25) NOT NULL, ICO NUMBER(8) NOT NULL, menozastosoby VARCHAR2(15) NOT NULL, priezviskozastosoby VARCHAR2(15) NOT NULL, titulzastosoby VARCHAR2(10), adresa VARCHAR2(30) NOT NULL, mesto VARCHAR2(20) NOT NULL, telefon VARCHAR2(15), email VARCHAR2(30), PRIMARY KEY (id_dodavatela));

INSERT INTO dodavatel VALUES('1','ALFA&#039 ;,'16454522','Maria&# 039;,'Grancova',' Mgr.','Bzovicka 9',' Bratislava','45646544' ,'alfa@alfa.sk'); INSERT INTO dodavatel VALUES('2','BETA&#039 ;,'45524411','Gustav& #039;,'Marosi','&#039 ;,'Lubovniansky 14','Trnava','25 632541','beta@beta.sk' );

INSERT INTO dodavatel VALUES('3','GAMA&#039 ;,'85214521','Jozef&# 039;,'Novak',' Ing.','Romanova 44','Kosice','35 265412','gama@gama.sk' );

INSERT INTO dodavatel VALUES('4','DELTA&#03 9;,'89656554','Alexand er ','Eichner','Mgr .','Hlavna 10',' Bratislava','63258521' ,'delta@delta.sk');

INSERT INTO dodavatel VALUES('5','EPSILON&# 039;,'84554561','Fedor ','Fabian',' Ing.','Zelena 5',' Bratislava','65222141' ,'epsilon@epsilon.sk');

INSERT INTO dodavatel VALUES('6','DZETA&#03 9;,'76854354','Viliam ','Kacz','' ,'Holubkova 66',' Bratislava','63252142' ,'dzeta@dzeta.sk');

INSERT INTO dodavatel VALUES('7','ETA' ,'54656445','Milan&#0 39;,'Kadlec',' Ing.','Trnavska 45','Trencin','6 6652142','eta@eta.sk') ;

INSERT INTO dodavatel VALUES('8','THETA&#03 9;,'64532133','Arnold ','Sivak','&#039 ;,'Bratislavska 1/A',' Bratislava','88454112' ,'theta@theta.sk');

INSERT INTO dodavatel VALUES('9','IOTA&#039 ;,'54453122','Gabriel ','Vlasak','Mgr. ','Dunajska 6','Trnava','956 52145','iota@iota.sk') ;

INSERT INTO dodavatel VALUES('10','KAPA&#03 9;,'54534535','Jan&#0 39;,'Vlcek','Mgr.&#03 9;,'Hrozna 78','Trencin','6 5621451','kapa@kapa.sk&#039 ;);

CREATE TABLE nabytok ( oznacenie_nabytku VARCHAR2(10) NOT NULL, id_dodavatela NUMBER(3) NOT NULL, druh_nabytku VARCHAR2(30), nazov_nabytku VARCHAR2(30) NOT NULL, skladova_cena NUMBER(7,2) NOT NULL, popis VARCHAR(30), primary key (oznacenie_nabytku), foreign key (iddodavatela) references dodavatel(iddodavatela));

INSERT INTO nabytok VALUES('K1','1', 'Kuchynska linka','MAJKA',' 32000','drevo-buk');

INSERT INTO nabytok VALUES('K2','1', ' Kuchynska linka','ZORA','6 5000','drevo-dub');

INSERT INTO nabytok VALUES('K3','1', ' Kuchynska linka','ZUZKA',' 55000','drevo-dub');

INSERT INTO nabytok VALUES('K4','2', ' Kuchynska linka','VIERKA',&#039 ;44000','plast');

INSERT INTO nabytok VALUES('KOB','5' ,'Koberec','TUDOR&#03 9;,'3000','tkany&#039 ;);

INSERT INTO nabytok VALUES('P1','8', 'Postel','NADA', '4000','ulozny priestor'); INSERT INTO nabytok VALUES('P2', '8','Postel',&# 039;BORA','3000',&#03 9;bez ulozeneho priestoru');

INSERT INTO nabytok VALUES('ROL1', '10','Vstavane skrine','ROLIDOR',&#0 39;36000','rolovacie skrine, drevo');

INSERT INTO nabytok VALUES('S1', '3','Stol',&#03 9;KAROL','2000',&#039 ;drevo');

INSERT INTO nabytok VALUES('S2', '3','Stol',&#03 9;JURAJ','3000',&#039 ;kov');

INSERT INTO nabytok VALUES('SED1', '9','Sedacia suprava','MARA',&#039 ;60000','koza');

INSERT INTO nabytok VALUES('SED2', '9','Sedacia suprava','BARA',&#039 ;23000','kozenka');

INSERT INTO nabytok VALUES('SKR1', '4','Skrine',&# 039;DVOJICKY','12000', 'drevo');

INSERT INTO nabytok VALUES('ST1', '6','Stolicka', 'EDVA I','500','plast ');

INSERT INTO nabytok VALUES('ST2', '6',' Stolicka','EDVA II','600','plast ');

INSERT INTO nabytok VALUES('ST3', '6',' Stolicka','EDVA III','700','plas t');

INSERT INTO nabytok VALUES('ST4', '7',' Stolicka','EVA I','1000','drevo ');

INSERT INTO nabytok VALUES('ST5', '7',' Stolicka','EVA II','1200','drev o');

CREATE TABLE zakazky ( id_zakazky NUMBER(3) NOT NULL, id_zakaznika NUMBER(3) NOT NULL, datum_prijatia DATE, datum_vybavenia DATE, datum_zaplatenia DATE, primary key (id_zakazky), foreign key (idzakaznika) references zakaznik(idzakaznika));

INSERT INTO zakazky VALUES('1','1', '20.03.2004',' 10.04.2004','10.04.2004&#03 9;);

INSERT INTO zakazky VALUES('2','3', '21.03.2004','05.04.200 4','07.04.2004');

INSERT INTO zakazky VALUES('3','5', '21.03.2004','05.04.200 4','05.04.2004');

INSERT INTO zakazky VALUES('4','8', '24.03.2004','13.04.200 4','');

INSERT INTO zakazky VALUES('5','3', '24.03.2004','25.03.200 4','26.03.2004');

INSERT INTO zakazky VALUES('6','3', '26.03.2004','01.04.200 4','01.04.2004');

INSERT INTO zakazky VALUES('7','5', '27.03.2004','02.04.200 4','02.04.2004');

INSERT INTO zakazky VALUES('8','6', '01.04.2004','01.04.200 4','01.04.2004');

CREATE TABLE sklad ( oznacenie_skladu NUMBER(3) NOT NULL, lokalita VARCHAR2(20) NOT NULL, primary key (oznacenie_skladu));

INSERT INTO sklad VALUES('1','Petrzalka ');

INSERT INTO sklad VALUES('2','Vrakuna&# 039;);

INSERT INTO sklad VALUES('3','Podunajske Biskupice');

INSERT INTO sklad VALUES('4','Ivanka pri Dunaji');

CREATE TABLE nabytoknasklade ( oznacenie_skladu NUMBER(3) NOT NULL, oznacenie_nabytku VARCHAR2(10) NOT NULL, pocetkssklad NUMBER(5), primary key (oznacenieskladu, oznacenienabytku));

INSERT INTO nabytoknasklade VALUES('1','K1', '5');

INSERT INTO nabytoknasklade VALUES('1','K2', '5'); INSERT INTO nabytoknasklade VALUES('1','K3', '4');

INSERT INTO nabytoknasklade VALUES('1','K4', '3');

INSERT INTO nabytoknasklade VALUES('2','KOB' ,'15');

INSERT INTO nabytoknasklade VALUES('2','ROL1&#039 ;,'10');

INSERT INTO nabytoknasklade VALUES('2','SKR1&#039 ;,'3');

INSERT INTO nabytoknasklade VALUES('3','P1', '9');

INSERT INTO nabytoknasklade VALUES('3','P2', '8');

INSERT INTO nabytoknasklade VALUES('3','S1', '14'); INSERT INTO nabytoknasklade VALUES('3','S2', '11');

INSERT INTO nabytoknasklade VALUES('3','ST1' ,'65');

INSERT INTO nabytoknasklade VALUES('3','ST2' ,'25');

INSERT INTO nabytoknasklade VALUES('3','ST3' ,'45');

INSERT INTO nabytoknasklade VALUES('3','ST4' ,'58');

INSERT INTO nabytoknasklade VALUES('3','ST5' ,'33');

INSERT INTO nabytoknasklade VALUES('4','SED1&#039 ;,'25');

INSERT INTO nabytoknasklade VALUES('4','SED2&#039 ;,'22');

CREATE TABLE nabytoknazakazke ( id_zakazky NUMBER(3) NOT NULL, oznacenie_nabytku VARCHAR2(10) NOT NULL, pocetkszakazka NUMBER(5) NOT NULL, predajnacenaks NUMBER(8,2) NOT NULL, primary key (idzakazky, oznacenienabytku));

INSERT INTO nabytoknazakazke VALUES('1','K1', '1','41000');

INSERT INTO nabytoknazakazke VALUES('2','KOB' ,'1','5000');

INSERT INTO nabytoknazakazke VALUES('3','K2', '1','75000');

INSERT INTO nabytoknazakazke VALUES('4','K3', '1','66000');

INSERT INTO nabytoknazakazke VALUES('5','K4', '1','50000');

INSERT INTO nabytoknazakazke VALUES('6','ST1' ,'2','600');

INSERT INTO nabytoknazakazke VALUES('7','ST2' ,'4','800');

INSERT INTO nabytoknazakazke VALUES('8','SED1&#039 ;,'1','100000');

INSERT INTO nabytoknazakazke VALUES('8','SED2&#039 ;,'2','35000');

Výstup tabuliek:

ZAKAZNIK

id_zakaznika meno priezvisko titul adresa mesto telefon e-mail 1 Juraj Smolej Ing. Pecnianska 33 Bratislava 0905516160 uriah@centrum.sk 2 Milan Bednár Mgr. Modranská 25 Trnava 0908552544 bednar@yahoo.com 3 Peter Cihan Ing. Frana Krála 5 Bratislava 0904556541 cihan@azet.sk 4 Radovan Drozd Ing. Lucenecká 23 Bratislava 0902633254 drozd@centrum.sk 5 Michal Király JUDr. Hollého 23 Bernolákovo 0905456555 kiraly@hotmail.com 6 Ronald Konig Ing. Dunajská 73 Ivanka pri Dunaji 0907988999 konig@post.sk 7 Peter Kostelanský Polianky 1 Malacky 0905552144 kostel@pobox.sk 8 Stanislav Kovácik Spojová 21 Bratislava 0903565566 kovacik@pobox.sk 9 Juraj Lichtner Krivanská 30 Bratislava 0908787741 lichtner@pobox.sk 10 Nada Hamalová Kríková 7 Trnava 0905996332 hamalova@centrum.sk

DODAVATEL

iddodavatela obchodnemeno ICO menozastosoby priezviskozastosoby titulzastosoby adresa mesto telefon e-mail 1 ALFA 16454522 Maria Grancova Mgr. Bzovícka 9 Bratislava 45646544 alfa@alfa.sk 2 BETA 45524411 Gustav Marosi Lubovnianska 14 Trnava 25632541 beta@beta.sk 3 GAMA 85214521 Jozef Novak Ing. Romanova 44 Košice 35265412 gama@gama.sk 4 DELTA 89656554 Alexander Eichner Mgr. Hlavná 10 Bratislava 63258521 delta@delta.sk 5 EPSILON 84554561 Fedor Fabian Ing. Zelená 5 Bratislava 65222141 epsilon@epsilon.sk 6 DZETA 76854354 Viliam Kacz Holúbková 66 Bratislava 63252142 dzeta@dzeta.sk 7 ETA 54656445 Milan Kadlec Ing. Trnavská 45 Trencín 66652142 eta@eta.sk 8 THETA 64532133 Arnold Sivak Bratislavská 1/A Bratislava 88454112 theta@theta.sk 9 IOTA 54453122 Gabriel Vlasak Mgr. Dunajská 6 Trnava 95652145 iota@iota.sk 10 KAPA 54534535 Jan Vlcek Mgr. Hrozná 78 Trencín 65621451 kapa@kapa.sk

NABYTOK

oznacenienabytku iddodavatela druhnabytku nazovnabytku skladova_cena popis K1 1 Kuchynská linka MAJKA 32 000,00 Sk drevo - buk K2 1 Kuchynská linka ZORA 65 000,00 Sk drevo - dub K3 1 Kuchynská linka ZUZKA 55 000,00 Sk drevo - dub K4 2 Kuchynská linka VIERKA 44 000,00 Sk plast KOB 5 Koberec TUDOR 3 000,00 Sk tkaný P1 8 Postel NADA 4 000,00 Sk úložný priestor P2 8 Postel BORA 3 000,00 Sk bez úložného priestoru ROL1 10 Vstavané skrine ROLIDOR 36 000,00 Sk rolovacie skrine, drevo S1 3 Stôl KAROL 2 000,00 Sk drevo S2 3 Stôl JURAJ 3 000,00 Sk kov SED1 9 Sedacia súprava MARA 60 000,00 Sk koža SED2 9 Sedacia súprava BARA 23 000,00 Sk koženka SKR1 4 Skrine DVOJICKY 12 000,00 Sk drevo ST1 6 Stolicka EDVA I 500,00 Sk plast ST2 6 Stolicka EDVA II 600,00 Sk plast ST3 6 Stolicka EDVA III 700,00 Sk plast ST4 7 Stolicka EVA I 1 000,00 Sk drevo ST5 7 Stolicka EVA II 1 200,00 Sk drevo

ZAKAZKY

idzakazky idzakaznika datumprijatia datumvybavenia datum_zaplatenia

1 1 20. 3. 2004 10. 4. 2004 10. 4. 2004

2 3 21. 3. 2004 5. 4. 2004 7. 4. 2004

3 5 21. 3. 2004 5. 4. 2004 5. 4. 2004

4 8 24. 3. 2004 13. 4. 2004

5 3 24. 3. 2004 25. 3. 2004 26. 3. 2004

6 3 26. 3. 2004 1. 4. 2004 1. 4. 2004

7 5 27. 3. 2004 2. 4. 2004 2. 4. 2004

8 6 1. 4. 2004 1. 4. 2004 1. 4. 2004

SKLAD

oznacenie_skladu lokalita 1 Petržalka 2 Vrakuna 3 Podunajské Biskupice 4 Ivanka pri Dunaji

NABYTOKNASKLADE oznacenieskladu oznacenienabytku pocetkssklad

1 K1 5

1 K2 5

1 K3 4

1 K4 3

2 KOB 15

2 ROL1 10

2 SKR1 3

3 P1 9

3 P2 8

3 S1 14

3 S2 11

3 ST1 65

3 ST2 25

3 ST3 45

3 ST4 58

3 ST5 33

4 SED1 25

4 SED2 22

NABYTOKNAZAKAZKE idzakazky oznacenienabytku pocetkszakazka predajnacenaks 1 K1 1 41 000,00 Sk 2 KOB 1 5 000,00 Sk 3 K2 1 75 000,00 Sk 4 K3 1 66 000,00 Sk 5 K4 1 50 000,00 Sk 6 ST1 2 600,00 Sk 7 ST2 4 800,00 Sk 8 SED1 1 100 000,00 Sk 8 SED2 2 35 000,00 Sk

Dotazy v relacnej algebre a v SQL:

1. Vypíš mená a priezviská všetkých zákazníkov

V1 ? p meno, priezvisko ZÁKAZNÍK

SELECT ZK.meno, ZK.priezvisko FROM ZAKAZNIK ZK;

meno priezvisko Juraj Smolej Milan Bednár Peter Cihan Radovan Drozd Michal Király Ronald Konig Peter Kostelanský Stanislav Kovácik Juraj Lichtner Nada Hamalová

  • 2. Vypíš druh a názov všetkých nábytkov, ktoré firma ponúka:

V1 ? p druhnábytku, názovnábytku NÁBYTOK

SELECT N.druhnabytku, N.nazovnabytku FROM NABYTOK N;

druhnabytku nazovnabytku Kuchynská linka MAJKA Kuchynská linka ZORA Kuchynská linka ZUZKA Kuchynská linka VIERKA Koberec TUDOR Postel NADA Postel BORA Vstavané skrine ROLIDOR Stôl KAROL Stôl JURAJ Sedacia súprava MARA Sedacia súprava BARA Skrine DVOJICKY Stolicka EDVA I Stolicka EDVA II Stolicka EDVA III Stolicka EVA I Stolicka EVA II

3. Vypíš druh a názov všetkých nábytkov na sklade 3:

V1 ? s oznacenieskladu = ´3´ NÁBYTOKNA_SKLADE V2 ? V1 * NÁBYTOK V3 ? p druhnábytku, názovnábytku V2

SELECT N.druhnabytku, N.nazovnabytku FROM NABYTOK N INNER JOIN NABYTOKNASKLADE NS ON N.oznacenienabytku=NS.oznacenienabytku WHERE NS.oznacenie_skladu='3';

druhnabytku nazovnabytku Postel NADA Postel BORA Stôl KAROL Stôl JURAJ Stolicka EDVA I Stolicka EDVA II Stolicka EDVA III Stolicka EVA I Stolicka EVA II

4. Zisti pocet kusov kuchynskej linky ZUZKA na sklade:

V1 ? s názov_nábytku = ´ZUZKA´ NÁBYTOK V2 ? V1 * NÁBYTOKNASKLADE V3 ? p pocetkssklad V2

SELECT NS.pocetkssklad FROM NABYTOK N INNER JOIN NABYTOKNASKLADE NS ON N.oznacenienabytku=NS.oznacenienabytku WHERE N.nazov_nabytku='ZUZKA';

pocetkssklad 4

  • 5. Zisti lokalitu skladu, v ktorom je nábytok, ktorý dodala firma GAMA:

V1 ? s obchodné_meno = ´GAMA´ DODÁVATEL V2 ? V1 * NÁBYTOK V3 ? V2 * NÁBYTOKNASKLADE V4 ? V3 * SKLAD V5 ? p lokalita V4

SELECT DISTINCT S.lokalita FROM ((SKLAD S INNER JOIN NABYTOKNASKLADE NS ON S.oznacenieskladu=NS.oznacenieskladu) INNER JOIN NABYTOK N ON NS.oznacenienabytku=N.oznacenienabytku ) INNER JOIN DODAVATEL D ON N.iddodavatela=D.iddodavatela WHERE D.obchodne_meno='GAMA';

lokalita Podunajské Biskupice

6. Zisti priezvisko a telefón neplaticov:

V1 ? s dátum_zaplatenia = NULL ZÁKAZKY V2 ? V1 * ZÁKAZNÍK V3 ? p priezvisko, telefón V2

SELECT ZK.priezvisko, ZK.telefon FROM ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON Z.idzakaznika=ZK.idzakaznika WHERE Z.datum_zaplatenia Is Null;

priezvisko telefon Kovácik 0903565566

  • 7. Vyber druh,názov a cenu nábytku s najvyššou skladovou cenou:

V1 ? p druhnabytku, nazovnabytku, skladova_cena NABYTOK V2 ozancenienabytku,max ? oznacenienabytku c MAX(skladova_cena) V1 V3 ? s max V2

SELECT druhnabytku, nazovnabytku, skladova_cena

FROM NABYTOK

WHERE skladovacena=(select MAX(skladovacena) from NABYTOK);

druhnabytku nazovnabytku nakupna_cena Kuchynská linka ZORA 65 000,00 Sk

  • 8. Zisti priemernú cenu všetkých nábytkov, ktoré sú na sklade v Petržalke:

V1 ? s lokalita='Petrzalka' SKLAD V2 ? V1 * NABYTOKNASKLADE V3 ? V2 * NABYTOK V4 oznacenienabytku,avg ? oznacenienabytku c AVG(skladova_cena) V3 V5 ? p avg V4

SELECT Avg(N.skladovacena) AS Priemernacena FROM (NABYTOKNASKLADE NS INNER JOIN NABYTOK N ON NS.oznacenienabytku = N.oznacenienabytku) INNER JOIN SKLAD S ON NS.oznacenieskladu = S.oznacenieskladu GROUP BY S.lokalita HAVING S.lokalita='Petrzalka';

Priemerna_cena 49 000,00 Sk

  • 9. Zisti meno a priezvisko zákazníka (každého iba raz), ktorý zaplatil hned pri vybavení jeho zákazky, v den vybavenia jeho zákazky:

V1 ? s datumvybavenia=datumzaplatenia ZAKAZKY V2 ? V1 * ZAKAZNIK V3 ? p meno,priezvisko V2

SELECT DISTINCT ZK.meno, ZK.priezvisko FROM ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON Z.idzakaznika = ZK.idzakaznika WHERE Z.datumvybavenia=Z.datumzaplatenia;

meno priezvisko Juraj Smolej Michal Király Peter Cihan Ronald Konig

  • 10. Zisti meno,priezvisko a pocet zákaziek, ktoré zákazník má:

V1 ? ZAKAZKY * ZAKAZNIK V2 idzakazky,count ? idzakazky c COUNT(id_zakazky) V1 V3 ? p meno,priezvisko,count V2

SELECT ZK.meno, ZK.priezvisko, Count(Z.idzakazky) AS Pocetzakazok FROM ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON ZK.idzakaznika = Z.idzakaznika GROUP BY ZK.meno, ZK.priezvisko;

meno priezvisko Pocet_zakazok Juraj Smolej 1 Michal Király 2 Peter Cihan 3 Ronald Konig 1 Stanislav Kovácik 1

  • 11. Vyber druh a názov nábytku, ktorý je na zákazkách najpocetnejší:

V1 ? NABYTOKNAZAKAZKE * NABYTOK V2 idzakazky,maxpocet ? idzakazky c MAX (pocetks_zakazka) V1 V3 ? p druhnabytku,nazovnabytku,max_pocet V2 V4 ? s max_pocet V3

SELECT DISTINCT N.druhnabytku,N.nazovnabytku,NZ.pocet kszakazka AS Maxpocet FROM NABYTOK N INNER JOIN NABYTOKNAZAKAZKE NZ ON N.oznacenienabytku=NZ.oznacenienabytku WHERE NZ.pocetkszakazka=(SELECT MAX(NZ.pocetks_zakazka) FROM NABYTOKNAZAKAZKE NZ INNER JOIN NABYTOK N ON NZ.oznacenienabytku = N.oznacenienabytku);

druhnabytku nazovnabytku Max_pocet Stolicka EDVA II 4

  • 12. Vypocítaj sumu penazí, ktoré nám boli doteraz za všetky tovary zaplatené:

V1 ? NABYTOKNAZAKAZKE * ZAKAZKY V2 ? s datum_zaplatenia is not null V1 V3 idzakazky,Income ? idzakazky c SUM(predajnacenaks) V2 V4 ? p Income V3

SELECT SUM(predajnacenaks) AS Income FROM NABYTOKNAZAKAZKE NZ INNER JOIN ZAKAZKY Z ON NZ.idzakazky = Z.idzakazky WHERE Z.datum_zaplatenia is not null;

Income 307 400,00 Sk

  • 13. Zisti sumu penazí, ktorá predstavuje súcet skladových cien tovarov, ktoré si zákazníci objednali, a za ktoré aj zaplatili:

V1 ? NABYTOKNAZAKAZKE * NABYTOK V2 ? V1 * ZAKAZKY V3 ? s datum_zaplatenia is not null V2 V4 oznacenienabytku,Suma ? oznacenienabytku c SUM(skladova_cena) V3 V5 ? p Income V4

SELECT SUM(skladova_cena) AS Suma FROM (NABYTOK N INNER JOIN NABYTOKNAZAKAZKE NZ ON N.oznacenienabytku=NZ.oznacenienabytku ) INNER JOIN ZAKAZKY Z ON NZ.idzakazky=Z.idzakazky WHERE Z.datum_zaplatenia is not null;

Suma 228 100,00 Sk

14. Vypocítaj doterajší zisk firmy FASTWEB:

V1 ? NABYTOKNAZAKAZKE * NABYTOK V2 ? V1 * ZAKAZKY V3 ? s datum_zaplatenia is not null V2 V4 oznacenienabytku,Zisk ? oznacenienabytku c SUM(predajnacena - skladovacena) V3 V5 ? p Zisk V4

SELECT SUM(NZ.predajnacenaks-N.skladova_cena) AS Zisk FROM (NABYTOK N INNER JOIN NABYTOKNAZAKAZKE NZ ON N.oznacenienabytku=NZ.oznacenienabytku ) INNER JOIN ZAKAZKY Z ON NZ.idzakazky=Z.idzakazky WHERE Z.datum_zaplatenia is not null;

Zisk 79 300,00 Sk

  • 15. Vypíš všetky lokality skladov a ku každému zisti pocet druhov nábytku, ktoré sa v nom nachádzajú:

V1 ? NABYTOKNASKLADE * SKLAD V2 oznacenieskladu,Pocetdruhovnabytku ? oznacenieskladu c COUNT(oznacenie_skladu) V1 V3 ? p lokalita,Pocetdruhovnabytku V2 V4 ? s Pocetdruhovnabytku V3

SELECT S.lokalita,COUNT(NS.oznacenieskladu) AS Pocetdruhov_nab FROM NABYTOKNASKLADE NS INNER JOIN SKLAD S ON NS.oznacenieskladu=S.oznacenieskladu GROUP BY S.lokalita;

lokalita Pocetdruhovnab Ivanka pri Dunaji 2 Petržalka 4 Podunajské Biskupice 9 Vrakuna 3

  • 16. Vypíš meno, priezvisko, id_zakazky a cas vybavenia zákazky zákazníka, ktorý najdlhšie cakal na vybavenie:

V1 ? ZAKAZKY * ZAKAZNIK V2 idzakazky,Casvybavenia ? idzakazky c MAX(datumvybavenia – datum_prijatia) V1 V3 ? p meno,priezvisko,idzakazky,(datumvybave nia – datum_prijatia) V2

SELECT ZK.meno,ZK.priezvisko,Z.idzakazky,Z.dat umvybavenia-Z.datumprijatia AS Casvybavenia FROM ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON Z.idzakaznika=ZK.idzakaznika WHERE Z.datumvybavenia-Z.datumprijatia=(SELE CT MAX(Z.datumvybavenia-Z.datumprijatia) FROM (ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON Z.idzakaznika=ZK.idzakaznika));

meno priezvisko idzakazky Casvybavenia Juraj Smolej 1 21

  • 17. Vypíš meno, priezvisko, id_zakazky a cas vybavenia zákazky zákazníka, ktorý najkratšie cakal na vybavenie:

V1 ? ZAKAZKY * ZAKAZNIK V2 idzakazky,Casvybavenia ? idzakazky c MIN(datumvybavenia – datum_prijatia) V1 V3 ? p meno,priezvisko,idzakazky,(datumvybave nia – datum_prijatia) V2

SELECT ZK.meno,ZK.priezvisko,Z.idzakazky,Z.dat umvybavenia-Z.datumprijatia AS Casvybavenia FROM ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON Z.idzakaznika=ZK.idzakaznika WHERE Z.datumvybavenia-Z.datumprijatia=(SELE CT MIN(Z.datumvybavenia-Z.datumprijatia) FROM (ZAKAZKY Z INNER JOIN ZAKAZNIK ZK ON Z.idzakaznika=ZK.idzakaznika));

meno priezvisko idzakazky Casvybavenia Ronald Konig 8