Kezdőlap › Fórumok › Programozás › SQL programozás
- This topic has 37 hozzászólás, 9 résztvevő, and was last updated 19 years, 4 months telt el by
kl223.
-
SzerzőBejegyzés
-
2005-11-06-12:12 #2012941Leslieman wrote:Asszem nem egészen érted a dolgot :). Elolvastad bármelyik linket is?
Azokban egy szó sem esik view-ekrõl vagy triggerek-rõl, ugyanis a különbözõ szintû NF-ekre „hozás” az adatbázis logikai megtervezésekor játszik szerepet. Semmi köze az általad említett dolgokhoz. Lényegében ezt írtam elsõre is.Vagy tévedek… ami bármikor elõfordulhat :).
Annyi a légyeg, hogy én megtervezhetem 5NF-re is az adatbázist, de megvalósítani… körülményes MySQL-lel… ugyanis amíg mondjuk postgresnél van egy view, ami mondjuk lekéri egy topic adatait. Ugye a hozzászólásoknál el van tárolva az userid. Innen +1 lekérdezés lenne userenként (vagy egy nagyon-nagyon hosszú querystring, ami meg nem poén, mert mindél hosszabb a query, annál több idõ a script lefutási ideje, mivel az idõ nagy részét a kommunikáció tölti ki), ami meg ugye sok, tegyünk fel egy 50 post/oldal beállítást, ahova mondjuk minden hozzászólást más írt… így az +50 query, vagy 1 baromi hosszú query, a WHERE résznél 50 feltétellel… ez ugye beláthatóan baromira lassú… ezzel szemben ott a view, amivel ez könnyedén kiküszöbölhetõ…
MySQL-ben a 2NF feletti struktúra megvalósítása sok esetben baromira lassú tud lenni…szerk: nem tud valaki egy ingyenes tárhelyet, ahol postgres van? esetleg egy ingyenes postgres szervert?
2005-11-06-14:03 #2012942xcut wrote:Leslieman wrote:Asszem nem egészen érted a dolgot :). Elolvastad bármelyik linket is?
Azokban egy szó sem esik view-ekrõl vagy triggerek-rõl, ugyanis a különbözõ szintû NF-ekre „hozás” az adatbázis logikai megtervezésekor játszik szerepet. Semmi köze az általad említett dolgokhoz. Lényegében ezt írtam elsõre is.Vagy tévedek… ami bármikor elõfordulhat :).
Annyi a légyeg, hogy én megtervezhetem 5NF-re is az adatbázist, de megvalósítani… körülményes MySQL-lel… ugyanis amíg mondjuk postgresnél van egy view, ami mondjuk lekéri egy topic adatait. Ugye a hozzászólásoknál el van tárolva az userid. Innen +1 lekérdezés lenne userenként (vagy egy nagyon-nagyon hosszú querystring, ami meg nem poén, mert mindél hosszabb a query, annál több idõ a script lefutási ideje, mivel az idõ nagy részét a kommunikáció tölti ki), ami meg ugye sok, tegyünk fel egy 50 post/oldal beállítást, ahova mondjuk minden hozzászólást más írt… így az +50 query, vagy 1 baromi hosszú query, a WHERE résznél 50 feltétellel… ez ugye beláthatóan baromira lassú… ezzel szemben ott a view, amivel ez könnyedén kiküszöbölhetõ…
MySQL-ben a 2NF feletti struktúra megvalósítása sok esetben baromira lassú tud lenni…szerk: nem tud valaki egy ingyenes tárhelyet, ahol postgres van? esetleg egy ingyenes postgres szervert?
szerintem túl bonyolultan látod
vagy maga az adatbázis terved rossz2005-11-06-15:25 #2012943gUHU wrote:szerintem túl bonyolultan látod
vagy maga az adatbázis terved rosszLehet… te pl hogyan valósítanád meg egy fórummotort? Hogyan oldanád meg, hogy egy topicnál megjelenjen az user náhány adata?
A post táblában eltárolni nem jó ötlet, mert ha az user adatot változtat, akkor szívás… illetve ha lekérdezed az összes szereplõ user adatát, akkor lassú -tapasztalat-.2005-11-06-15:50 #2012944xcut wrote:Lehet… te pl hogyan valósítanád meg egy fórummotort? Hogyan oldanád meg, hogy egy topicnál megjelenjen az user náhány adata?
A post táblában eltárolni nem jó ötlet, mert ha az user adatot változtat, akkor szívás… illetve ha lekérdezed az összes szereplõ user adatát, akkor lassú -tapasztalat-.osszekapcsolnam a 2 tablat.
SELECT * FROM tabla1,tabla2 WHERE (tabla1.user_id = tabla2.user_nev) …2005-11-06-15:53 #2012945Oregon wrote:xcut wrote:Lehet… te pl hogyan valósítanád meg egy fórummotort? Hogyan oldanád meg, hogy egy topicnál megjelenjen az user náhány adata?
A post táblában eltárolni nem jó ötlet, mert ha az user adatot változtat, akkor szívás… illetve ha lekérdezed az összes szereplõ user adatát, akkor lassú -tapasztalat-.osszekapcsolnam a 2 tablat.
SELECT * FROM tabla1,tabla2 WHERE (tabla1.user_id = tabla2.user_nev) …hmm… nem rossz, de view-vel egyszerûbb szerintem…
2005-11-06-15:55 #2012946xcut wrote:Oregon wrote:xcut wrote:Lehet… te pl hogyan valósítanád meg egy fórummotort? Hogyan oldanád meg, hogy egy topicnál megjelenjen az user náhány adata?
A post táblában eltárolni nem jó ötlet, mert ha az user adatot változtat, akkor szívás… illetve ha lekérdezed az összes szereplõ user adatát, akkor lassú -tapasztalat-.osszekapcsolnam a 2 tablat.
SELECT * FROM tabla1,tabla2 WHERE (tabla1.user_id = tabla2.user_nev) …hmm… nem rossz, de view-vel egyszerûbb szerintem…
a VIEW nem csak a ket „cellat” csereli ki?
Mert ezzel az ooszekapcsolassal, mindket tablazat oszekapcsolt rekordjanak osszes mezoje elerheto.2005-11-06-16:35 #2012947Oregon wrote:a VIEW nem csak a ket „cellat” csereli ki?
Mert ezzel az ooszekapcsolassal, mindket tablazat oszekapcsolt rekordjanak osszes mezoje elerheto.tudtommal nem egészen… végülis ez egy alternetív mód a viewre, csak annyi a probléma vele, hogy hosszú querystringet eredményez… (már ha nem mindent akarunk lekérni…)
2005-11-06-17:02 #2012948Amit xcut szeretne a megjelenítésnél, hogy ne kelljen minden postban eltárolni az emberke adatait hanem egy másik táblából jelenítse meg „on the fly”, arra tényleg az összekapcsolás (JOIN) való.
Amit xcut szeretne, mármint, hogy ne kelljen minden postban eltárolni az emberke adatait, na erre való az adatbázis normális megtervezése, aminek része a korábban emlegetett normálformákra hozás.
A view pedig egész egyszerûen arra használható, hogy a táblában szereplõ rekordokat, adatokat „mutatja” bizonyos ‘szûrési feltételeknek megfelelõen’. Pl nem minden rekord kell neked, vagy nem minden ‘oszlop’, akkor úgy állítod be a feltételt a view számára.
2005-11-06-18:44 #2012949xcut wrote:gUHU wrote:szerintem túl bonyolultan látod
vagy maga az adatbázis terved rosszLehet… te pl hogyan valósítanád meg egy fórummotort? Hogyan oldanád meg, hogy egy topicnál megjelenjen az user náhány adata?
A post táblában eltárolni nem jó ötlet, mert ha az user adatot változtat, akkor szívás… illetve ha lekérdezed az összes szereplõ user adatát, akkor lassú -tapasztalat-.ha adsz egy specifikációt meg tudom mondani
2005-11-06-19:17 #2012950Leslieman wrote:Amit xcut szeretne a megjelenítésnél, hogy ne kelljen minden postban eltárolni az emberke adatait hanem egy másik táblából jelenítse meg „on the fly”, arra tényleg az összekapcsolás (JOIN) való.Amit xcut szeretne, mármint, hogy ne kelljen minden postban eltárolni az emberke adatait, na erre való az adatbázis normális megtervezése, aminek része a korábban emlegetett normálformákra hozás.
A view pedig egész egyszerûen arra használható, hogy a táblában szereplõ rekordokat, adatokat „mutatja” bizonyos ‘szûrési feltételeknek megfelelõen’. Pl nem minden rekord kell neked, vagy nem minden ‘oszlop’, akkor úgy állítod be a feltételt a view számára.
és a view azért jó, mert rövidebb a querysrting -> rövidebb idõ a kommunikáció…
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz