Bildiyim qədərilə burda əsas məqsəd saytın istifadəçi tərəfində axtarış, kataloqa baxış və.s. zamanı ağıq sql-lərdən qaçmaqdır, yoxsa ki 2 və ya 3 table ilə məsələni həll etmək olar. Mən belə bir şey təklif edərdim, bazada məhsullara dair 2 table qurmaq, biri products biri də options. Optionsda option_id və option description. Products-da product_id,...,product_options. product_options text olsun və adminkadan bütün seçilən optionlar [id value id] formatında yan-yana yazılsın o columna. [1 Televizor 1] [2 223 2] [3 AZN 3] kimi. Bu halda adminkada edit edən zaman normal şəkildə inner join-lə hər iki table update olacaq,user-side axtarış zamanı isə cəmi bircə table-a query olacaq. products-a. məsələn təxminən belə
SELECT product_id,product_name,product_description FROM products HAVING SUBSTR(product_description, CHARİNDEX('['+product_id,product_description), CHARİNDEX(product_id+']', product_description)) =".$id." " ...
Nə dərəcədə optimaldır bilmirəm, sadəcə variant kimi dedim. Yəqin DB mütəxəssislərimiz daha yaxşı həllər yazacaqlar. :)
Bu varianta oxşar variant var idi. Bir az problem yaranır. Məsələn məlumatlar saxlanan column hər şeyi nəzərə almaq üçün TEXT tipli yaradıldı məsələn, o zaman ora 1cə rəqəmli bir şey yazmaq lazım gələndə TEXT üçün ayrılmış yerə 1 simvol yazmaq düz gəlmir.
Mence texmini bele bir shey, Xirda komekchi table-leri yazmiram.
1) Bolmelerin adlari ve ID-ler
2) Bolmelerdeki fieldler, ID-lerle bolmere baghlanirlar
3) Uje melumatlar
Saytın adın dəyişməkdə problem.
php-də fərqli cədvəllərdən çağırılmış məlumatları bir arrayda toplamaq
yüksək cpu üçün hosting məsləhəti?