@StoneHeart
Je voudrais aller ici avec EAV et MVC.
@Bill Karvin
Voici quelques-uns des inconvénients de
VAE:
No way to make a column mandatory (equivalent of NOT NULL).
No way to use SQL data types to validate entries.
No way to ensure that attribute names are spelled consistently.
No way to put a foreign key on the values of any given attribute, e.g.
pour une table de recherche.
Toutes ces choses que vous avez mentionnées ici:
- la validation des données
- les noms des attributs de l'orthographe de validation
- obligatoire colonnes/champs
- la manipulation de la destruction des attributs dépendants
à mon avis, n'appartiennent pas dans la base de données à tous les car aucun des bases de données est capable de gérer ces interactions et des exigences relatives à un bon niveau comme le langage de programmation de l'application.
À mon avis, à l'aide de la base de données de cette façon, c'est comme utiliser une pierre marteau d'un ongle. Vous pouvez le faire avec une pierre, mais n'est-ce pas supposer pour utiliser le marteau qui est plus précise et plus spécifiquement conçu pour ce genre d'activité ?
Récupérer des résultats dans un classique de tableaux de mise en page est complexe et
cher, parce que pour obtenir les attributs
à partir de plusieurs lignes dont vous avez besoin pour faire ADHÉRER
pour chaque attribut.
Ce problème peut être résolu en faisant quelques requêtes sur des données partielles et de leur transformation en tabulaire avec votre application. Même si vous disposez de 600 GO de données sur les produits, vous pouvez les traiter en lots si vous avez besoin de données à partir de chaque ligne dans cette table.
D'aller plus loin Si vous souhaitez améliorer les performances des requêtes vous pouvez sélectionner certains comme pour, par exemple, de reporting ou de texte global de la recherche et de préparer leur indice de tables qui serait de stocker les données nécessaires et serait régénéré périodiquement, par exemple toutes les 30 minutes.
Vous n'avez même pas besoin d'être préoccupés par le coût de la supplémentaire de stockage de données car il est moins cher et moins cher tous les jours.
Si vous voulez toujours être en rapport avec la performance des opérations effectuées par l'application, vous pouvez toujours utiliser Erlang, C++, Langage Go pour pré-traiter les données pour vous et à plus tard sur gérer les données renvoyées par le code de applications.