Dénormalisation physique
La dénormalisation physique s'applique aux objets de la base de données représentés par les tables, les colonnes, les clés et les index.
Lancer une dénormalisation physique
Pour dénormaliser le formalisme physique :
1. Faites un clic droit sur la base de données concernée et sélectionnez Dénormaliser.
Un assistant présente l'ensemble des personnalisations possibles sur les objets de la base de données.
Exemple de dénormalisation physique
Il est possible de faire en sorte qu'une table se divise en deux tables distinctes, soit pour séparer les colonnes dans deux tables (partition verticale), soit pour dupliquer les informations d'une table dans deux autres (partition horizontale).
Prenons l'exemple d'une prise de commande. Cette prise de commande est représentée par une entité au niveau logique, elle donne une table au niveau physique. Supposons que cette prise de commande soit amenée à être gérée différemment au niveau technique selon qu'il s'agisse d'une commande par téléphone ou d'une commande par Internet. On peut intégrer ce changement dans le modèle physique sans être obligé de modifier en parallèle le modèle logique. Pour cela, on va faire en sorte que l'entité représentant la prise d'une commande se divise en deux tables; une table pour les commandes par téléphone, une autre pour les commandes Internet. En intégrant cette modification depuis l'assistant, la partition devient automatique lors de chaque synchronisation, et les deux modèles restent cohérents.
Pour créer une partition horizontale telle que celle décrite ci-dessus :
1. Faites un clic droit sur la base de données "Gestion des commandes" qui contient la table "Commande" et sélectionnez Dénormaliser.
Un assistant apparaît.
2. Sélectionnez la dénormalisation Physique.
3. Cliquez sur Suivant.
4. Dans le champ Sélectionnez le type de dénormalisation, sélectionnez «Partition horizontale d'une table».
5. Cliquez sur Suivant.
6. Dans l'arbre de l'éditeur, sélectionnez la table que vous voulez dupliquer, ici "Commande".
7. Cliquez sur Suivant.
Les options de dénormalisation apparaissent. Par défaut, le report des correspondances et la suppression des objets sources sont activés. Cela signifie que la table "Commande" va être supprimée et que le lien de correspondance avec l'entité "Commande" va être reporté sur les deux tables.
Précisez le nombre de partitions, autrement dit le nombre de tables créées. Par défaut, l'outil en crée deux.
8. Cliquez sur Suivant.
L'éditeur affiche les changements occasionnés par cette dénormalisation. Vous pouvez voir que la table "Commande" va être supprimée et que deux nouvelles tables vont être créées.
9. Validez les résultats en cliquant sur Suivant.
Cette transformation est définitive et sera prise en compte par la prochaine synchronisation.
A la fin de la dénormalisation, vous pouvez voir que les deux nouvelles tables sont désormais en correspondance avec l'entité "Commande".

La dénormalisation s'applique ici au modèle physique. La synchronisation qui prendra en compte cette personnalisation devra donc se faire dans le même sens, autrement dit du modèle logique vers le modèle physique. Elle n'est pas valable dans l'autre sens.
Liste des assistants de dénormalisation physique
Partition verticale d'une table
Cette dénormalisation permet de diviser une table en plusieurs tables. Les tables obtenues se répartissent les colonnes.
Seules les colonnes ne faisant pas partie d'une clé peuvent être réparties entre les tables.
Partition horizontale d'une table
Cette dénormalisation permet de dupliquer une table. Les deux tables obtenues contiennent l'ensemble des colonnes de la table d'origine.
Fusion de tables
Cette dénormalisation permet de fusionner des tables.
Option des clés primaires
Lorsque vous lancez une fusion de tables, une option vous permet de déterminer la clé primaire de la table fusion : vous pouvez sélectionner une des clés primaires des tables sources ou fusionner l'ensemble des clés primaires des tables sources.
Lorsque vous sélectionnez une clé primaire pour la table fusion, seules les clés étrangères qui font référence à cette clé primaire sont reportées. Les clés étrangères faisant référence aux clés primaires qui ne sont pas reportées ne sont pas prises en compte.
Ainsi, dans l'exemple suivant, si vous fusionnez les tables A et B et conservez la clé primaire de la table A, la clé primaire de B disparaît lors de la fusion. La clé étrangère FKab n'est pas non plus reportée puisqu'elle fait référence à la clé primaire de B. Les autres clés étrangères, FKca et FKbd, sont bien reportées dans le diagramme relationnel.
Transformation d'une clé étrangère en table
Cette dénormalisation permet de transformer une clé étrangére en table. Une nouvelle table est créée, ainsi que deux nouvelles clés étrangères. La clé étrangère d'origine est supprimée.
Transformation d'une table en clé étrangère
Cette dénormalisation permet de transformer une table en clé étrangère. La table, ainsi que ses deux clés étrangères sont supprimées, et une nouvelle clé étrangère est créée.
Copier/Coller des colonnes
Cette dénormalisation permet de reporter des colonnes d'une table vers une autre.