Vyber podobneho produktu podla ID rubrika: Databáze: SQL
Caute,
ako by ste co najefektivnejsie ulozili a vyberali do/z MySQL id kluce podobnych produktov (v novej tabulke)?
Mam dajme tomu produkty s ID 1,2,3,4,5
A 1,2,3 su si medzi sebou podobne. Ako by som vybral na zaklade jedneho z nich (zakaznik ma zobrazeny produkt napr.2) a chcem mu ukazat aj ostatne (1,3). Ale ma vybrany napr. 1 , tak mu ukazem 2,3.
Ako by ste to vyriesili Vy? Zatial tak trochu tapam ako to vyriesit.
DIK chlapi
Musíš si (zákazníkovi) položit tyto základní otázky:
- Je podobnost vždy symetrická? Tj. platí-li že je-li A podobné B lze z toho automaticky přeplokládát, že B je podobné A?
- Je-li A podobné B a zároveň A podobné C, vyplývá z toho, že B je podobné C?
A. Pokud by tyto obě tvrzení platily tak z toho logicky vyplývá, že každý produkt může nýt jen v jedné podobnostní skupině a opravdu stačí do základní tabulky přidat sloupec similar. Nicméně pozor pak nemůžeš mít produkt ve dvou různých skupinách (např. produkty zelené a produkty kulaté) protože to odporuje tomu tvrzení 2.
B. Pokud Souhlasíš s tvrzením 1 a s tvrzením 2 ne, tak je potřeba udělat tabulku kde bude id_produktu a id_grupy, případně ještě tabulku hlaviček grup, kde bude id_grupy a její název (zelená, kulatá)
C. Pokud nesouhlasíš ani s 1. (třeba ve smyslu k produktu rádio je potřeba nabízet baterky, ale k baterkám se rádio nenabízí) tak je ideální založit tabulku se sloupci id_zakladni, id_svazane. Pokud pak do takovéto tabulky potřebuješ zapsat A a B jsou podobné tak to jsou dva záznamy: A je podobné B a B je podobné A
Nejčastěji se setkávám s variantou C. Nicméně občas jsou i varianty A (např. 3x zadaný produkt kvůli ceně a záruce - normální, rozbalený, bazarový). Tam je potřeba popřemýšlet jestli je správně navržena tabulka produktů a jestli by třeba ty tři ceny neměly být spíš 3 sloupce v produktu.
Pro zobrazení všech 5 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře