A priori et compte tenu du fonctionnement d'un SGBDR, la dénormalisation, c’est-à-dire la redondance de l'information, nuit aux performances. Il y a cependant quelques rares cas ou elle apporte un certain bénéfice. Or il est impossible de mesurer le bénéfice, et surtout la moins value apportée par la nécessaire augmentation
Ne dénormalisez jamais, sauf…
des temps de traitement des mises à jour (INSERT, UPDATE, DELETE) sans avoir éprouvé le modèle avec un volume de données qui représente une masse proche de celle qui sera réellement exploitée. Lisez la discussion que nous avons eue sur Internet à ce sujet34.
Elle est pleine d’enseignement et riche de contradictions. Mais elle converge sur un point : aucune dénormalisation, sans avoir prouvé le bénéficie absolu que l’on peut en tirer ! N’ayez donc aucune crainte : un modèle performant est un modèle parfaitement normalisé. Il n’y a qu’à l’épreuve du temps, et donc à l’augmentation concomitante du volume que l’on pourra déceler les éléments candidats à une dénormalisation, en tester la pertinence et modifier en conséquence le schéma. Mais s’il faut dénormaliser, autant que ce soit avec le maximum de précaution : évitez la redondance dont le calcul s’effectue sur le client.
Choisissez toujours un mécanisme de redondance qui garantisse l’intégrité de la base. En cette matière, le choix est large. Ma préférence, va dans l’ordre aux techniques suivantes : vues indexées, colonnes calculées indexées, procédures stockées remplaçant les requêtes directes (avec une gestion de la sécurité afin d’interdire ces dernières), trigger. Dans certains cas on pourra précalculer des données agrégées par exemple chaque nuit et compléter le résultat si besoin est, avec les seules données du jour à l’heure d’exécution de la requête.
Dans tous les cas, mesurez le gain de temps en lecture. S’il est inférieur à 2, il vaudrait mieux s’abstenir, car les pertes des temps de traitement des mises à jour risquent de devenir pénalisantes. À partir d’un gain de 10, allez-y franco35. Avec un gain de 1000, facile à obtenir avec une bonne vue indexée s’il y des calculs d’agrégats, vous aurez le statut de magicien ! Vous n’êtes pas encore convaincu de l’intérêt d’un modèle solide et bien normalisé ? Vous voulez discuter de la chose ? Alors n’hésitez pas à me joindre par courriel36 à SQLpro@club-internet.fr
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
- Les 6 étapes vers un diagnostic réussi
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Chiffrements symétrique vs asymétrique
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Assises de la Sécurité 2026 : osons remettre l’humain au centre et reprendre les commandes
- Réforme de la facturation électronique 2026 : de la contrainte réglementaire à un véritable enjeu différenciant
- IA : la sécurité se prépare aux accès agentiques
- De l’adoption à la maîtrise : le véritable défi de l’IA en entreprise
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
