Ukládání různých typů produktů do databáze

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Ukládání různých typů produktů do databáze
« Odpověď #15 kdy: 20. 12. 2019, 17:11:28 »
2. Zlozitejsia administracia. Editor musi vediet nastavit davkovo ceny pre rozne kombinacie atributov, pretoze nechce zadavat manualne vsetky kombinacie, ale zas musi vediet nastavit ked chce aj lubovolnu moznu kombinaciu. OK, u toho tricka s max 24 kombinaciami mozeme zobrazit maticu input boxov ale co ten produkt s milion kombinaciami?

Rekl bych ze tohle se systemove resi stylem "prislusenstvi", kde pro urcity produkt (Panske tricko), mate pridruzene pseudoprodukty / prislusenstvi: Barvu, Rozmer, Potlac. A tyto maji kazda svuj priplatek a povinnost/neopakovatelnost. Pokud chcete nejakou specialitu v cene, tak muzete aplikovat dalsi polozku - podminenou slevu/priplatek, kde existence kombinace pseudoproduktu v kosiku zpusobi zmenu ceny.

Milionove kombinace muzou byt v autoprumyslu (viz prvni stranku servisni knizky moderniho auta - jak tam jsou kody vypsane kombinace te konkretni sestavy) a nemyslim si, ze by s tim meli problem na 30 vterin :)

Dejte trocha fantazie do modelovani, vse ma nejake reseni. Zpusob jakym jste chtel pouzit EAV je nesystemovy, ale to neni problem patternu, ale uzivatele.

Zakladni rozhodnuti ktere musite udelat je, zda vest kazdou variantu jako separatni produkt, nebo se opravdu jedna o mekkou variaci / prizpusobeni, ktere se uplatnuje az pri konfiguraci produktu a pak nastupuje treba i dynamicka cenotvorba. Nelze mit oboji zaroven.
« Poslední změna: 20. 12. 2019, 17:13:42 od RDa »


Re:Ukládání různých typů produktů do databáze
« Odpověď #16 kdy: 21. 12. 2019, 09:42:24 »
Co popisujes, je celkem bezna potreba eshopu, inzertnich serveru, porovnavacu apod. Tento problem jsem pred lety resil a vyresil v souladu s pozadavky, ktere uvadis (administrovatelnost za behu, rychlost odezvy vyhledani, velikost entitnich mnozin), protoze to byly i moje pozadavky. Reseni je ale postavene na tom, ze centralnim prvkem bussiness logiky neni databaze (ta se pouziva jako persistentni storage s podporou transakci pro data), ale runtime aplikace (v mem pripade Java). Ty ale nepises, kterou technologii chces pouzit jako jazyk pro spravu bussines objektu. Jako uloziste jsem pouzil relacni DB (fork nebo ciste MySQL, ale je to v podstate jedno kterou RDBMS), velikost mnozin jsou v radech: produkty 10e5, atributy 10e3, dotazy v 1e-3. Pokud bys mel zajem se s tim blize seznamit, pak mi nech na sebe kontakt.

Re:Ukládání různých typů produktů do databáze
« Odpověď #17 kdy: 21. 12. 2019, 11:46:47 »
Já moc nechápu, proč vlastně uvažujete o relační databázi. Tohle je podle mne vzorový příklad pro použití nějaké NoSQL dokumentové databáze. Máte nějaký důvod ji nepoužít? Nebo máte nějaký zvláštní důvod použít SQL databázi – třeba že už máte vybudovanou infrastrukturu s SQL databázemi pro jiné projekty?