Bonjour,

Je suis en train de developper un système de membres pour un projet perso et je me demandais s'il valait mieux séparer ou non les infos relatives aux utilisateurs.
En gros je vais avoir besoin d'infos essentielles pour faire tourner le gros du site:

id
username
email
password
sex
img_profil
banner
confirmation_token
confirmed_at
reset_token
reset_at
remember_token

Et d'autres infos plus à titre informatifs:

id (pour lier)
birthday
job
interested_in
phone
adress
website
about
quote

Est-ce que séparer les infos de base dans une table "users" et les autres infos dans une table "users_info" est utile ou absolument pas ?

Merci d'avance :)

4 réponses


Les infos birthday, quote, website etc sont obligatoires ? Si oui ok pour tout mettre dans la même table, sinon il faut ABSOLUMENT les séparer dans une autre table (via héritage) pour ne pas avoir une table avec des infos vides.

@lorraineS Pourquoi faudrait-il "ABSOLUMENT" les séparer dans une autre table ? Cela oblige à faire une jointure inutile. Si les champs ne sont pas obligatoires, il les set à NULL et basta ;)

C'est sur que ça fait beaucoup d'infos, mais je pense qu'une seule table, point de vue perf, c'est plus conseillé.
Le site est amené à avoir beaucoup de membres ?

Kboirel
Auteur

@betaWeb Oui dans mes rêves les plus fous en tout cas aha !

je ferai deux tables tout simplement pour facilité les requêtes basique de login et quand tu as besoin des infos tu va les chercher.
un peu plus lourd quand tu en a besoin mais plus facile à maintenir et ca t'évite des select trop lourd pour juste ta connexion

bon courage à toi