| Autor | Správa |
Jojko001
 Užívateľ
 Založený: 11.08.2009 Príspevky: 23
 | Zaslal: Po 12.12.11 23:59 |   |
Snazim sa najst sposob (ideu) ako filtrovat produkty pomocou roznych parametrov ako je napriklad na stranke http://digitalne-fotoaparaty.heureka.sk/.
| kód: |
Tabulka s definovanymi parametrami:
field_id field_name
-----------------------
1 Šírka
2 Hlavná pamäť
3 Dodávaná grafika
4 Objem
5 Pevný disk
6 Príslušenstvo
7 Na objednávku
Parametre produktu:
product_id field_id value
----------------------------------------
10 2 512
20 1 35
30 3 Geforce
40 4 45
50 3 nVidia
60 7 Ano
70 6 Puzdro
|
Neviem ci filtrovat data prostrednictvom MySQL alebo ist cestou vytvorit mnoziny (asociativne array) a robit mnozinove operacie zjednotenie a prienik?
Aky sposob by ste mi odporucili, pricom vysledok by mal byt podobny ako na spomenutej stranke, pricom tie aktualne pocty pri kazdej vlastnosti su nutnostou. |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
Filtrovanie výsledkov patrí do databázy, na to boli vôbec databázy vymyslené... Uložiť dáta nie je problém v hocijakom textovom súbore. |
| |
  |
 |
Jojko001
 Užívateľ
 Založený: 11.08.2009 Príspevky: 23
 |
Ano to mi je jasne, ak narazas na tie polia. Neviem co si myslel pod tym textovym suborom?
Len pre vysvetlenie tych asociativnych poli:
Z danej kategorie by som si vybral vsetky produkty => na zaklade daneho vyberu by som nasledne vytvoril jednotlive mnoziny (array) s vlastnostami (params) a pomocou danych mnozinovych operacii by som hladal jednotlive pocty napr: nVidia (+35), atd..
Tie polia budu asi efektivnejsie ako vyhladavat to v MySQL - z hladiska casu.
// pridané po 1 minúte od posledného príspevku
Samozrejme, vsetky data su ulozene v DB. |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
Textový súbor som myslel tak, že tam len nacápeš nejaké údaje a keď s nimi potrebuješ čokoľvek robiť, musíš to riešiť v aplikácii. Databáza je o tom, že máš veci uložené v tabuľkách, nad ktorými robíš operácie - filtrovanie, výber, mazanie atď.
Nevidím dôvod toto riešiť v aplikácii, keď to patrí proste pod databázu. Určite to nebude efektívnejšie naprogramované ako mysql. Mysql bolo na to určené, ty si chceš vymýšľať svoj spôsob... Ak mi chceš povedať, že poznáš efektívnejšie algoritmy ako tvorcovia databáz, nechápem, čo robíš na tomto fóre. |
| |
  |
 |
Jojko001
 Užívateľ
 Založený: 11.08.2009 Príspevky: 23
 |
Takze len pre ujasnenie:
1. nie som zelenac
2. by si sa divil kolko profesionalych aplikacii (podotykam velkych aplikacii) je robenych tak, ze data su sice ulozene v DB, ale filtrovanie a sortovanie sa deje mimo nej, lebo je to ovela efektivnejsie...
Mna zaujima sposob (nie kod, ale myslienkove pochody) ako by ste postupovali pri tvorbe daneho typu filtra, konkretne akym sposobom zistovat tie ciselka, ktore su uvedene v zatvoreke. Vid. na tej stranke, bo vyssie v komentoch... |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
1.) možno nie, ale pýtaš sa na základ navrhovania aplikácií
2.) keď je to oveľa efektívnejšie, je nezmysel riešiť databázu. Ľudia robia rôzne kraviny a aj pri aplikáciách, pri ktorých by človek čakal najväčšiu profesionalitu, sa robia chyby. Kladie sa dôraz na rýchlosť vývoja, nie na kvalitu. Stačí si pozrieť hry, ktorých vývoj stojí nehorázne peniaze a maká na nej stovky ľudí, a predsa sú schopní dať ju do predaja nedokončenú, neustále BSOD atď.
Nemám pocit, že by som ti písal kód, práve naopak. Ja tvrdím, že filtrovanie výsledkov patrí logicky do databázy, keď si ty myslíš opak, veľa šťastia. Ja k tomu už nemám čo povedať. |
| |
  |
 |
|