28
Valaki légyszi segítsen
-
Zsoldos #28 nincsmit, vga-t postazd :) -
Roll #27 Tábla átnevezés így megy: Ró s1(sütemények)
Köszi szépen,hogy segítettél. -
Zsoldos #26 Csak mert vannak trukkok, hogyan lehet novelni a keresesi hatekonysagot, pl meg a direkt szorzat elott (ugye ennek az eredmenye egy bazinagy tabla lesz..) projekcioval csak a szamodra fontos reszeket hagyod meg..
Pl az egyesben ahol a rendelt sutiket keresed, a rendeles tablabol neked csak a sutikod fog kelleni, a suti tablabol pedig a sutinev es a sotikod, tehat
A = ¶ sütemény.sütinév (szigma sütemények.sütikód=rendelés.sütikód((pi sutikod, sutinev (sütemények)) x (pi sutikod (rendelés))) ->
Kicsit bonyolultabb a megoldas, az eredmeny ugyanaz lesz, de igy egy csomo folosleges reszt lehagy a kivalasztas kozben a tablabol. Altalanos szabaly, hogy elsosorban a selectet, masodsorban a projekciot minel hamarabb vegezd el (ezek csokkentik a tablak meretet..), es ha lehet, minel kesobb a direkt szorzatot(ettol hatvanyozottan novekszik a tabla). Mondjuk ha kulon nem kerik akkor nem kell hasonlo dolgokkal veszodnod. Erre a gyakorlatban nem sok szukseg van, maguk a lekerdezo nyelvek optimalizalnak. -
Zsoldos #25 Ja azt nemtom kell-e rajtuk algebrai optimalizaciot csinalni, vagy csak mukodjenek? -
Zsoldos #24 igazad van, a beagyazott selectek atirasa nem megy egy az egyben, ez mar inkabb sql-es trukk volt..
5-os: hogy megallapitsd a legolcsobb sutit, onmagaval vett direktszorzat kell venned(ugye minden suti arat ossze kell hasonlitanod a tobbivel, hogy ezt eldontsd..), ekkor el kell nevezned a tablakat, hogy hivatkozhass rajuk. Mar nem emlekszem pontosan, hogy kell jelolni, talan igy:
tehat s1 es s2-nek nevezem a tablakat
pi s1.sutinev ( sigma s1.egysegar<=s2.egysegar (sutemenyek s1 x sutemenyek s2))
-
Zsoldos #23 a 4-es teljesen jo -
Zsoldos #22 masodik: amit te irtal eleg furcsa. a sigma parametereben mit keres a minusz? oda egy feltetel kell.. azt ird at egyenlosegre igy:
A = ¶ sütemény.sütinév (szigma sütemények.sütikód=rendelés.sütikód(sütemények x rendelés))
igy kivalasztottad azoknak a sutiknek a neveit, amiket mar megrendeltek. Persze nem ez a feladat, hanem azon suti nevei, amiket nem rendeltek, tehat fogod az osszes sutit es kivonod beloluk a rendelt sutiket (amiket font A -nak neveztem el):
pi sutemeny.sutinev(sutemenyek) \ A
-
Roll #21 3 és 5-ös: nálam itt elég cifra dolgok jönnek ki. :D -
Roll #20 4-re:
¶ vevők.vevőnév(szigma rendelés.vevőkód=vevő.vevőkód and rendelés.sütikód=sütemények.sütikód and sütemények.sütinév=krémes (vevők x sütemény x rendelés)) -
Roll #19 Próbálkozok tovább, ez a másodikra jó?
¶ sütemény.sütinév (szigma sütemények.sütikód-renelés.sütikód(sütemények x rendelés)) -
Roll #18 Köszi szépen, király vagy. :-D -
Zsoldos #17 Nemnem, kicsit mashogy. Amit leirtal nem jo, mert eloszor projekciot alkalmaztal(ami belul van), igy a tablabol csak a vevonev maradt meg, abbol pedig nem tudsz a datum szerint selectezni, mert azokat az oszlopokat mar kiiktattad.
Az elso:
pí vevok.vevonev (szigma rendeles.datum=2003.03.20 and rendeles.vevokod=vevok.vevokod(vevok x rendeles))
a jeloles: a pi es sigma -hoz indexbe irod a feltetelt.
Tehat csinalsz egy direktszorzatot a tablakbol, majd szurod a sorait a sigma-val a felteteleid szerint, es vegul leszukited azokra az oszlop(ok)ra, amire kivancsi vagy. -
Roll #16 az első így nézne ki:
szigma rendelés.dátum=2003.03.20 and rendelés.vevőkód=vevők.vevőkód(pí (vevőnév)vevők,rendelés)
még egy pár kérdés:
1.a kiválasztásánál(szigma) így kell megadni a dolgokat?
2.a vetítésnél(pí)után a vevőnév csak a vevőkben van, utána te is odaírtad a rendelést, ez azt jelenti hogy a vevőkből kivetíti a vevőnevet és az egész rendelést?
Köszi
-
Zsoldos #15 1: ide nem tudok rel.alg. jeloleseket irni azert irtam igy
2: az sql egy relacios algebrara epulo lekerdezo nyelv, sql lekerdezes egy az egyben atirhato, csak a jelolesek masok.
3: amugy is baromi egyszeru atirni, sot meg le is irtam, hogyan kell.
4: lehet hogy gyenge, de az enyemnel sokkal jobb -
Roll #14 Ez sql! Nekem nem ilyen kell!!!!
Ezért nem kapod meg a vga-t. Egyébként már gyenge ez a kártya. -
Zsoldos #13 haat jo reg volt mar, szal garanciat nem vallalok ..
relacios algebrai jeloleseket ide nem tudok irni, sql szintaxissal irom, gondolom tudod hogy alakitsd at. (roviden: select utan a kivalasztott oszlopok (projekcio), aztan a hasznalt tablak nevei (ezeknek direktszorzatuk..) utana pedig a feltetel (ez a relacios algebras select) )
select vevok.vevonev from vevok, rendeles where rendeles.datum='2003.03.20' and rendeles.vevokod=vevok.vevokod;
select sutinev from sutemenyek where sutikod=(select sutikod from sutemenyek minus (select sutikod from rendeles));
select vevok.vevonev from vevok, sutemenyek, rendeles where vevok.vevokod=rendeles.vevokod and rendeles.sutikod=sutemenyek.sutikod and sutemenyek.sutikod=(select sutikod from rendeles, vevok where rendeles.vevokod=vevok.vevokod and vevok.vevonev='Fantom Bt');
select vevok.vevonev from vevok, sutemenyek, rendeles where rendeles.vevokod=vevok.vevokod and rendeles.sutikod=sutemenyek.sutikod and sutemenyek.sutinev='kremes';
select egysegar from sutemenyek where egysegar=(select min(egysegar) from sutemenyek);
ez hasznal fuggvenyt is, ez rel. algebraban igy irhatod fel anelkul:
select egysegar from sutemenyek where egysegar<=(select egysegar from sutemenyek);
ja, elmegyek vizsgazni is helyetted, ha odaadod a vga-dat :)
-
Roll #12 Ha annyire könnyű neked, akkor légy szíves oszd meg velem is.
Köszi -
Zsoldos #11 Mondjuk sztem igaza van, ezeknel konnyebb lekerdezeseket ki sem lehet talalni. -
#10 Jól mondja Garfield, neked ez a mániád :D -
Garfield #9 Fúúúj, már megint ilyen hülye ötletek, mint tankönyv, Google meg súgó... -
#8 Esetleg előveszed a jegyzetet, aztán megtanulod pl... -
Roll #7 Tényleg ez volt ám zh-n a feladat és ilyen pí-kel meg szigma-kal kéne megcsinálni. -
#6 3-as lol :D -
Roll #5 Látom vágod a relációs algebrát. :-D (jobban mint én) -
#4 1. aznap Lajos bácsi a 28-ből és az Olá család
2. keménymagos habtejszínes mazsolás
3. Fantom 2000 Bt.
4. Lajos bácsiék a 28-ból
5. hásztartázsi keksz -
Roll #3 Ehhez tartozó kérdések:
1. 2003.03.20-án ki rendelt sütit?
2. Milyen sütiket nem rendeltek eddig?
3. Kik rendelték azokat a sütiket, mint a Fantom Bt?
4. Kik rendeltek krémest?
5. Melyik a legolcsóbb süti? -
Roll #2 Van egy feladat amit nem tudok megcsinálni:
Vevők(vevőkód,vevőnév,vevőcím)
Sütemények(sütikód,sütinév,egységár)
Rendelés(dátum,vevőkód,sütikód,darab) -
Roll #1 A címet elírtam. :-D