Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Struktura bazy danych dla wielokrotnych danych
Forum PHP.pl > Forum > Przedszkole
Ayrox
Czy dla znajomych, lepszym rozwiązaniem jest tworzenie tabeli, gdzie każdy mój znajomy ma swój wiersz:

ID ZNAJOMEGO | MÓJ ID |

czy może rozwiązanie

MÓJ ID | MOI ZNAJOMI: Znajomy1;znajomy2;znajomy3;znajomy4;znajomy5 i rozbijanie poźniej na tablice

Które rozwiązanie polecacie i które jest bardziej wydajniejsze?



Oraz drugie pytanie:

Czy jeżeli mam zainteresowania użytkownika, a ich bardzo dużo i dla nich są wartośći 1 albo 0, czyli interesuje się, nie interesuje się to czy wydajnym rozwiązaniem jest dawanie tego do mysql w postaci tablicy np: 1:0:1:0:0:0:1, aniżeli dawanie do bazy do każdego zainteresowania jeden wiersz?
rafalp
Cześć, pracuję obecnie nad podobym problemem. Ja zrobiłem coś na podobieństwo tego pierwszego spsobu [ID|username|userfriend] Sposób drugi jest dosyć nieelegancki choć zyskujesz na zajmowanym miejscu w bazie ale kosztem łatwiejszych zapytań.

Zainteresowania rozwiązałem w taki sposób że zapisuje do bazy idenfyfikatory zainteresowań (np w formularzu mam pola checkbox z odpowiadającymi im zainteresowaniamy) a do bazy zapisuje je w postaci liczbowej np (021008) oznacza 2,10 i 8 identyfikator zainteresowania oczywiście jako [VARCHAR]. Myślę że to bardzo wydajne rozwiązanie.
Ayrox
no te zainteresowania też checbox mam, i w podobny sposób myślałem i to chyba też będzie najlepszy sposób, ale u mnie będzie char, bo jak ktoś nie zaznaczy zainteresowania danego to po prostu do bazy 0 ląduje smile.gif

a jeśli chodzi o znajomych, bo właśnie sobie myśle że najlepszym rozwiązaniem będzie jednak osobny wiersz dla każdej znajomości, nawet jeśli wszystko byłoby w jednym wierszu, to później problem jest z usuwaniem znajomych, dodawaniem, statustem itd, a przy takich operacjach to nie wiem czy wydajność obu tych metod nie jest taka sama. Tak więc wybieram raczej: osobny wiersz dla każdej znajomości i w jednym wierszu, w jednej kolumnie zainteresowania użytkownika u mnie to będzie tablia true or false czyli: np: 0:1:1:1:0:0:1:1:1:1 to oznacza np: koszykowka-nie; siatkowka-tak; komputery-tak; pilka nozna-tak; strony internetowe-nie;  itd itd a myślę że rozwiązania liczbowe zamiast słów tak i nie, będą wydajniejsze i przede wszystkim mało miejsca będzie zajmowało smile.gif



Pozdrawiam
JoShiMa
Przed chwilą o tym było:
http://forum.php.pl/index.php?showtopic=97288
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.