Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

mysql nekoliko kategorija jednog proizvoda

[es] :: MySQL :: mysql nekoliko kategorija jednog proizvoda

Strane: 1 2

[ Pregleda: 5578 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

wRong
Djordje Savic
Beograd

Član broj: 17354
Poruke: 65
*.vdial.verat.net



Profil

icon mysql nekoliko kategorija jednog proizvoda12.05.2004. u 12:54 - pre 242 meseci
Pozdrav ,
treba mi mala pomoc oko izrade mysql baze podataka.
Baza treba da sadrzi 1000-10.000 razlicitih proizvoda a svaki proizvod ima nekoliko kategorija i podkategorija kojima pripada.
Mislio sam da za sve kategorije i podkategorije napravim posebnu tabelu a u glavnoj tabeli da cuvam njihov id ali je problem sto bi u jednom polju morao da drzim nekoliko id za svaku kategoriju i podkategoriju sto mislim da nije dobro resenje.Treba da napomenem da postoji i mogucnost dodavanja novih kategorija i podkategorija.
Nadam se nekom brzom odgovoru posto mi je prilicno hitno.

wRong
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 13:06 - pre 242 meseci
To ti je relacija više prema više. Kreira se tabela koja spaja tabele proizvoda i kategorija.

Pripada (id_proizvoda, id_kategorije)
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 13:07 - pre 242 meseci
Uzmimo jednostavan slucaj gde svaki proizvod moze da bude u vise kategorija

Trbaju ti tri tabele: tablea kategorija, tablea proizvoda i table koja povezuje proizvode sa kategrijama


KATEGORIJE

ID_KATEGORIJE
NAZIV


PROIZVODI

ID_PROIZOVDA
NAZIV


KAT_PRIOIZV

ID_KATEGORIJE, ID_PROIZVODA

Sada za svaki proizvod u KAT_PROIZV stais slog za kategoriju kojoj pripada, koliko kategorija, toliko proizvoda.

Kada uvedes podkategorije to unekoliko komplikuje stvar ali je princip isti.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 13:28 - pre 242 meseci
Ja bih to napravio ovako:
- kreiras 3 tabele:
1. tabela_proizvodi
id_pro
... ostala polja za proizvod ...

2. tabela_kategorije
id_kat
id_subkat
... ostala polja za kategoriju ...

U id_subkat stavljas id_kat one kategorije kojoj je ta kategorija podkategorija.
Npr. id_kat = 1 je za kategoriju "Kategorija1". Ako kreiras neku podkategoriju npr. "podkategorija1", onda ces staviti id_kat = 2, id_subkat = 1 . Ako se radi o kategoriji, onda je njen id_subkat NULL .
Valjda je jasno ... Ili da objasnim jos detaljnije ?

3. tabela_lookup
id_za_proizvod
id_za_kategoriju

To stavis sve u PRIMARY KEY. Npr. imaces kombinaciju (id_za_proizvod, id_za_kategoriju)


Dala bi se izvesti kombinacija i sa razdvajanjem kategorija od podkategorija, ali onda bi se zakomplikovalo sve pri sklapanju odgovarajuceg SELECT upita ili neke druge operacije (UPDATE, DELETE, INSERT).
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

wRong
Djordje Savic
Beograd

Član broj: 17354
Poruke: 65
*.vdial.verat.net



Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 16:36 - pre 242 meseci
Ok,
jasno mi je kako da povezem kategorije i pod kategorije,
ali problem je sto jedan proizvod moze da spada pod nekoliko kategorija i nekoliko pod kategorija,sto znaci da bi na 1000 proizvoda ako proiz. ima 4 kat i 14 pod kat. imao 56000 kombinacija u tabeli look_up ,a na 10.000 proizvoda 600.000 kombinacija???
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 17:20 - pre 242 meseci
Pa, ako imas 4 kategorije sa 14 podkategorija u svakoj, onda je to otprilike taj iznos koji si naveo.
Mozes ti da izvedes da kategorije i podkategorije cuvas samo u jednoj koloni, a da su te vrijednosti medjusobno odvojene nekim proizvoljnim delimiterom, npr. %% ili :: . Medjutim, onda moras da vrsis naknadne operacije da bi izvukao odredjenu zeljenu vrijednost za pojedinu kategoriju ili kategoriju kojoj proizvod pripada.

Vidi kako ti je lakse i efikasnije, pa optimizuj po svojoj potrebi.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

wRong
Djordje Savic
Beograd

Član broj: 17354
Poruke: 65
*.vdial.verat.net



Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 18:21 - pre 242 meseci
Citat:
Vidi kako ti je lakse i efikasnije, pa optimizuj po svojoj potrebi

pa lakse mi je da ubacim nekoliko vrednosti u jednu kolonu ali ne znam kako je efikasnije
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651
Via: [es] mailing liste



+165 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 18:24 - pre 242 meseci
Čuvanjem više takvih vrednosti u istoj koloni baza gubi smisao. Što onda ne bi sve držao u jednom txt fajlu ako će ručno da parsira i pazi o storage-u? Tri tabele pod obavezno, a ne znam što te brine broj kombinacija, to su mala polja, indeksi će raditi posao i ni 600.000 redova neće zauzeti mnogo vremena ili značajno usporiti query. Možeš i da obaviš testiranje sa kverijima koje planiraš i vidiš koliko je sve optimizovano pre nego što se odlučiš za neko rešenje.
 
Odgovor na temu

wRong
Djordje Savic
Beograd

Član broj: 17354
Poruke: 65
*.vdial.verat.net



Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 19:28 - pre 242 meseci
Citat:
Možeš i da obaviš testiranje sa kverijima koje planiraš i vidiš koliko je sve optimizovano pre nego što se odlučiš za neko rešenje.


to bi voleo da testiram ali kako da simuliram 1000 proizvoda u bazi???


Citat:
Tri tabele pod obavezno, a ne znam što te brine broj kombinacija, to su mala polja, indeksi će raditi posao i ni 600.000 redova neće zauzeti mnogo vremena ili značajno usporiti query.


pa nemam puno iskustva pa zato i pitam znaci mislis da je to ok resenje?


imam problem i sa cenom,ne znam koliko da trazim za izradu jedne ovakve baze ima tu jos dodatnih zezalica ovo je samo jedan deo.Koliko naplacujete takve stvari,mada znam da je ovo tabu tema ali ajde mozda mi neko kaze
:)
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 20:10 - pre 242 meseci
Citat:
wRong:
Ok,
jasno mi je kako da povezem kategorije i pod kategorije,
ali problem je sto jedan proizvod moze da spada pod nekoliko kategorija i nekoliko pod kategorija,sto znaci da bi na 1000 proizvoda ako proiz. ima 4 kat i 14 pod kat. imao 56000 kombinacija u tabeli look_up ,a na 10.000 proizvoda 600.000 kombinacija???

Ne razumem se baš tako u tu matematiku - kako dobijaš 56000 kombinacija?

Za svaki proizvod imaš tačno onoliko zapisa u tabeli look_up koliki je broj kategorija i potkategorija kojima taj proizvod pripada. Ako se - prema tvom primeru - svaki proizvod nalazi u 4 kategorije i 14 potkategorija, i ako ima 1000 takvih proizvoda - to mu dođe ukupno 18000 zapisa u tabeli look_up.

I obrati pažnju da su potkategorije u stvari kategorije tako da možeš da ih zanemariš pri analizi.
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.vdial.verat.net



+3 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 20:36 - pre 242 meseci
Bez obzira na broj proizvoda (ili mogucih kombinacija) nikako ne bi smeo da narusavas 1NF pogotovo u tabeli koja spaja proizvode i kategorije. Nad tabelom ces ionako da dignes indeks koji ce znatno ubrzati izvrsenje upita u odnosu na drugo resenje (sa narusenom 1NF). Samo treba malo razmisiliti o nacinu pretrage kada je narusena 1NF i takvo resenje odmah odbaciti.
@Stripy
Ti imas polozen neki od Oracle sertifikata?? (i mozes da mu predlozis takvo resenje)
Owl
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651
Via: [es] mailing liste



+165 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 20:40 - pre 242 meseci
MISLIM da to nije mnogo i da se neće ni osetiti, ali nemoj da se oslanjaš na naša mišljenja već sam testiraj pošto dosta faktora utiče na krajnje performanse - opterećenje servera u datom trenutku, optimizovanost servera i količina dostupnog rama, dobro planirani indeksi, dobro planirani kveriji (takvi da ih mysql može optimizovati, imaš na sajtu šta on zna da optimizuje u upitu a šta ne), itd.

Napravi scriptu koja će dodati 100000 proizvoda i smestiti ih u odgovarajuće kategorije u loopu. Imena mogu isto biti generisana jer nisu bitni pravi nazivi za ishod testiranja. Pisanje takve scripte ne oduzima obično više od 10-15 minuta.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda12.05.2004. u 20:43 - pre 242 meseci
@_owl_: Naravno da sam protiv tog drugog rjesenja. To sam naveo onako samo kao neko eventualno rjesenje, ako je covjeku tako lakse (mada znam da nije ). Sta ja znam kako je on zamislio strukturu razvoja svega ovoga i na koji nacin misli da obradjuje podatke iz baze.
Nisam mu izricito naredio:"Moras da koristis to drugo rjesenje!"

Dakle, konacan zakljucak bi bio da uradi onako sa tri tabele kao sto smo mu rekli.
Sto se tice cijene, to je varijabilno i diskutabilno pitanje. Ako radis ovo sa PHP-om, onda za ovaj dio projekta u koji spadaju projektovanje strukture baze i izrada PHP skripti, mozes uzeti 200-300 evra. Za neke druge stvari dodaj iznos u zavisnosti koliko je ulozeno vremena u to.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

wRong
Djordje Savic
Beograd

Član broj: 17354
Poruke: 65
*.vdial.verat.net



Profil

icon Re: mysql nekoliko kategorija jednog proizvoda13.05.2004. u 15:26 - pre 242 meseci
Citat:
Ne razumem se baš tako u tu matematiku - kako dobijaš 56000 kombinacija?

ni meni matematika nije jaca strana :)
1+1=0
Citat:
Napravi scriptu koja će dodati 100000 proizvoda i smestiti ih u odgovarajuće kategorije u loopu. Imena mogu isto biti generisana jer nisu bitni pravi nazivi za ishod testiranja. Pisanje takve scripte ne oduzima obično više od 10-15 minuta.


to cu i da uradim

 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.ppp-01.sa.lol.ba.



Profil

icon Re: mysql nekoliko kategorija jednog proizvoda13.05.2004. u 22:04 - pre 242 meseci
Evo kako to ja uradim:

Code:
CREATE TABLE `products` (
  `productid` int(11) NOT NULL auto_increment,
.....
.....
.....
.....
  `categoryid` int(11) NOT NULL default '0',
  `categoryid1` int(11) NOT NULL default '0',
  `categoryid2` int(11) NOT NULL default '0',
  `categoryid3` int(11) NOT NULL default '0',
......
......
......

  `forsale` char(1) NOT NULL default 'Y',
.....
  PRIMARY KEY  (`productid`),
......
  KEY `categoryid1` (`categoryid1`,`categoryid2`,`categoryid3`),
  KEY `category` (`categoryid`),
.......
.......
.......
......
  KEY `categories` (`forsale`,`categoryid`,`categoryid1`,`categoryid2`,`categoryid3`)
) ENGINE=MyISAM; 
 
Odgovor na temu

bluesman

Član broj: 4505
Poruke: 1895
*.216.EUnet.yu



+1 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda14.05.2004. u 11:10 - pre 242 meseci
Zašto tako "networče-admine" ? :-)
Goran Pilipović fka bluesman
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda14.05.2004. u 11:23 - pre 242 meseci
Da, zasto tako? Mozes li objasniti svoj princip strukturisanja te tabele u bazi?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651
Via: [es] mailing liste



+165 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda14.05.2004. u 11:26 - pre 242 meseci
NetworkAdmine tako krsis pravila normalizacije o kojima smo pricali. I bas da vidim kako ces da dodas proizvod u vise od 4 kategorije? Znamo da je dodavanje kolona 'skuplje' po svakom pitanju od dodavanja novih redova.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda14.05.2004. u 13:39 - pre 242 meseci
Ako je pred aplikacijom takav zahtev da ne treba vise od 4 kategorije, onda ovo ima smisla, narocito za web aplikacije, jer se time stvari dosta pojednostavljuju (web korisnicki interfejs se uproscava).
 
Odgovor na temu

bluesman

Član broj: 4505
Poruke: 1895
*.33.eunet.yu



+1 Profil

icon Re: mysql nekoliko kategorija jednog proizvoda14.05.2004. u 13:53 - pre 242 meseci
Ovo je sve samo nije pojednostavljenje.

Pedja, ne znam samo kakve veze ima "web korisnicki interfejs" odnosno njegovo "uproscavanje" sa ovim, a narocito zasto je ovako "prostije"?
Goran Pilipović fka bluesman
 
Odgovor na temu

[es] :: MySQL :: mysql nekoliko kategorija jednog proizvoda

Strane: 1 2

[ Pregleda: 5578 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.