Mysql
 sql >> Base de données >  >> RDS >> Mysql

Base de données dans une base de données (conception de table)

Vous voudrez peut-être consulter un modèle de valeur d'attribut d'entité (EAV) concevoir pour vos données alors.

Fondamentalement, vous pouvez avoir une table avec des noms de table et d'autres métadonnées sur les tables.

Ensuite, vous pouvez créer une table pour chacune de ces lignes afin d'avoir les données de la colonne, telles que le type de données et le nom.

Ensuite, vous avez un tableau dans lequel vous mettez les valeurs de chaque colonne, dans un long tableau.

Cela vous permet de créer dynamiquement des tableaux ou d'ajouter/supprimer des lignes dynamiquement.

Pour une comparaison entre relationnel et EAV, vous pouvez regarder cette question :

Base de données de valeur d'attribut d'entité vs . modèle de commerce électronique relationnel strict

Si vous voulez avoir une vue relationnelle de ces données, vous devrez créer des déclencheurs pour aider à maintenir les vues à jour, et cela peut représenter beaucoup de travail pour que cela fonctionne bien. Si vous n'avez pas besoin d'une vue relationnelle, ça devrait aller.

Une autre façon de le faire est d'utiliser une base de données NoSQL (http://en.wikipedia.org/wiki/ NoSQL ), car le schéma n'a pas besoin d'être défini, et vous pouvez donc simplement stocker les colonnes dont vous avez besoin pour cette ligne.

À ce stade, j'opterais pour la méthode NoSQL car il existe de nombreuses bases de données qui peuvent fonctionner et la réinvention que vous devez faire est minime.