Jaka struktura baz danych

0

Witam.

Nie mam za bardzo doświadczenia w tworzeniu serwisów php + mysql. I mam pytanie. chciałbym aby w moim serwisie do każdego użytkownika który jest zarejestrowany przypisywane było bardzo dużo elementów. Czy powonieniem dla każdego użytkownika stworzyć osobna tabelę z nazwami tych elementów, czy może robi się to zupełnie inaczej? :)

0

na 100% nie
teraz pytanie - dodajesz nowego usera i co tworzysz dla niego tabelkę?? I tak za każdym razem? A jak usuniesz usera to co?

0

No ja myślałem żeby każdy user miał swoja tabelkę w której będzie zapisywane wszystko co należny do niego. Myślałem, że tabelę bym kasował razem z userem jak ten usunie konto. Nie wiem jak inaczej to rozwiązać bo każdy z userów może mieć nawet setki rzeczy :).

0

Trzeba po prostu zaprojektować bazę danych. Wiedząc, co ma być w niej przechowywane można wyodrębnić encje i związki między nimi. Inaczej się nie da.

0

A jak to jest rozwiązane np. na fb? Bo do jednego użytkownika przypisanych jest czasami ponad 400 znajomych. Gdzie oni to zapisują ? :)

0

Pewno jest tabela powiązań między użytkownikami z kolumnami ID_użytkownika, ID_znajomego wskazującymi na kolumnę ID z tabeli Użytkownik.

0

No tak tylko wtedy jeżeli mamy np. 100 użytkowników którzy mają po 100 przyjaciół to musimy mieć w db tabelę które ma 10000 wierszy. Czy to nie wpłynie na płynność działania strony? Chodzi mi o zapytania do db.

0

No na pewno Twoje rozwiązanie z dynamicznym dodawaniem tysięcy tabel do bazy, tak aby każdy użytkownik miał swoje, będzie dużo wydajniejsze. A jakie wygodne i czytelne, gdy baza osiągnie już kilkadziesiąt tysięcy tabel!

1

@mati1988k - kurde idź stąd po jakąś książkę o bazach danych, ponieważ zadajesz pytanie, które było na tym forum zadane już milion razy... Baza danych po to została stworzona, żeby radzić sobie z takimi bardzo dużymi ilościami danych.

0

A FB to się na razie nie interesuj :) tak ogromne serwisy potrzebują niestandardowych, nieszablonowych rozwiązań. Ale ty na początek musisz się nauczyć tych standardowych i nieszablonowych, żeby wiedzieć jak można je skalować i gdzie mogą pojawić się ich słabe punkty. I jak już zaprojektujesz kilkadziesiąt baz i napiszesz kilkanaście systemów o nie opartych, dopiero wtedy możesz pomarzyć o FB-killerze :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1