Autor | Zpráva | ||
---|---|---|---|
Ugo Profil |
#1 · Zasláno: 2. 3. 2012, 10:57:37
Ahoj, moc mi to nemyslí a nemám fantasii tak vás poprosím o pomoc, nevíte jak navrhnout universální databázi s parametry produktů:
- produkt má neomezeně parametrů (to není problém) - parametr má neomezené možností (taky není problém) (až potud včetně vyhledávání to mám) - parametr je závislý na hodnotách jiných parametrů - hodnota parametru je závislá na hodnotách jiný parametrů dám příklad - autobazar: mám vybráno "osobní autmobil" takže jiný parametr "značka" ví že má být aktivní a má nabývat hodnot Škoda, Ford ... vyberu Ford a parametr model ví, že má nabývat hodnot Focus, Mondeo .. a má vynechat Transit, protože je to Ford, ale není osobní. napadlo mě něco jako sloupeček [ID parametru zavislosti,...,...] ;ID hodnoty,...,... ; ...,...,... ; ...,...,... ; ale to je ošklivé, chce to moc spracování na výstupu a o tom že bych věděl jak přesně to použít se taky nedá mluvit :-) Budu vděčný za každý nápad, díky. |
||
jenikkozak Profil |
1) Tabulka s produkty - id, název...
2) Tabulka s parametry - id produktu, název a hodnota parametru. Zbytek ať řeší aplikace pomocí vhodných dotazů na tyto dvě tabulky. Např. u prvního problému: SELECT DISTINCT znacka FROM produkty WHERE typ='osobni' , u druhého: SELECT nazev FROM produkty WHERE typ='osobni' AND znacka!='Ford' . Případně si můžeš udělat další tabulky, např. se značkami auto a do tabulky s produkty neuvádět název značky, ale její id.
|
||
Ugo Profil |
#3 · Zasláno: 2. 3. 2012, 11:42:35
resp. další nápad :) už trochu systematičtější - tabulky param_dependecies a param_values_dependecies, vždy ID parametru a hodnoty, nevim teda jak to pak inteligentně spojit dotazem, ale mohlo by to jít i když je to spousta dat navíc.
jenikkozak: dík, blbý je že na straně aplikace to řešit musim (jinak to ani nejde), ale potřebuju to universální čili abych v adminu změnil že značka najednou neni značka ale je to spotřeba a je závislá třeba na typu motoru nebo to předělal úplně na jiný server např. realitní aniž bych musel sáhnout do kódu, třeba mě něco napadne v MHD nebo doma na WC :D |
||
jenikkozak Profil |
#4 · Zasláno: 2. 3. 2012, 14:56:47
Ugo:
„dík, blbý je že na straně aplikace to řešit musim (jinak to ani nejde),“ No však. Spojení tabulek řeš v databázi a ne při návrhu databáze. „ale potřebuju to universální čili abych v adminu změnil že značka najednou neni značka ale je to spotřeba a je závislá třeba na typu motoru“ Jasně, chápu. Řekneš si, že hodnoty „Škoda“, „Ford“ a „Toyota“ nejsou značkami, ale spotřebou. V pořádku. „nebo to předělal úplně na jiný server např. realitní aniž bych musel sáhnout do kódu, třeba mě něco napadne v MHD nebo doma na WC :D“ Určitě by pomohlo tabulky neoznačovat jako param_dependecies a param_values_dependecies, nýbrž table1 a table2, protože pak do nich budeš moci ukládat na jiném serveru počet semínek cibule a na jiném logy změny tabulky známek. |
||
Ugo Profil |
#5 · Zasláno: 2. 3. 2012, 15:09:15
jenikkozak:
ale počet semínek by se hodil, poznamenám si :) no nějak to pořešit pude, je jasné že nejvíc toho bude v samotnym skriptu, ale chtěl bych si propracovanym návrhem ušetřit práci jak s administrací tak s výpisy a ovládáním toho chaosu |
||
Kajman Profil |
#6 · Zasláno: 2. 3. 2012, 15:39:30
Ugo:
Tu filtraci chcete provádět až nad vloženými daty nebo chcete závislost možností ovlivňovat již pro zadávání dat? jenikkozak: Pokud se bavíme o neomezeném počtu parametrů, tak dávat každý parametr do zvláštního sloupce nemusí být vhodné a často se používá právě univerzální Ugovo řešení. |
||
Ugo Profil |
#7 · Zasláno: 2. 3. 2012, 16:09:44
Kajman:
přesně nechápu dotaz, v administraci potřebuji nadefinovat závislosti (při zadávání tedy 100% volnost - žádné filtry) a při zobrazení filtrovat, takže až nad již vloženými daty - z tohohle úhlu pohledu. a z uživatelova potřebuji měnit možné parametry za chodu ajaxem čili již při zadávání dat měnit postupně PS - neomezený počet parametrů mám, navíc jsou závislé na kategorii, bohužel zde potřebuji ještě universálnější řešení no :) |
||
Kajman Profil |
#8 · Zasláno: 2. 3. 2012, 21:37:06
Pokud to chcete filtrovat nad vloženými daty, tak si závislosti v administraci definovat nemusíte a poznáte je podle uložených dat - to se snaží nastínit jenikkozak.
|
||
Časová prodleva: 13 let
|
0