Skaļi domāju, preču DB tabula
Un tā, esmu nolēmis mazliet pakodēt un pavingrināt savas smadzeņu šūnas, lai nesanāk sēdēt bezjēgā. Doma ir palēnām uzrakstīt tādu kā mazu dzini priekš e-veikala, vai kaut ko uz to pusi. Pašlaik sēžu un domāju, kā varētu izskatīties datubāzes tabulas lauki. Pagaidām esmu izfunktierējis līdz sekojošam līmenim:
- id – preces id numurs, principā autonumber – pievienojot katru jauno preci palielinās par vienu ciparu uz augšu;
- name – preces nosaukums (piemēram “G1″, “MacBook”, “MyBook” etc…);
- description – pamatīgs teksta blāķis, kurā tiek aprakstīts par preci, cik viņai atmiņas, krāsa, smagums, izmēri utt;
- category – kategorija pie kuras pieder prece (iespējams, ka prece varētu piederēt arī pie vairākām kategorijām, pagaidām nevaru izdomāt). Piemēri: ja prece ir pulkstenis, tad pieder pie kategorijas “clock”, ja telefons “phone” utt);
- price – nu protams preces cena, kur bez tās;
- images – pircējam noteikti interesētu paskatīties uz bildītēm, kā tad nu aptuveni izskatās dotā prece. Lauzīju galvu, likt vienu bildi vai tomēr vairākas. Laikam jau labākais variants ir likt vairākas, piemēram: img1.png, img2.png, img3.png, …, …! Vēlāk to visu var smuki explode un sakārtot pa vietām;
- count – preču skaits, cik nu šādu preču ir uz vietas. Pašlaik vēl nevaru izdomāt līdz galam, vajag šādu lietu ieviest vai nē. Vairāk jau sliecos uz ieviešanu, lai lietotājs varētu redzēt, cik nu ir viņu uz vietas un nav jāzvanās;
- recomends – par šo pašlaik neesmu pārliecināts. Doma ir tāda, ka šeit varētu parādīties linki uz citām precēm, kuras iesaka apskatīt pircējam. (Šis man stāv uz ļoti lielu jautājuma zīmi). Jo principā ar laiku rekomendētās preces var netirgot un linki paliks – kas galu galā vedīs uz 404. Labākais risinājums varētu būt ar php izvadīt no DB līdzīgās kategorijas un aptuvenās cenas līmeņa preces. Tā sacīt, lai lietotājs redz, ka ir aptuveni tādā pašā cenā arī šādas preces.
Tas nu pagaidām viss ko domāju. Ļoti gribētu redzēt citu ieteikumus, labojumus, norādījumus – lai nesanāk kāpt uz grābekļa uz kura jau ir uzkāpts (protams ja kādam nav žēl pabrīdināt, kur tie grābekļi atrodas). Ceru uz jūsu support un atsauksmi, paldies jau iepriekš!



Nopublicēju un atcerējos, ka aizmirsu pierakstīt par valodām. Kā tās būtu labāk realizēt aprakstā, veidot 3 laukus: description_lv, description_ru, description_*. Jeb labāk to izdalīt uz 2 tabulām? Pagaidām vēl nezinu, vai šo tabulu dalīt mazākās, tb, veidot normalizāciju vai tomēr nav vajadzīgs…
Ieteikumi:
a) pievieno mērvienību!
b) pievienot nevis cenu, bet cenu grupu (piem. lielie klienti, mazie klienti);
c) varbūt arī atlaižu grupu varētu pievienot (10 % patstāvīgiem klientiem, 15% izskatīgām brunetēm …);
Ansim piekrītu par cenu, atkarīgs ļoti no konkrētās specifikas, bet viens statisks cipars ātri vien būs par īsu, man uzreiz prātā nāk kaut kur redzēti aprēķina algoritmi ar iepirkuma cenu visādi apviļļātu un konkrētam lietājam galā parādītu (lietotāja kategorija, iespējams valūtu konvertācija starp iepirkuma un maksāšanas, atlaides vairumam, akcijas preces…).
Rekomendētās preces – aj aj, ja tu domā kaut ko līdzīgu Amazon.com līdzīgo pirkumu ieteikšanai, tad zem tā nav nekādas statiskas saites starp līdzīgām precēm, šīs sakarības veido paši lietotāji, ir dažādi modeļi, kā var strādāt šāda rekomendāciju sistēma, bet vienkāršotākie varianti vienmēr ir tīri statistiski – nu par piemēru, ja Juris pēc skūšanās putu iegādes pirka arī skuvekļus, tad arī Jānim un Pēterim piedāvājam šādu iespēju un atkarībā no viņu izvēlēm jau varam piekārtot šai sakarībai putas->skuvekļi kaut kādu izpildīšanās varbūtību, pēc kuras filtrēt atbilstošākos ieteikumus.
Par to mērvienību nezinu, jo principā to visu varētu ielikt iekšā ‘description’. Tad nevajadzētu atsevišķu ierakstu tabulā veidot, bet pagaidām vēl to apdomāju. Par to cenu grupu ir ļoti laba ideja, vienīgi es nezinu vai tik spēcīga tirgošana ir paredzēta man iecerētajā projektiņā. Ir principā vēl otrs variants, kā to realizēt varētu – piemēram pie pirkuma apstiprināšanas ar skriptu apskatās pircēju un ja viņam ir statuss kā ‘lielais klients’, tad nomet kādu % no cenas. (Tad tā visa padarīšana uzveltos tieši uz lietotāju tabulu, ar lauku, kurā nosaka cik nu liels/mazs pircējs ir).
Rekomendētos linkus nelikšu, jo tiešām labāk realizēt ar speciālu modeli. Kāds nezina kā ar tiem tulkojumiem, tos liek iekšā vai cenšas tabulas normalizēt sadalot pa divām vai vairākām?
P.S Tā kā neko tādu iepriekš neesmu taisījis, tad varētu būt, ka es smagi kļūdos.
Tagad vēl sāku aizdomāties par mazu tabulas normalizāciju, izņemot ‘images’ lauku ārā. Respektīvi, pārneso to citā tabulā ID | img. Kad tiks lasīts konkrētais produkts, nolasīt arī visus attēlus no otrās tabulas, kur ID sakritīs, vai kaut, kas uz to pusi.
Manas domas par normalizāciju:
Ja gribi, lai prece piederētu pie vairākām kategorijām, tad izveido jaunu tabulu no 2 kolonnām (ID, kategorijas_ID). Tātad šito var vēlreiz normalizēt – jāizveido kategoriju tabulu (kategorijas_ID, kategorijas_nosaukums).
ar bildēm vienkāršāk, tur tabula arī ar 2 kolonnām (preces_ID, bildes_nosaukums).
Šo visu attiecīgi pievieno savai lielajai tabulai caur foreign key. Domaju, ka visu tabulu lauku saskaņotu aizpildīšanu varēs mierīgi realizēt ar funkcijām un trigeriem.
Lai veicas!