adres profili społecznościowych, email, adres strony www, wiek, telefon, płeć, miasto, zainteresowania, itp. razem powiedzmy 40-50 pól z możliwością wypełnienia. Pola nie byłyby obowiązkowe tylko dobrowolnie wypełniane, więc prawdopodobnie byłoby pusto w wielu kolumnach. Jak do tego zagadnienia podejść? Czy jest sens tworzyć jedną tabelę users z kolumną dla każdego pola, jeśli większość pól będzie prawdopodobnie pustych, czy lepiej w tym przypadku stworzyć tabelę users z danymi podstawowymi id,user_name,password,email drugą tabelę na przykład users_data z polami id,user_id|meta_name|meta_value powiązać je?
W tabeli users_data trzymać dane użytkownika w takiej postaci:
id|user_id|meta_name|meta_value 1|58|facebook_url|https://facebook.com/jan.kowalski88547 2|58|adres|Warszawa, ul. Jasia Fasoli 8 3|58|gadu-gadu|123456789
Albo jeszcze inaczej tabela users_data zawierała by tylko pola id,user_id,user_data i w kolumnie user_id trzymałbym id użytkownika z tabeli users, a w user_data trzymałbym zserializowane dane użytkownika wpisane w formularzu.
Jak takie dane najlepiej przechowywać w bazie?