Relációs Algebra
Jelentkezz be a hozzászóláshoz.
#28
nincsmit, vga-t postazd 😊
#27
Tábla átnevezés így megy: Ró s1(sütemények)
Köszi szépen,hogy segítettél.
Köszi szépen,hogy segítettél.
#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.
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.
#25
Ja azt nemtom kell-e rajtuk algebrai optimalizaciot csinalni, vagy csak mukodjenek?
#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))
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))
#23
a 4-es teljesen jo
#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
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
#21
3 és 5-ös: nálam itt elég cifra dolgok jönnek ki. 😄
#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))
¶ 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))
#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))
¶ sütemény.sütinév (szigma sütemények.sütikód-renelés.sütikód(sütemények x rendelés))
#18
Köszi szépen, király vagy. :-D
#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.
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.
#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
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
#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
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
#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.
Ezért nem kapod meg a vga-t. Egyébként már gyenge ez a kártya.
#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 😊
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 😊
#12
Ha annyire könnyû neked, akkor légy szíves oszd meg velem is.
Köszi
Köszi
#11
Mondjuk sztem igaza van, ezeknel konnyebb lekerdezeseket ki sem lehet talalni.
Jól mondja Garfield, neked ez a mániád 😄
A munka jobban megy, ha általa közöset építünk, és a világra szóló tett is többet ér, ha utána közösen énekelhetjük a Himnuszt.
#9
Fúúúj, már megint ilyen hülye ötletek, mint tankönyv, Google meg súgó...<#idiota>#idiota><#ravasz1>#ravasz1>
Depending on the chatter, the definition of "lol" may vary. For example: "I have nothing worthwhile to contribute to this conversation."
#7
Tényleg ez volt ám zh-n a feladat és ilyen pí-kel meg szigma-kal kéne megcsinálni.
3-as lol 😄
A munka jobban megy, ha általa közöset építünk, és a világra szóló tett is többet ér, ha utána közösen énekelhetjük a Himnuszt.
#5
Látom vágod a relációs algebrát. :-D (jobban mint én)
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
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
#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?
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?
#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)
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)
#1
A címet elírtam. :-D