De hogy még építőleg szóljak a dologhoz (mert egyszerűen nem tudom szó nélkül megállni, annyira bántanak ezeke a felvetések):
1- simán 2D mátrixként tárolni, durvának hangzik, mert mégiscsak 1000 mező széles tábla...arról nem is beszélve, hogy új user felvitele esetén az oszlop hozzáadás nem egy szép megoldás.
Na, figyi: ez nem "nem egy szép" megoldás, hanem a lehető LEGROSSZABB!!!! Ennél már csak az lenne rosszabb, ha minden userhez létrehoznál egy táblát, vagy valami hasonót akarnál....
Válasszuk szét az adatbázis stuktúráját és a tartalmát! A struktúrába bele tartozik, hogy milyen táblák vannak, egy táblában hány oszlop van, azok milyenek, stb. A struktúra a normál használat közben NEM változik. Sőt, nem is változhat mivel egy jólnevelt rendszerben ehhez nem is rendelkezel jogosultsággal (legalábbis nem kéne rendelkezned). Te max. a tartalmát tudod megváltoztatni.
2- 1000 file és 1000 user esetén nem tűnik túl jó ötletnek mindenféle párosítását 1 rekordként tárolni, mert nemkicsit lesz hosszú a tábla.
Miért is nem? Egy adatbáziskezelő nem arra van (többek között), hogy akár sokszázezres/milliós rekordot tartalmazó "óriás" táblából keressen vissza hatékonyan? Egy jó index (B-fa, hash) egyetlen rekordot max 1-2 fizikai lemezművelettel megtalál, már ha épp valami miatt nincs a memóriában a keresett sor.... Nyilván összetetteb lekérdezéseknél ez kicsit tovább tart, de az sem sokkal....
Arról nem is beszélve, hogy nem minden usernek van mindenhez joga, tehát nem kell kapcsolat minden user és minden jogosultság közé....
3- 1 mezőben, stringként összefűzve tárolom, hogy mikhez férhet hozzá a user...hátránya, hogy funkciótörlés esetén nem olyan egyszerű törölni a minden stringből amiben szerepel
JAJ NE! :-) Ezzel gyakorlatilag bitvadászatba kezdesz. Ahelyett, hogy az egészet elintéznéd egyetlen jól irányzott "DELETE_ FROM" utasítással, elkezdesz mindenféle stringműveletekkel bíbelődni??? Na, az ilyenekből szoktak születni a tipikus bugbánya, karbantarthatatlan és átláthatatlan programok.... :-)
Szeritem ne akarj valamire külön megoldást kieszelni, amire már van egy egyszerű - és jól működő - módszer....
De mindenképpen, először készülj fel a témából egy kicsit, ha már ekkora rendszerbe vágod a fejszédet...
-------------------------------------------------
" - Amerikanische Infanterie! Angriff! Angriff! "