Bonjour !
Je viens à vous aujourd'hui pour des questions d'optimisations sur ma base de données.
Tout d'abord, je souhaite mettre en place un système de grade d'administration (exemple : modérateur, admin, super admin)
J'aurai souhaité savoir si le mieux était de mettre le numéro du grade dans la table membre (id_membre, login_membre, pass_membre, grade_membre)
ou
créer une table administration_membre (id, id_membre, id_grade)
Sachant qu'un membre n'aura qu'un seul et unique grade
Par ailleurs, mon système d'activation de membre s'effectue de la sorte :
- Création d'un code d'activation, insertion de ce code dans une table contenant l'id du membre
- Si activation, mettre la colonne 'UT_actif' à 1 (utilisateur_actif)
J'ai donc une table T_USER_UT(UT_id, UT_login, UT_pass, UT_actif)
Est-ce plus coûteux de conserver ce système ou de créer une table 'membre_actif' qui contiendrait la liste des membres dont le compte a été activé ?
J'en profite aussi pour vous demander :
Un membre peut ajouter des informations personnelles, mais qui ne seront visibles que sur une partie spécifique d'un profil (ex : membre/48/more_info)
Vaut il mieux séparer les informations complémentaires des informations principales dans deux tables distinctes (soit T_USER_UT et T_INFO_USER_IU) ou tout mettre dans une seule table ?
En ce qui concerne les logs, je prévois de créer des tables de logs qui me permettra de tracer des actions, par exemple si un membre se connecte, j'ajoute dans une table de log son ip, heure, id soit T_LOG_LOGIN_TL (TL_id, TL_ip, TL_id_ut, TL_heure)
Ma question est donc, est-il conseillé de séparer la base de donnée contenant ces logs de celle de mon site principal ? Etant donné la différence de transferts d'informations entre les deux. Ainsi est il aussi possible de créer une vue 'globale' accessible dans plusieurs base de données ?
Enfin, dernière question concernant les verrous. J'aurai simplement souhaité savoir si, dans le cas d'une application multi utilisateur, on applique un verrou à chaque insert/update dans la base de donnée ? (Cela obligerait-il à appeler des procédures à chaque insertion ou mise à jour) ?
Par avance, un grand merci pour les réponses apportées, j'essaie d'optimiser au mieux ma base de donnée pour mon projet et vos réponses me seront très utiles
Koven
Partager