DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > SQL baze podataka - Sponzor: Baze-Podataka.net
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka

Odgovori
 
Alati teme Način prikaza
Staro 03. 02. 2006.   #61
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Off Topic: E bas je dobar ovaj DBDesigner4, nisam ga do sad nikad koristio..

a jel ima on neku caku da se polju u tabeli dodeli komentar (da ne jurim po helpu)
__________________
Leadership is the art of getting people to want to do what you know must be done.

Poslednja izmena od ivanhoe : 03. 02. 2006. u 20:43.
ivanhoe je offline   Odgovorite uz citat
Staro 04. 02. 2006.   #62
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

U verziji koju korsitim jedno od polja koja mozes da popunis prilikom definisanja polja tabele je i komentar.
Pedja je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #63
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

evo jedne zanimljive (bar meni) price na ovu temu na koju sam slucajno naleteo trazeci nesto peto na sitepointu (da ne ispadne da sam opsednut bazama :P ):

http://www.sitepoint.com/forums/prin...t=82885&pp=200
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #64
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Ajoj, al je taj što je to pisao blesav..

Citat:
So if I use database abstracion and write my application for MySQL and then later want to switch to PostgreSQL or Oracle, although I won't have to change most of the method calls in my scripts, I will still have to change almost all of the SQL queries!
Priča o apstrakciji a onda kaže da će da menja SQL kverije. Pa kakvi SQL upiti ako koristiš upravo apstrakciju? Pa on ne razume uopšte ni pola priče.. Koja glupost. Pa ti sistemu treba da kažeš koju bazu koristiš da bi on mogao da koristi kod specifičan za tu bazu, a ne.. da abstraction layer nekom magijom ima SQL kod koji radi na svim bazama. Svašta. Već sam napisao pre, može da se koristi Factory dp.

Dalje nisam ni čitao.
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 05. 02. 2006. u 08:23.
degojs je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #65
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default

Trebao si jos malo da citas Ono o cemu covek pise ima dosta rezona a mi bas pomenusmo ovde Delphi jer je to njegov rezon i pokazao se veoma mocan i praktican.

Evo cemu se radi, napravis osnovnu klasu koja obezbedjuje uopstene mehanizme za rad sa bazom od kojih su vecina smao definisani ali ne i implementirani.

Onda pravis klasu koja radi sa odredjenom bazom tako sto nasledis osnovnu klasu, obezbedis funkcionalnost za definisane metode a mozes da je prosiris i svojim.

Mozes da napravis i klasu za neku drugu bazu na isti nacin, tako sto nasledis osnovnu, das joj funcionalnost i prosiris je.

Neko sasvim treci, moze da napravi klasu za neku sasvim trecu bazu tako sto ce narpaviti novukalsu nasledjujuci osnovnu.

Osnovna prenost je sto su sve te klase medjusobno kompatibilne, a promena podrzane baze se moze svesti na to da umesto jedne, koristis drugu klasu. naranvo, i dalej ostaje ogranicenje custom SQL upita, koji se ni na koji nacin ne mogu tek tako biti automatski portovani na drugu bazu.
Pedja je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #66
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Citat:
Originalno napisao degojs
Ajoj, al je taj što je to pisao blesav..



Priča o apstrakciji a onda kaže da će da menja SQL kverije. Pa kakvi SQL upiti ako koristiš upravo apstrakciju? Pa on ne razume uopšte ni pola priče.. Koja glupost. Pa ti sistemu treba da kažeš koju bazu koristiš da bi on mogao da koristi kod specifičan za tu bazu, a ne.. da abstraction layer nekom magijom ima SQL kod koji radi na svim bazama. Svašta. Već sam napisao pre, može da se koristi Factory dp.

Dalje nisam ni čitao.

Covek prica o Pear: DB i AdoDB, najpopularnijim abstraction layerima za PHP, i u jednom i u drugom se pisu SQL queriji direktno... tako da ne prica on gluposti nego ti ne znas kako se to radi u php-u...

Da si procitao ceo text video bi da se prica o ideji da je (po njemu) pogresno bazu asptrakovati tabelu po tabelu, ili query po query, nego treba apstrakcija da bude zasnovana na prirodi entiteta sa kojim radis, tipa imas recimo klasu User i sve sa njom radis, a ne zanima te da li userove podatke cuvas u jednoj ili 5 tabela, to je pitanje implementacije same klase i zavisi, izmedju ostalog i od tipa baze...

to je u stvari ista fora kao da imas View u bazi koji ti joinuje sve podatke za Usera, pa sa njim radis...tebe ne zanima odakle ti podaci dolaze u View, samo te interesuje koje se polje kako zove....
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #67
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Postoji velika razlika između apstrakcije pristupa bazi i apstrakcije pristupa podacima. Ljudi kada govore o apstrakcionim slojevima (PHP svet) obično misle na ovo prvo, a trebalo bi da misle na ovo drugo.

PHP kôd:
$conn get_connection('mysql');
if(!
$conn->connect('localhost''root''''test')) die('Ups!');
$result $conn->execute('SELECT * FROM `products`'); 
Primer sam lupio iz glave, ali ovo je nešto što većina PHP developera smatra apstrakcijom (i što degojsu izgleda non stop promiče). To je daleko od prave apstrakcije. Samo je defininisan API za komunikaciju sa više različitih baza i par pomoćnih metoda (izvuci sve podatke iz rezultata kao niz nizova i sl).

Prava apstrakcija bi bilo nešto slično ovome:

PHP kôd:
$user = new User();
$user->setUsername('root');
$user->setPassword('***');
$user->setEmail('mail@somebody.com');
try {
  
$user->save();
} catch(
Exception $e) {
  die(
$e->getMessage());

Da li ja znam šta će se desiti? Znam: novi korisnik će biti kreiran sa zadatim podacima. Da li znam gde će i kako podaci biti sačuvani? Ne nužno... To može biti baza, može biti fajl, može biti poslat zahtev nekoj drugoj aplikaciji na drugom računaru da doda korisnika... Uostalom, ne zanima me. Ako nešto pođe na loše biću obavešten o tome.

OK, dodato. Šta dalje?

PHP kôd:
// Load...
$user Users::load(12);

// Update
$user->setPassword('*******');
try {
  
$user->save();
} catch(
Exception $e) {
  die(
'Greška pri izmeni. Razlog: ' $e->getMessage());
}

// Delete
try {
  
$user->delete();
} catch(
Exception $e) {
  die(
'Greška pri brianju. Razlog: ' $e->getMessage());
}

die(
'Korisnik uspešno orbisan!'); 
Jednostavno se u aplikaciji ne brinemo o načinima na koji se podaci skladište već o samom baratanju njima.

PS: Ja stvarno ne razumem zašto ljudi toliko ističu prebacivanje sa jedne na durgu platformu kao osnovnu prednost apstrakcionih slojeva. Taj slučaj je toliko redak da je to nešto što bi trebalo da se nalazi negde pri dnu features liste. Skroz je OK imati tu mogućnost, ali definitivno je ne treba toliko isticati. Ono što je meni najvažnije kod njih je što te oslobađaju vodoinstalaterskog posla na relaciji aplikacija-baza i mogućnost da se u aplikaciji posvetim samom baratanju podacima.

PPS: Sva tri primera su iz glave i služe samo da ilustruju kompletnu priču kroz kod.

Poslednja izmena od Ilija Studen : 05. 02. 2006. u 14:20.
Ilija Studen je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #68
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

Verovatno zbog nepoznavanja terminologije, ja takav nacin rada nazivam "modularni pristup", bas iz razloga sto meni, recimo, sloj za interakciju sa bazom predstavlja poseban modul, koji se automatski ucitava ako ja iz nekog treceg modula pozovem modul User (jer sticajem okolnosti korisnike cuvam u mysql bazi), a koje module on koristi da bi obavio posao apsolutno me se ne tice - koristim njegove metode i tako za svaki pojedinacan modul.

Mislim da se mogucnost transparentne promene db engine-a forsira pre svega sto omogucava developerima koji koriste razlicite baze da koriste isti abstraction layer na potpuno isti nacin kao da koriste bilo koju od podrzanih baza, dakle iz razloga popularizacije istog. A to sto programer koji koristi pgsql verovatno nikad nece hteti da koristi recimo sqlite... Pa, bitno je da ima i tu mogucnost...
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams
zextra je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #69
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Citat:
Originalno napisao zextra
Mislim da se mogucnost transparentne promene db engine-a forsira pre svega sto omogucava developerima koji koriste razlicite baze da koriste isti abstraction layer na potpuno isti nacin kao da koriste bilo koju od podrzanih baza, dakle iz razloga popularizacije istog.
Slažem se, ali preterano isticanje te mogućnosti je dovelo do toga da dobar deo programera gleda na to kao njihovu jedinu svrhu...
Ilija Studen je offline   Odgovorite uz citat
Staro 05. 02. 2006.   #70
zextra
Boris
Grand Master
 
Avatar zextra
 
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
zextra is on a distinguished roadzextra is on a distinguished road
Default

I never said it's a Good Thing(tm)
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams
zextra je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Koji font koristite u editoru? bluesman Programiranje 53 22. 10. 2009. 00:53
Koji tekst editor koristite i zašto? Milos Vukotic Opušteno 133 04. 06. 2009. 01:27
koji JS menu koristite? dootzky (X)HTML, JavaScript, DHTML, XML, CSS 6 17. 11. 2006. 22:32
Koji AV software koristite dinke Opušteno 22 12. 03. 2006. 07:05
Koji framework koristite? Ilija Studen PHP 3 19. 06. 2005. 19:25


Vreme je GMT +2. Trenutno vreme je 21:56.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.