Bonjour,
Néophyte dans le domaine des BDD je me pose une question concernant les "bonnes pratiques" en matière de conception.
Petite précision: Je travaille à la création d'une BDD sous MySQL pour un site web.
Voici la description du problème de conception:
J'ai une table Profil_utilisateur dans laquelle je définis un type d'utilisateur (type1,type2,type3). Cette table contient le champs "Immatriculation" or ce champs sera NULL pour tous les utilisateurs de type 2 et 3. Il n'aura de sens que pour les utilisateurs de type1.
En entreprise j'ai déjà constaté ce genre de facilité mais je me demande si c'est une bonne pratique.
Sans être vraiment connaisseur j'aurai tendance à dire qu'il serait préférable de faire une sorte d'héritage avec une table Profil_utilisateur qui contient tous les champs communs
quelque soit le type d'utilisateur puis créer une table spécifique utilisateur_type1 avec une clé étrangère qui référence le profil en table Profil_utilisateur.
Cette nouvelle table contiendrai le champs "Immatriculation", spécifique pour les utilisateurs type1.
En gros, est ce une hérésie d'avoir des tables avec des champs qui ne vont pas servir pour toutes les entrées et dans ce cas est il préférable de créer une table spécifique même pour un seul champs?
Merci beaucoup pour vos conseils
Partager