J'écris ma première application web, et j'en connais assez sur les bases de données pour savoir que le schéma est important mais pas assez pour savoir comment en écrire un bon.Faut-il créer une nouvelle table pour chaque utilisateur sur une application Web?
Existe-t-il un protocole standard pour le traitement des informations stockées dans chaque compte d'utilisateur? Mon instinct est d'avoir une table qui stocke la clé de l'utilisateur et les informations de connexion, et un handle à leur table (probablement la clé?), Et puis avoir une table pour chaque utilisateur.
Mais je me demande s'il y a des problèmes de performance pour avoir une table pour chaque utilisateur ou si cela semble une manière incroyablement stupide de le faire. Cela semble être un "problème résolu" puisque toutes les applications web ont des comptes utilisateurs, mais je n'ai rien trouvé grâce à la recherche. Existe-t-il des ressources avec des schémas "résolus" pour stocker diverses sortes de données Web?
Je sais que c'est un peu vieux mais je pensais la même chose pour des raisons de sécurité. par exemple, pour empêcher les autres utilisateurs d'accéder à d'autres tables, à l'exception des leurs. –
@SalemF Donc, oui, il y a des problèmes de sécurité potentiels, mais il y a des problèmes de sécurité encore plus grands avec des tables séparées. En d'autres termes, vous ne voulez pas que votre application Web crée des tableaux à la volée. Vous souhaitez uniquement ajouter ou supprimer des données dans la table. Ajouter et créer des tables est un niveau d'autorisation supérieur à l'ajout et à la suppression de lignes. Et vous ne souhaitez pas que votre application Web dispose des autorisations nécessaires pour créer ou supprimer des tables. C'est ainsi que votre base de données entière est supprimée ou copiée par un pirate informatique. Il y a d'autres raisons, mais c'est la raison de sécurité. – araneae
@aranesa vous avez raison, il s'agit du niveau d'autorisation, si les utilisateurs peuvent accéder aux autres, il peut accéder à d'autres tables. mais l'idée était de garder les utilisateurs sur sa propre table seulement et ne fournir aucune permission pour supprimer ou créer de nouvelles tables.l'un ou l'autre des moyens du hacker contrôlant la DB il fera ce qu'il veut –