Topic: Prasau patarimo del "draugu sistemos"

Sveiki, noriu pasitarti kaip veikia draugu sistemos (one, facebook ir tt.). Iskilo klausimas kaip nustatyti kas kieno draugas. Geriausias budas, kuri sugalvoju yra toks:

kas kart itraukiant nauja drauga yra sukuriamas naujas irasas duomenu bazeje: `vartotojas`, `vartotojo_draugas`;
bet tuomet tu irasu "prisidarys" DAUGYBE. Stai cia ir kyla klausimas ar yra koks kitas budas tai padaryti?

Dekui!

2 (edited by Ramex 2009-12-15 12:57:09)

Re: Prasau patarimo del "draugu sistemos"

Kito būdo ir nereikia. Daug įrašų, nereiškia, kad blogai. Tai normalu, tiesiog turi pasirūpinti, kad tavo lentelės būtų tvarkingos, šiuo atveju abu laukeliai turėtų būti indeksai (gali net jungti į vieną, apjungiant kaip UNIQUE) ir dar geriau, jei tai būtų kažkokie skaičiai (unikalūs vartotojų identifikatoriai).

O jei kalbant apie alternatyvas, galimas būtų variantas toks, kad kiekvienas vartotojas turėtų papildomą požymį sakykim `draugai`, kuriame saugai kitų vartotojų unikalius identifikatorius, atskirtus per kažkokį skiriklį. Bet tokiu atveju negalėtum normaliai dirbt, nes turėtum duomenis apie vartotoją traukt viena užklausa, apie jo draugus, po to kai išskaidytum šitą laukelį su php, su kita. Negalėtum daryti apjungimų. O čia daug blogiau =]

Su sąlyga, kad šūdo nebus...

Re: Prasau patarimo del "draugu sistemos"

`vartotojas`, `vartotojo_draugas`;
petras, jonas

reikš kad petras yra jono draugas, bet jonas nera petro draugas. Kad draugyste butu abipuse tikriausiai teks dubliuoti duomenis ir saugoti

`vartotojas`, `vartotojo_draugas`;
petras, jonas
jonas, petras

Re: Prasau patarimo del "draugu sistemos"

Dekui!