31. 07. 2006. | #1 |
Nekad bio ddz
Expert
|
Jedan artikal u više kategorija
Pišem skript za jednu on-line prodavnicu, pa sam naišao na sledeću mozgalicu:
Do sada sam se sretao samo sa slučajevima kada jedan artikal pripada jednoj kategoriji kataloga, i pripadnost kategoriji sam određivao tako što je tabela sa artiklima imala i polje za ID kategorije kojoj artikal pripada. Međutim, sad sam došao u situaciju gde isti artikal može da se pojavljuje u nekoliko različitih kategorija. Ono što mi prvo pada na pamet je da napravim odvojenu tabelu sa dva polja - id i id_kategorije, pa da je onda kombinujem sa glavnom tabelom. Ima li boljih rešenja?
__________________
Converting dead links into hyperlinks since 1996. |
31. 07. 2006. | #2 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Ne, koliko je meni poznato.
|
31. 07. 2006. | #3 | |
majstor
Wrote a book
|
Citat:
|
|
31. 07. 2006. | #4 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Neki PHP hakeran iz Ukrajine bi stavio category_id polje kao VARCHAR i u njega stavio IDjeve kategroija odvojene unapred definisanim separatorom. Ali mi nismo ni hakerani, a nismo ni iz Ukrajine. A i ne potpisujemo se sa alex.
Sorry za gunđanje, ovo je bilo po istinitom događaju. Još bi bilo dobro da je samo na jednom mestu, ali čovek je realizovao sve m:n veze na ovaj način
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
31. 07. 2006. | #5 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Jos jedan glas za glue table, kao sredstvo za resavanje many2many relacije.
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
31. 07. 2006. | #6 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Neki su to radili sa serialize
__________________
Năo quero mais seguir um só caminho |
31. 07. 2006. | #7 |
I think I'm a sofa...
Professional
Datum učlanjenja: 16.11.2005
Poruke: 438
Hvala: 9
28 "Hvala" u 25 poruka
|
Kao što si i mislio dodatna tabela je najbolji način za to. Nemoj izmišljati mlaku vodu kada savršeno nema potrebe za tako nečim.
|
31. 07. 2006. | #8 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Koliko znam Moreno je radio neku drugu varijantu (ako se ne varam int ili bigint polje gde je svaka vrednost za odredjenu kategoriju jedan bit u broju), koju smo testirali protiv "standardne" varijante sa m:n odnosom, i ispostavilo se nakon benchmark-a da je prva varijanta znatno brza (doduse, benchmark obavljen na mysql-u na windows desktop makini).
Moreno moze vise o tome, ne secam se preterano detalja |
31. 07. 2006. | #9 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Ah da, trebalo mi je neko ultrabrzo resenje, posto je bilo u pitanju potencijalno veliki broj istovremenih mysql upita (problem sa lockovanjem), da ne duzim sad..
Primer, 4 kategorije se mogu predstaviti binarno: 1000, 0100, 0010, 0001 (decimalno: 8, 4, 2, 1) Ako neko izabere prvu i trecu kategoriju, to je 1010 (dec: 10) Naravno, samo decimalni broj se smesta u polje A svi znamo da je upit nad jednom tabelom brzi od rada nad obe
__________________
Năo quero mais seguir um só caminho Poslednja izmena od MorenoArdohain : 31. 07. 2006. u 19:58. |
31. 07. 2006. | #10 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
To jeste jedno od mogućih rešenja, ali ima par mana:
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
SEO, više domena, ... | kickloop | Marketing i SEO | 13 | 18. 10. 2010. 22:50 |
[MySQL] Neogranicen broj kategorija i proizvoda, upit | mb_sa | SQL baze podataka - Sponzor: Baze-Podataka.net | 8 | 31. 05. 2009. 15:19 |
Id, kategorija - jedan query | Ivan | SQL baze podataka - Sponzor: Baze-Podataka.net | 4 | 13. 11. 2007. 04:09 |
MySQL: Više tabela, više baza ili? | Ilija Studen | SQL baze podataka - Sponzor: Baze-Podataka.net | 22 | 23. 10. 2007. 00:24 |
WordPress & pretvaranje kategorija u tagove | Dejan Topalovic | Web aplikacije, web servisi i software | 1 | 17. 10. 2007. 01:14 |