Lynx Posted December 23, 2006 Report Share Posted December 23, 2006 Meklēju internetā resursus, un diemžēl neatradu nekur materiālus kā realizēt tagu meklēšanas sistēmu(pieļauju, ka izmantoju nepareizos tagus :) ). Pats izdomāju tādus kā divus variantus, bet vēl aizvien nezinu, kuru būtu vislabāk lietot un vai tie ir ērtākie, labākie risinājumi. 1) Attiecīgi ziņu tabulai pa kuru notiks meklēšana izveidot papildus lauku "tags(varchar)" un tur savadīt iekšā tagus, pēc tam meklējot vienkārši vērsties pie tā lauka ar LIKE %% 2) Izveidot tabulu "tags" un caur to linkot tagus uz vajadzīgo rakstu apmeram šādi id, news_id, tag un pēc tam meklējot izvadīt rakstus, kas atbilstu vajadzīgajam tagam. Šādi varētu arī veidot tagu popularitāti(kā manīts lielos portālos) un automātisko tagu pievienošanos(?). Varbūt kādam ir pieredze šādas sistēmas veidošanā un var padalīties ar to? Link to comment Share on other sites More sharing options...
bubu Posted December 23, 2006 Report Share Posted December 23, 2006 2. ir pareizais risinājums Tikai nevajag pašu tagu tur glabāt - tag, bet gan tag_id, kurš referencējas uz tagu tabulu (tag_id, tag_name). Jo rakstam jau ir n:n attiecība uz tagiem. Palasi taču jebkuras elementārākās pamācības datubāžu projektēšanā. Tajās taču viss ir aprakstīts - tb populārākās db struktūras. Un šajā gadījumā n:n ir tipiskais risinājums ir trīs tabulas - news un tags, un starptabula. Palasi arī par normālformām - 1., 2. un 3-šo. Tad vajadzētu kļūt vēl saidrākam, kā jāveido db struktūra. Link to comment Share on other sites More sharing options...
shemeleks Posted December 23, 2006 Report Share Posted December 23, 2006 (edited) Te ir viens raksts, kurā salīdzinātas 3 dažādas tagu db struktūras. + Ātrdarbības testi. Edited December 23, 2006 by shemeleks Link to comment Share on other sites More sharing options...
Lynx Posted December 23, 2006 Author Report Share Posted December 23, 2006 Ah perfekti, tieši tas ko meklēju un nevarēju atrast. Paldies. bubu, teorētiski ar pamatiem viss ir kārtībā. Vienkārši gribēju dzirdēt citu viedokli par to, kuru no datubāzes relāciju tipiem tieši izmantot šajā, tagu gadījumā. Jo kā izrādās pēc raksta pirmais variants arī nav slikts pieliekt palildus fulltext indeksu tieši uz lieliem datu apjomiem, pārsteidz ātrdarbībā visus pārējos, jo var iztikt bez unioniem un joiniem. Imho man tik lieli datu apjomi nedraud, tapēc sliecos patiesi izmantot tavu, jeb 3o variantu. Link to comment Share on other sites More sharing options...
bubu Posted December 23, 2006 Report Share Posted December 23, 2006 Nu tad jau tev pašam būtu jāsaprot, ka jātiecās ir uz 3NF. Lai gan parasti ir diezgan labi, ja jau 2NF panāk. Link to comment Share on other sites More sharing options...
Recommended Posts