Modele denormalisé

Un modèle dénormalisé, d`autre part, permet une récupération rapide, comme le retour d`un grand nombre de colonnes sur un élément spécifique sans avoir à joindre plusieurs tables ensemble. Mais même sans un entrepôt de données impliqué, un modèle dimensionnel pourrait être utile, et son but pourrait compléter celui du modèle Denormalized, comme dans l`exemple suivant: la table statistics_per_year est complètement nouvelle pour notre modèle. Nous devrions le regarder comme une table dénormalisée car toutes ses données peuvent être calculées à partir des autres tables. L`idée derrière ce tableau est de stocker le nombre de tâches, les tâches réussies, les réunions et les appels liés à un client donné. Il gère également la somme totale facturée pour chaque année. Après avoir inséré, mis à jour ou supprimé quoi que ce soit dans les tables des tâches, des réunions, des appels et des product_sold, nous devons recalculer les données de cette table pour ce client et l`année correspondante. Nous pouvons nous attendre à ce que nous ayons surtout des changements pour l`année en cours. Les rapports des années précédentes ne devraient pas avoir besoin de changer. Un modèle dimensionnel utilise la dénormalisation comme une de ses techniques afin d`optimiser la base de données pour:-les performances des requêtes et la compréhension des utilisateurs.

La seule modification de la table Product est l`ajout de l`attribut units_in_stock. Dans un modèle normalisé, nous pourrions calculer ces données en unités commandées – unités vendues – (unités offertes) – unités radiées. Nous répétons le calcul à chaque fois qu`un client demande ce produit, ce qui serait extrêmement long. Au lieu de cela, nous calculerons la valeur à l`avant; Quand un client nous le demande, nous l`aurons prêt. Bien sûr, cela simplifie beaucoup la requête SELECT. En revanche, l`attribut units_in_stock doit être ajusté après chaque insertion, mise à jour ou suppression dans les tables products_on_order, writeoff, product_offered et product_sold. Les modèles dimensionnels et dénormalisés ont des objectifs différents. Les modèles dimensionnels sont généralement utilisés pour les scénarios d`entreposage de données et sont particulièrement utiles lorsque des résultats de requête ultra-rapides sont requis pour les nombres calculés tels que «ventes trimestrielles par région» ou «par vendeur». Les données sont stockées dans le modèle dimensionnel après le précalcul de ces nombres, et mises à jour selon un calendrier fixe. Un modèle de données dénormalisé n`est pas le même qu`un modèle de données qui n`a pas été normalisé et la dénormalisation ne doit avoir lieu qu`après un niveau satisfaisant de normalisation et que toutes les contraintes et/ou règles requises ont été créées pour traiter les anomalies inhérentes à la conception.