Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Projekt bazy
Arkon
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 12.02.2004

Ostrzeżenie: (0%)
-----


Witam.
Stanąłem właśnie przed problemem mądrego zaprojektowania struktur baz danych do mojego serwisu.
Chciałbym przechowywać w bazach dane użytkowników. W założeniu każdy użytkownik(w przykładzie A) może zdefiniować sobie do 5 grup i przydzielić każdego innego użytkownika(dla przykładu nazwijmy go B ) do którejś z tych grup(tylko jednej).
Chciałem ten problem rozwiązać w ten sposób:
Stworzyć 3 tabele
1 – users (id | inne dane bleble)
2 – grupy (id | id_usera | opis_dzialanie_grupy)
3 – polaczenie (id | id_usera | id_grupy | id_usera_przypisanego)

I teraz jeżeli B wchodzi na stronę w której “władzę” ma A z bazy 3 pobierane jest id_grupy gdzie id_usera=A_id i id_usera_przypisanego=B_id. Następnie z 2 pobieramy opis warunków i podejmujemy już odpowiednie działania na stronie.

Przy założeniu że w 1 będzie 100 nie ma problemów ale jeśli np. będziemy mieli 100k userów to już w grupach może być 500k rekordów a w 3 9999k. A jeśli w 1 będzie 300k :/

Mam nadzieję, że problem jest jasno przedstawiony.
Czy takie rozwiązanie jest efektywne, czy jest jakiś lepszy sposób? Jakie macie propozycje, może jakieś własne doświadczenia.

Kolejne pytanie.
Czy ilość kolumn w tabeli ma wielkie znaczenie w szybkości wykonywania skryptów. Tzn czy mimo iż pytam o 3 kolumny z N to czy czas wykonania zapytania będzie wiele dłuższy dla dużego N? Jaka jest optymalna liczba kolumn w tabeli?
Go to the top of the page
+Quote Post

Posty w temacie
- Arkon   Projekt bazy   8.05.2005, 13:26:29


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 21:26