Prijava na forum:
Ime:
Lozinka:
Prijavi me trajno:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:

ConQUIZtador
nazadnapred
Korisnici koji su trenutno na forumu 0 članova i 1 gost pregledaju ovu temu.


Tema za pitanja
o SMF forumu, phpBB2 i phpBB3 forumu, Wordpress i Joomla CMS sistemima!

Za vecinu drugih pitanja nacicete odgovor citajuci Top teme!

Idi dole
Stranice:
2  Sve
Počni novu temu Nova anketa Odgovor Štampaj Dodaj temu u favorite Pogledajte svoje poruke u temi
Tema: Problem pri konstruisanju sql baze za online shop  (Pročitano 10272 puta)
05. Nov 2015, 15:56:02
Ucesnik diskusija


Zodijak Aquarius
Pol Muškarac
Poruke 73
Zastava Niš
Browser
Chrome 46.0.2490.80
mob
LG L90
Da li neko može da mi kaže kako da konstruišem bazu tako da jedan isti produkt ima nekoliko različitih verzija u odnosu na boju? To bi podrazumevalo da kada korisnik izabere ponuđenu boju, da se slika produkta promeni. Produkt A bi mogao da bude žut, crven i crn i samim tim ima 3 različite verzije, odnosno 3 sličice, ali isti ID. Kao na ovom sajtu http://www.wardow.com/business-laptop?manufacturer=Piquadro . Recimo, imao bih tabelu produkti koja je sačinjena od kolona id, ime, boja_id, veličina, tip_id, slika, kao glavnu. Pored nje bi išla tabela tip sa id i imenom kao kolonama i tabela boja koja bi imala iste kolone. Šta bih još morao da ubacim ili odvojim? Hvala unapred.
IP sačuvana
social share
Pogledaj profil
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Poznata licnost


Liberté, égalité, fraternité!

Zodijak Aquarius
Pol Muškarac
Poruke 4891
Zastava Vozdovac - Republika
OS
Windows 7
Browser
Chrome 46.0.2490.80
mob
Samsung S7
Moras da normalizujes bazu podataka. Da ne pominjem to da je boja samo jedan od atributa koje proizvod moze da ima. Sta ako ti sutra dodje zahtev da predmet mora da ima jos neke atribute i da pritom jos zelis da pretrazujes proizvode po to atributu. To se jos dodadtno komplikuje ako imas check box na sajtu pa das mogucnost da neko trazi i crvenu i zutu boju.

Imas dva osnovna puta. Prvi je da napravis tabelu svih boja koje postoje. Onda da napravis posebnu tabelu takozvanu medjutabelu koja bi definisala ProizvodId, BojaId, PutanjaDoSlike (naziv slike).

Drugi put je da napravis generalnu tabelu svih mogucih atributa i onda ih spojish preko zajednicke medjutabele tipa

ProizvodId, AttributId.

U svakom slucaju moras prilikom dizajniranja baze (modela) da budes jako pazljiv jer ce te jebati to kasnije ako nisi unpred predvideo scenarije. Ok, ovo se mozda malo razilazi sa Agilnim pristupom savremenog principa vodjenja projekta, ali ipak, dizajn baze je drugi po redu po vaznosti od dizajna biznis modela na srednjem sloju aplikacije (multi layer design)

« Poslednja izmena: 05. Nov 2015, 17:35:55 od bluesoniq »
IP sačuvana
social share
Pogledaj profil WWW Twitter Facebook
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Moderator
Legenda foruma


Zodijak Taurus
Pol Muškarac
Poruke 31625
Zastava Beograd
OS
Windows
Browser
Chrome 46.0.2490.80
mob
Nokia 6120
Upravo tako kako je rekao čovek iznad...

Generalno treba da izbegneš ponavljanje podataka gde god je to moguće, zato se i rešava tako
IP sačuvana
social share
Pogledaj profil WWW
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Ucesnik diskusija


Zodijak Aquarius
Pol Muškarac
Poruke 73
Zastava Niš
OS
Windows 7
Browser
Chrome 46.0.2490.80
mob
LG L90
Hvala puno na iscrpnom objašnjenju. Smile Od svega što znam, mislim da sam najveći početnik što se tiče baza. Ako sam dobro razumeo, to bi otprilike ovako izgledalo: http://prntscr.com/8zgxln
« Poslednja izmena: 05. Nov 2015, 22:24:34 od Dooxxx »
IP sačuvana
social share
Pogledaj profil
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Poznata licnost


Liberté, égalité, fraternité!

Zodijak Aquarius
Pol Muškarac
Poruke 4891
Zastava Vozdovac - Republika
OS
Windows 7
Browser
Chrome 46.0.2490.80
mob
Samsung S7
Nije lose. Samo bih ja promenio u nvarchar. E jos ima jedna cakica, ako hoces da pratish istoriju cena, onda mozda razmisliti o posebnoj tabeli za cene, sa sve datumom promene, staracena, datum, novacena.

Cena float? mozda?

decimal 10, 0   sta ako imas 50 centi ili sl?

« Poslednja izmena: 05. Nov 2015, 22:31:30 od bluesoniq »
IP sačuvana
social share
Pogledaj profil WWW Twitter Facebook
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Ucesnik diskusija


Zodijak Aquarius
Pol Muškarac
Poruke 73
Zastava Niš
OS
Windows 7
Browser
Chrome 46.0.2490.80
mob
LG L90
Meni je bitno da sam na pravom putu Wink U principu bi bile zaokružene cifre ali sada kada bolje razmislim, mislim da bi moglo da se ubaci i nešto na foru 59.99 i slično. Znači float. Zanima me još jedna bitna stavka. Pošto bih filtrirao podatke, kakav bi bio sql query s obzirom na povezanost tabela. Back-end radim u PHP-u. Ono što meni pada na pamet je:
Kod:
SELECT * FROM produkti INNER JOIN boja_kon ON produkti_id = produkti.id AND INNER JOIN brand ON brand_id = brand.id WHERE TRUE AND boja_naziv = $boja_naziv AND brand_ime = $brand_ime.....
Kako da, na primer, izvučem žutu varijantu (sliku) produkta A ako je klijent to izabrao?
IP sačuvana
social share
Pogledaj profil
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Poznata licnost


Liberté, égalité, fraternité!

Zodijak Aquarius
Pol Muškarac
Poruke 4891
Zastava Vozdovac - Republika
OS
Windows 7
Browser
Chrome 46.0.2490.80
mob
Samsung S7
inner join se koristi samo ako si siguran da svaki proizvod ima boju. Ako kojim slucajem imas proizvode bez definisane boje, ovaj select upit ti nece doneti podatke. Left Join pogledaj.

Select bp.slikapath from boja_prod bp left join product p on p.productid = bp.productid left join boje b on b.bojaid = bp.bojaid where b.bojanaziv = 'zuta'

ako nece left, probaj right
IP sačuvana
social share
Pogledaj profil WWW Twitter Facebook
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Ucesnik diskusija


Zodijak Aquarius
Pol Muškarac
Poruke 73
Zastava Niš
OS
Windows 7
Browser
Chrome 47.0.2526.80
mob
LG L90
Posle mesec i kusur dana vraćam se na ovaj problem. Smiley Mislim da sam razumeo šta podrazumeva normalizacija baze ali nije mi najjasnije kako da izvučem potrebne informacije preko SQL upita. Npr. meni je potreban naziv produkta, cena, SVE BOJE i odgovarajuće slike koje zavise od tih boja, brand, format. Korisnik bi filtrirao informacije na osnovu branda, formata, boje i cene. jQuery pokupi id-e checkbox-ova koji su čekirani i šalje ih AJAX-om skripti u php-u koja komunicira sa bazom. Na osnovu ovog dizajna http://prntscr.com/9efu2g , pomenute informacije izdvajam iz različitih tabela. Nije mi baš jasno kako da formulišem SQL upit. Gore si napisao kako bih mogao da izvučem jednu informaciju...
IP sačuvana
social share
Pogledaj profil
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Poznata licnost


Liberté, égalité, fraternité!

Zodijak Aquarius
Pol Muškarac
Poruke 4891
Zastava Vozdovac - Republika
OS
Windows 7
Browser
Chrome 47.0.2526.80
mob
Samsung S7
Ajde ovako

Ti imas podatke snimljene u bazi podataka u obliku 2D tablela. Tabele se medjusobno spajaju putem INNER JOIN-a striktno i putem LEFT OUTER JOIN-a koji ce u slucaju nedostajucih informacija na mesto spoljasnjeg kljuca staviti NULL.

Ja sam ti dao odgovor na pitanje kako da dobijes proizvod zute boje... itd.

Ovo sto ti sad trazis je kako da dobijes jedan proizvod u vise boja (dakle nije samo 2D tabela) sa pripadajucim brandovima...

Uglavnom ces dobiti kroz SQL upit nesto poput ovoga

Pr. | Boja | Brand | Format
-----------------------------------------------------------
Tastatura Crna Logitech  XYZ
Tastatura Plava Logitech XYZ
Tastatura Crvena Logitech XYZ
Tastatura Crna HP XYZ
Tastatura Plava HP XYZ


Kao sto vidis nema veze izmedju Branda i Formata, tako da ce SQL upit da pokupi sve kombinacije. Cak i nemoguce.



IP sačuvana
social share
Pogledaj profil WWW Twitter Facebook
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Ucesnik diskusija


Zodijak Aquarius
Pol Muškarac
Poruke 73
Zastava Niš
OS
Windows 7
Browser
Chrome 47.0.2526.80
mob
LG L90
Koliko sam te ja razumeo, moraću da prepravim bazu kako bi ovo što tražim bilo moguće? Palo mi je na pamet da dodam još jednu tabelu sa putanjama do određenih slika koja će biti povezana za tabelu sa bojama, tako da jedan produkt može da ima recimo tri boje i da za svaku boju ima određenu sliku (u toj boji)...Našao sam nešto što odgovara mojoj zamislim: http://prntscr.com/9ehh3a . Kao što možeš da vidiš, ovde su u jednom meniju izabran brand, dominantna boja i tema. Ispod svakog artikla su izlistane sve boje u kojima može da bude artikala a selektovana je ona koja je u meniju sa strane filtrirana. Ako se pređe preko neke druge boje, slika se promeni. Izgleda da sam zagrizao više nego što mogu da progutam... U svakom slučaju, gledam da naučim što više radeći na ovome...Unapred se izvinjavam ako nešto lupnem Smile
IP sačuvana
social share
Pogledaj profil
 
Prijava na forum:
Ime:
Lozinka:
Zelim biti prijavljen:
Trajanje:
Registruj nalog:
Ime:
Lozinka:
Ponovi Lozinku:
E-mail:
Idi gore
Stranice:
2  Sve
Počni novu temu Nova anketa Odgovor Štampaj Dodaj temu u favorite Pogledajte svoje poruke u temi
nazadnapred
Prebaci se na:  

Poslednji odgovor u temi napisan je pre više od 6 meseci.  

Temu ne bi trebalo "iskopavati" osim u slučaju da imate nešto važno da dodate. Ako ipak želite napisati komentar, kliknite na dugme "Odgovori" u meniju iznad ove poruke. Postoje teme kod kojih su odgovori dobrodošli bez obzira na to koliko je vremena od prošlog prošlo. Npr. teme o određenom piscu, knjizi, muzičaru, glumcu i sl. Nemojte da vas ovaj spisak ograničava, ali nemojte ni pisati na teme koje su završena priča.

web design

Forum Info: Banneri Foruma :: Burek Toolbar :: Burek Prodavnica :: Burek Quiz :: Najcesca pitanja :: Tim Foruma :: Prijava zloupotrebe

Izvori vesti: Blic :: Wikipedia :: Mondo :: Press :: Naša mreža :: Sportska Centrala :: Glas Javnosti :: Kurir :: Mikro :: B92 Sport :: RTS :: Danas

Prijatelji foruma: Triviador :: Domaci :: Morazzia :: TotalCar :: FTW.rs :: MojaPijaca :: Pojacalo :: 011info :: Burgos :: Alfaprevod

Pravne Informacije: Pravilnik Foruma :: Politika privatnosti :: Uslovi koriscenja :: O nama :: Marketing :: Kontakt :: Sitemap

All content on this website is property of "Burek.com" and, as such, they may not be used on other websites without written permission.

Copyright © 2002- "Burek.com", all rights reserved. Performance: 0.112 sec za 16 q. Powered by: SMF. © 2005, Simple Machines LLC.